概要
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>
_gaq
2 番目のイベントは、前のイベントのラベルと値でプッシュされます。
このようなケースをどのように処理しますか?
疑問に思っている人のために、特定の時点で同じイベントで異なるタグを起動できるようにする必要があるため、この「動的」ソリューションが必要ですが、dataLayer がそのように永続的であると、ルールが台無しになります。
編集 1: ルーチンのテスト
これが私がこれをテストする方法です。
- Google アナリティクス デバッガーを Chrome にインストールしました
- GTM をデバッグ モードで使用しています
- サイトが読み込まれたら、コンソールで説明から最初の dataLayer プッシュを行います
- GA デバッグ出力から、GA イベントが 4 つの値で起動されていることがわかります
- コンソールから 2 回目のプッシュを行います
- GA デバッグの出力は、GA イベントが新しいカテゴリとアクションで起動されることを示していますが、以前にプッシュされたラベルと値を使用しています
それが私が話す持続性です。gaCustomEvent
これを回避するために、gaCustomEventWithLabel
、などのさまざまなイベント タイプを思いつきgaCustomEventWithOption
、それらのそれぞれにルールとタグを付けることができました。それはばかげている、同意しませんか?