GTM導入のキャッチアップ
目的
業務で、アナリティクスや広告のタグなどいろんなタグをソースコードに直で埋め込んでいるのを、GTMを導入して切り替えていくことになったのでGTMのキャッチアップや、切替時の懸念点などを書いていきます。
参考
GTM公式
FerretのGTMとGA連携解説
GTMの導入方法
シンプルで下記のように設置する。
公式のドキュメントを見ると若干表記が違っているが、どちらも開始タグの直後で問題無さそう🤔
<head>
開始タグの一番近いところに設置
<!-- Google Tag Manager -->
<script>(function(w,d,s,l,i){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'&l='+l:'';j.async=true;j.src=
'https://www.googletagmanager.com/gtm.js?id='+i+dl;f.parentNode.insertBefore(j,f);
})(window,document,'script','dataLayer','XXXX');</script>
<!-- End Google Tag Manager -->
<body>
開始タグタグの直後に設置
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://www.googletagmanager.com/ns.html?id=XXXX"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
どちらもXXXX
部分をコンテナIDに置き換える
アカウント => 企業
コンテナ => GTMを設置するサイト
1つの会社が2サイト運営していたとしたら
Aアカウントの中に
- Aコンテナ
- Bコンテナ
を作成するイメージ
コンテナの中にワークスペースというものがある。
考え方としては、Gitのブランチみたいなもの。
複数人で編集がするケースになった場合、それぞれのワークスペース(メインブランチから切って作業するイメージ)で編集をし保存すると、稼働しているGTMに反映してくれる(マージするイメージ)。
コンフリクトするかどうかなども確認してくれるみたい。
余談
GTMのアカウントを作成・運用していく場合に会社の個人アカウント(admin等)ではなく、
google マーケティングプラットフォームから組織を作成して、管理するほうが良さそう。
組織は会社を表し、ユーザー、通知、アカウントのほか、 アナリティクスのアカウントやサービス全体に関する設定の管理に使用できます。詳細
https://support.google.com/marketingplatform/answer/9013751?hl=ja&authuser=2
GTMを環境で切り替える
Google Analyticsや他のタグでは本番用や検証用など環境を分けてアカウントなり、プロパティなりを作成していたけど、
GTMではGTMのタグを環境別に作るだけで、GAや他のタグを出し分けすることができる。
GAではPRDとSTGで別々に出したり、GAdではPRDだけ出したりみたいな。
ウェブコンテナ + サーバーコンテナ
通常はウェブコンテナだけで使うが、使用するタグが増えてくると、それぞれのタグが各種分析サーバーへデータ送信する。
それをサーバーコンテナというものを使うことで、トラッキングの情報をサーバーコンテナへ送信1度送信し、サーバーコンテナから各種分析サーバーへデータを送信する。そうすることで以下のようなメリットがあるようだ
- Webサイト側での処理の軽量化
- 送信データに対するより複雑な処理の実施
- 処理やデータの隠蔽
- 通信データの通信前最終チェックを一元化できる環境づくり
デメリット
- 計測のロスト率上昇のリスク
- ビジネスサイトの本番環境での利用は有料
- 前述のメリットの享受は設定難易度が高い
データレイヤー
ユニバーサルアナリティクスのEコマーストランザクション情報を送信する実装をGTM上でする場合は、アプリケーション上からGTMへ必要なデータを渡す必要がある。
それを実現させるためにはデータレイヤーというものを使う