「GTMで計測を設定する際、どのような時にdataLayerは使うべきでしょうか?」
このようなご質問をいただきました。
なんとなく必要そうだけど、どのような設定の時に使うべきかいまいち判断できない方も多いのではないでしょうか。クリックトリガーやページURLだけでイベント計測できる場合は、dataLayerが必要ない場合もあります。
GTM設定を行う際には dataLayerを使わなくてもよいケース、使うべきケースを判断することが重要です。
わかりそうでわからない、いまさら聞けない…ちょっとしたことをコラム化してみました。
dataLayerとは?簡単におさらい
dataLayerとは、サイト側のデータをGTMへ渡すための仕組みです。
サイト側のデータを一時的に保存し、GTMに受け渡すための「箱」のようなものとイメージすると理解しやすいかもしれません。
dataLayerは、JavaScriptでデータを追加することで利用されます。例えば、次のように設定すると、商品購入時のデータをGTMへ送ることができます。
<script>
// dataLayerがあれば使い、なければ新しいdataLayerを作る
window.dataLayer = window.dataLayer || [];
// dataLayerにデータを追加
dataLayer.push({
event: "purchase", // …イベント名
product_id: "item_001", // …商品ID
product_name: "Tシャツ", // …商品名
value: 5000 // …金額
});
</script>

このようにdataLayerを利用すると、サイト側の情報をGTMで取得し、タグの発火やイベント計測に利用できます。
※dataLayerの仕組みや実装方法については、別記事「Googleタグマネージャ基礎 初心者でもわかるデータレイヤー」で弊社春山が詳しく解説していますので是非ご一読ください。
dataLayerを使うかどうかの判断ポイント
【ポイント1】クリックやURLだけで判断できる→dataLayer不要
まず、クリックトリガーやページURLだけでイベントを判別できるかを確認します。
- ダウンロードボタン
- リンククリック
- ページが表示されたことさえ分かれば良い
このような場合は、dataLayerを使わなくてもGTMのトリガーだけで計測できることが多いです。
【ポイント2】HTMLから情報が取得できる→dataLayer不要(ただし必要に応じてdataLayerを検討)
GTMでは、ページ内のHTMLから情報を取得することもできます。
- ページタイトル
- 商品名
- ボタンテキスト
などはDOM要素から取得できる場合があります。
ただし、DOM構造に依存すると、サイトのHTMLが変更された場合に取得できなくなる可能性があります。
例えば、サイトリニューアルやHTML構造の変更によって対象要素が変わると、今まで取得していたデータが取れなくなり、GTMの設定も影響を受け、最悪計測が出来なくなることがあります。
一時的なキャンペーンのページなどは、dataLayerを使わなくてもよいと思いますが、長期間にわたり計測が必要なページは、dataLayerの利用を検討するとよいでしょう。
【ポイント3】サイト内部データが必要か→dataLayer必要
サイト側で保持している情報を計測したい場合は、dataLayerの利用が必要です。
- 購入完了ページ(注文ID、商品IDなど)
- 会員ID
- ログインステータス
これらの情報はクリックやDOM取得では対応できないことも多く、サイト側からdataLayerを使ってGTMへデータを渡す方法がよく使われます。
【ポイント4】動的サイトかどうか→dataLayer必要
SPA(Single Page Application) サイトでは、ページ遷移が発生しません。つまり、ページが切り替わったことが判断できないため、dataLayerを使用する必要があります。
- URL
- ページビュー
では、イベントを判別できないことがあります。
そのため、SPAサイトでは dataLayerを使ってイベントを送る方法が利用されることがあります。
まとめ
- クリックやURLで判別できる場合は、dataLayerは不要
- HTMLの情報から取得できる場合も、dataLayerは不要(ただし必要に応じてdataLayerを検討)
- サイト内部のデータが必要な場合は、dataLayerが必要
- SPAなどの動的サイトでは、dataLayerが必要
このように、まずはGTMの標準の機能やDOM取得で対応できないかを確認し、それでも難しい場合にdataLayerを使うと考えると分かりやすいでしょう。
dataLayerはとても便利な仕組みですが、必ずしもすべてのケースで必要になるわけではありません。取得したいデータの内容やサイトの構造に応じて、使い分けていくことが大切です。
また、dataLayerはサイト側での実装が必要になるため、開発側との調整が発生することが多いです。そのため、やみくもに実装するのではなく本当に必要なデータを精査したうえで設置していくことが重要です。
本コラムが皆さまの問題解決の手助けになれば幸いです。




