データレイヤー

データレイヤーの名前を変更する

デフォルトでは、グローバル サイトタグに設定されるデータレイヤーには dataLayer という名前が付けられます。別の名前を使用するには:

  • グローバル サイトタグ スニペット内の「dataLayer」のすべてのインスタンスを新しい名前に更新します。
  • URL に l という名前のクエリ パラメータを追加し、新しいデータレイヤー名を設定します。
<!-- Global site tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=GA_MEASUREMENT_ID&l=gDataLayer"></script>
<script>
  window.gDataLayer = window.gDataLayer || [];
  function gtag(){gDataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'GA_MEASUREMENT_ID');
</script>

カスタム データレイヤー メソッド

データレイヤーに関数をプッシュすると、this に設定された抽象データモデルが呼び出されます。この抽象データモデルは、Key-Value ストアに値を get および set でき、データレイヤーをリセットする方法も提供します。

Get

抽象データモデルの get 関数を使用することで、set された値を取得できます。

window.dataLayer.push(function() {
  const existingTime = this.get('time');
  if (existingTime !== null) {
    // Change behavior based on whether or not this value exists...
  } else {
    // ...
  }
})

Set

抽象データモデルの set 関数を使用することで、get を介して取得される値を設定できます。

window.dataLayer.push(function() {
  this.set('time', new Date());
})

Reset

抽象データモデルの reset 関数を使用することで、データレイヤーのデータをリセットできます。これは、データレイヤーのサイズが時間の経過とともに増加し続ける、長期間使用されるページで最も役立ちます。データレイヤーをリセットするには、次のコードを使用します。

window.dataLayer.push(function() {
  this.reset();
})