GTMのサーバーサイドタグとITP
最近、GTM(Google Tag Manager)のサーバーサイドタグについてのお問い合わせが来るようになりました。いろいろ調べたので備忘録です。
GTMは、対象サイトの全ページのHTML内にJavaScriptのタグを記述してタグの管理を行うツールです。GTMを使うと、タグの一元管理ができたり、Googleアナリティクスでのイベント計測が簡単にできたり、広告のタグ管理ができたりします。タグを使った作業のハードルが一気に下がるので、よく使います。
前述の通り、GTMはHTML内に記述するものでした。が、このたび、サーバーで動くサーバーサイドタグが公開されたのです(β版ではありますが……)。
ITPとは
これは、AppleのITPへの対応が大きな要因になっていると思われます。まずはITPについてまとめてみましょう。
ITPは、Intelligent Tracking Previsionの略で、AppleがSafariに搭載しているトラッキング防止機能です。インターネット広告のターゲティングなどからユーザーのプライバシーを守る、という意図があります。つまり、Safari以外のブラウザならとりあえず関係がないといえます。しかし、モバイルにおけるSafariのブラウザシェアは約60%あり、無視できる数字ではありません。
(ブラウザシェア:https://gs.statcounter.com/browser-market-share/mobile/japan/#monthly-202001-202008)
ということで、まずはITPについて少し復習を。
2017年9月にITP1.0が始まってからの変遷を辿ってみたいと思います。
ITP1.0 | 3rd Party Cookieの制限 | 過去を含めてサイト内遷移がない24時間で無効。それ以外は30日後に削除 |
ITP1.1 | 3rd Party Cookieの制限強化 | 過去にサイト内遷移があっても、そのセッションで遷移がなければ24時間で無効 |
ITP2.0 | 3rd Party Cookieの制限強化 1st Party Cookieの制限 トラッカーへのリファラー制限 | サイト内遷移なしの場合即削除 4つ以上のドメインからリダイレクトされていると削除 トラッカーと判定された場合、Cookieのリファラ情報削除 |
ITP2.1 | 1st Party Cookieの制限強化 | JavaScriptを利用する場合、Cookieの最大有効期間が7日 |
ITP2.2 | 1st Party Cookieの制限強化 | JavaScriptを利用する場合、Cookieの最大有効期間が1日 |
ITP2.3 | 1st Party Cookieの制限強化、localstrageの制限 | localstrageの情報も1st Party Cookieと同様に制限 サブドメイン間の遷移リファラー情報がダウングレード |
ということでITP2.1あたりから怪しい雰囲気ですね。広告以外にも波及しているような……。
ITP導入前は、リターゲティング広告をはじめとする広告のユーザーターゲティングには、3rd Party Cookieが使われていました。ユーザーがウェブサーバーにリクエストを送ると、アドサーバーから3rd Party Cookieが発行されるのです。
ITPが導入されると3rd Party Cookieの制限が強化されました。そのため、リンカータグなどを使って、JavaScript処理で3rd Party Cookieを避けながらユーザーターゲティングしてきました。
最新のITPタグでは、JavaScript処理した1st Party Cookieも制限対象になってきました。そのため、DNSサーバーのCNAMEなどを使って、JavaScript処理をせずに、1st Party Cookieを利用するところが出てきました。
将来的には、ITPはさらに進化してCNAMEにも制限を加える、というようなこともあり得るかもしれません。
ITPの変遷は、Cookieの利用制限強化の方向です。1st Party Cookieにも制限が加わってくると、Googleアナリティクスなどの計測にも影響が出てきます。例えば、Safariを使ってるユーザーとSafari以外のユーザーではCookieの動き(Cookieの有効期間)が違うので、新規とリピーターの判定が変わってくる、ということです。
そこで、サーバーサイトタグ
そこで、GTMのサーバーサイドタグの登場です。サーバーサイドタグの仕組みを図で見てみると、
みたいな感じでしょうか。
肝は、Google Cloud Platformを使ってAレコード利用のサブドメイン化をしていることです。
CNAMEに比べてAレコードを使えば、サーバー側のDNSサーバーで指示するので将来、CNAMEを制限されても(理論的には)影響がないのです。
ITPの影響でGoogleアナリティクスでの計測に影響が出てきたので、それを回避する方法の一つとして、今回のサーバーサイドタグが登場した、と思っています。
間違いがあったら教えてください。よろしくお願いいたします。