0

ページの html を変更せずにスクリプトを追加するためだけに、Web ページに GTM コンテナーを配置したいと考えています (アクセスできなくなります)。

1)現在、GTM コードを の後に配置し、GTM アカウントにタグを作成し (タグ タイプ = GA)、GA アカウントの UA-XXXXXX-Y を追加しました。

2)次に、GTM で作成したタグのタイプを変更しようとしました。カスタム HTML タイプを選択し、GA から提供されたコードを (正しい UA で) 配置しました。

<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-XXXXX-Y']);
_gaq.push(['_setDomainName', 'example.com']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>

それも仕事です、私はGAインターフェースからの訪問を見ます

3) GA から提供されたコードを変更したい、特に trackPageview に param を追加したい (サーバー変数を使用して、ここに私の問題があります...)

したがって、2) で使用したコードを変更して、以下を追加するだけです。

_gaq.push(['_trackPageview', '/Page1/$!{VAR}/Page2/$']);

そしてそれはうまくいきません。

私は何か間違ったことをしましたか?マクロを使用する必要がありますか?

ありがとう

4

1 に答える 1

1

サーバー側の変数は GTM では機能しません (別のサーバーから JavaScript を介してコードが挿入されるため)。

データ レイヤー (GTM タグの直前の body タグの開始後に挿入される JSON 変数) を作成します。

<script>
dataLayer = [{    
    'myVar': '{VALUE INSERTED BY SERVER }'

}];
</script>

GTM で myVar にマクロとしてアクセスできるようになりました ( "{{myVar}}" ):

_gaq.push(['_trackPageview', '{{myVar}}']);

これは、GTM の GA タグ テンプレートでも機能します (仮想 URL を挿入するオプションがあり、そこでマクロを使用できます)。

于 2013-01-17T08:07:26.180 に答える