4

概要

Google タグ マネージャーの dataLayer は、特に AJAX を多用するサイトでは、時間の経過とともに値で詰まり、ルールとタグが複雑になりすぎます。


質問

トラッキングの多いサイトに GTM を実装しており、次の問題に対する明確な解決策を探しています。例として Google アナリティクスを取り上げます。

イベント追跡用に 4 つのマクロを設定して使用できます。

  • カテゴリ {{ga イベント カテゴリ}}
  • アクション {{ga イベント アクション}}
  • ラベル {{ga イベント ラベル}}
  • 値 {{ga イベント値}}

値とラベルはオプションですが、dataLayer は永続的ですね。では、次のシナリオをどのように処理すればよいでしょうか。

dataLayer.push({
  'event':'gaEvent', 
  'gaEventCategory':'my-category', 
  'gaEventAction':'my-action',
  'gaEventLabel':'my-label',
  'gaEventValue':'my-value'
});

しかし、後で同じページで別のイベントを追跡する必要がありますが、ラベルと値のないものです。

dataLayer.push({
  'event':'gaEvent', 
  'gaEventCategory':'another-category', 
  'gaEventAction':'another-action',
});

「Event is gaEvent」のようなルールを設定し、その上で次のような「Google アナリティクス」タグを起動するとします (ここでは、組み込みのタグではなく HTML タグを使用します)。

<script type="text/javascript">
  _gaq.push(['_trackEvent', '{{ga event category}}', '{{ga event action}}', '{{ga event label}}',  {{ga event value}}]);
</script>

_gaq2 番目のイベントは、前のイベントのラベルと値でプッシュされます。

このようなケースをどのように処理しますか?

疑問に思っている人のために、特定の時点で同じイベントで異なるタグを起動できるようにする必要があるため、この「動的」ソリューションが必要ですが、dataLayer がそのように永続的であると、ルールが台無しになります。

編集 1: ルーチンのテスト

これが私がこれをテストする方法です。

  • Google アナリティクス デバッガーを Chrome にインストールしました
  • GTM をデバッグ モードで使用しています
  • サイトが読み込まれたら、コンソールで説明から最初の dataLayer プッシュを行います
  • GA デバッグ出力から、GA イベントが 4 つの値で起動されていることがわかります
  • コンソールから 2 回目のプッシュを行います
  • GA デバッグの出力は、GA イベントが新しいカテゴリとアクションで起動されることを示していますが、以前にプッシュされたラベルと値を使用しています

それが私が話す持続性です。gaCustomEventこれを回避するために、gaCustomEventWithLabel、などのさまざまなイベント タイプを思いつきgaCustomEventWithOption、それらのそれぞれにルールとタグを付けることができました。それはばかげている、同意しませんか?

4

3 に答える 3

0

それぞれdataLayer.push()がきめ細かく独立しており、一致する配信ルールでタグをトリガーします。2 番目のイベントに最初のイベントから dataLayer 変数を継承させたい場合は、おそらく GTM ではなくアプリケーションで処理するのが最適です。

もう 1 つのオプションは、2 回目のプッシュで別のイベント名を使用し、dataLayer 変数のデフォルトにマクロを使用することです。複数の起動ルールをリッスンするように GA イベント トラッキング タグを設定できます。これは any であるため、どちらでも がトリガーされ_gaq.push()ます。

于 2013-11-08T10:00:04.507 に答える
0

問題は、カスタム HTML タグとルールで _gaq.push を使用することにあると思います{{event}} equals gaEvent

<script type="text/javascript">
_gaq.push(['_trackEvent', '{{ga event category}}', '{{ga event action}}', '{{ga event label}}',  {{ga event value}}]);
</script>

そのため、dataLayer.push を実行すると、ルールが起動され、カスタム HTML タグが _gaq.push トラッカーを GA に送信します。2 番目の dataLayer.push を実行すると、ルールが再び実行されますが、ラベルにも値にも値がないことがわかります。その dataLayer.push のラベルと値の両方に以前の値が使用されています。

私がすることはこれです:

events という新しいマクロを設定します。これは、トラッキング タイプがイベントの Google アナリティクス タグです。次に、イベント トラッキング パラメータのマクロを挿入し、現在 gaEvent に使用しているルールにタグを設定します ( {{event}} equals gaEvent)。

ここに画像の説明を入力

このようにイベントを処理することで、イベントを GA に送信する GTM の方法を使用することになり、ラベルや値などの追加情報を送信することを防ぐことができます。

于 2013-09-25T17:23:27.650 に答える