0

Googleタグマネージャを使用し、dataLayerで拡張eコマーストラッキングを実装しています。すべてがうまくいきます。ただし、インプレッションをトラッキングするCTA(行動を促すフレーズ)を追加しています(複数のバージョンがあります)。このCTAは部分的にレンダリングされるため、dataLayerが構築されている時点ではまだ存在しません。dataLayerが既に設定され、GTM.jsスクリプトが実行された後、拡張eコマースにプッシュ

ga('ec:addImpression', { 
    // impression data 
}); 

しかしgaはそのシナリオで定義されていないとして、これは、GTMでは動作しません:手動経由印象を追跡することができますようにまっすぐGoogleアナリティクスで

は、それが見えます。 GTM拡張eコマースのドキュメントによれば、唯一の他の「オプション」は、ページビューに基づいてGTMコントロールパネルでインプレッションを手動でトラッキングすることです。また、インプレッションデータが必ずしも同じではないため、これは実現不可能です。

少しの調査の後、私は押し込みを遅らせるのに3番目の「オプション」を見つけましたdataLayer。たとえば、GTMで火災が発生した場合は、特定のイベントに関連付けてから、そのイベントを後で送信することができます。私は、この部分的にdataLayerを変更してもらうことにしました。ただし、レンダリングされた後もイベントが送信されていないことを確認している限りです。しかし、それは厄介でエラーが発生しやすいだけでなく、拡張されたEコマーストラッキングコードの残りの部分を大幅に変更する必要があります。

GTMを使用してまっすぐなGAでできるだけの印象を送る方法はありませんか?

答えて

1

私はこの問題を理解しているとは確信していません(しかし、とにかく行く)。これを行う方法は、新しいデータをデータレイヤーにプッシュし、カスタムイベント、すなわちカスタム値を持つデータレイヤー内のキーワード「イベント」を持つことです。あなたは、あなたがプッシュしている値で、「カスタムイベント」タイプのトリガーを使用することができます。

dataLayer.push({ 
    "event":"mycustomevent", 
    "impressionData": myData 
}) 

Specifications for EEC dataLayer are hereを。この例では、EECが有効になっているGAイベントを送信し、このインプレッションデータ変数からEECデータを読み込みます。

あなたは原理的にそれを理解したようですが、これは何とか悪いと思えるようです。いいえ、それはGoogleによって推奨される方法ではありません。

dataLayerはオブジェクトの配列で、pushメソッドを使用して新しいデータを追加できます。これはネイティブのプッシュメソッドではなく、Googleによるカスタム実装です。追加されたオブジェクトの「イベント」キーが見つかると、ページ上のdataLayer変数のデータをGTMの内部データモデルに追加し、そこでタグ内で使用できます。

正しく理解すれば、すべてのデータレイヤーを一度に構築する必要があると思われるような問題が発生する可能性があります。しかし、それを複数の部分に分割し、必要に応じてdataLayer.pushを使用して新しいデータを追加することは、まったく問題ありません。

関連する問題