0

私たちは、最初はdataLayerに変数を含むオブジェクトをプッシュ:dataLayer変数を更新するにはどうすればよいですか?

dataLayer.push({ 
    'environment': { 
     'userName': 'abc', 
     'id': 123, 
     'clicks': 0 
    } 
}); 

我々は今、すべてのユーザーが行うクリックしてenvironment.clicksの値を増やすことをお勧めします。 どうすればいいですか?

dataLayer.push({ 
    'environment': { 
     'clicks': 123 
    } 
}); 

dataLayer配列にはエントリが10.000件あります。どのように変数を正しく更新するのですか?

+0

これは「google-datalayer」とタグ付けされていて「googleタグマネージャー」ではなく、興味深いです。それは意図的なのでしょうか? GTMがなければ、データレイヤーは単にjavascript配列であり、特別な魔法はGTMによって既存のJSメソッドの新しいメソッドや変更で追加されます。 GTMを使用している場合は、適切なタグを追加する方がよい場合があります。 –

答えて

1

datalayer変数を更新する方法は、「ネイティブ」GTMイベントが発生したとき、またはカスタムイベントの横に変数をプッシュすることです。だから、基本的には正しいです。

DLが多くのエントリを取得する可能性があることについて心配していますが、dataLayerはどの場合でもクリックごとに新しいエントリを取得します(GTMはそれ自体を追加します)ので、変数の追加エントリはそれほど重要ではありません。

これを避けたい場合は、グローバルなJavascript変数を更新してGTMで使用することができます。 Googleタグマネージャでは、ページ上のすべての変数にアクセスできます(データレイヤー内のすべてのクリックイベントは引き続き発生します)。

dataLayerにはsetメソッドもあります。このメソッドを使用すると、Datalayerに直接書き込むことができます。これは、探しているものです。 GTMインスタンスを取得し、値を設定する必要があります。

var gtm = window.google_tag_manager[{{Container ID}}]; 
    gtm.dataLayer.set('balloonsPopped', undefined); 

詳細は次のとおりです。こちらはLunametrics articleです。カスタムHTMLタグでこれを使用して、clickイベントがタグを起動する前にクリック数を更新することができます。

また、dataLayerはページの読み込み時にリセットされます。 1件のページビューで10000回のクリックを収集するには、1ページのアプリが必要です。

これはGoogleアナリティクスのタグです。 GAのクリック数をトラッキングする場合は、GAセッションが500回のクリック後に終了することを覚えておいてください。結果は期待どおりにならない可能性があります(無料のバージョンは1ヶ月に10Mのヒットのみです。 Googleアナリティクスのクリック数をトラッキングするには、イベントや何かがクリックをトラッキングする必要があります。そのため、イベントの数は基本的にはあなたが探しているメトリックです。カスタムメトリックを作成してGAコールの「1」(すべてのコールで1ずつ増えます)。

関連する問題