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

ブラウザーのシェア 202001-202008
2020年1月~8月までのモバイルブラウザシェア

ということで、まずはITPについて少し復習を。

2017年9月にITP1.0が始まってからの変遷を辿ってみたいと思います。

ITP1.03rd Party Cookieの制限過去を含めてサイト内遷移がない24時間で無効。それ以外は30日後に削除
ITP1.13rd Party Cookieの制限強化過去にサイト内遷移があっても、そのセッションで遷移がなければ24時間で無効
ITP2.03rd Party Cookieの制限強化
1st Party Cookieの制限
トラッカーへのリファラー制限
サイト内遷移なしの場合即削除
4つ以上のドメインからリダイレクトされていると削除
トラッカーと判定された場合、Cookieのリファラ情報削除
ITP2.11st Party Cookieの制限強化JavaScriptを利用する場合、Cookieの最大有効期間が7日
ITP2.21st Party Cookieの制限強化JavaScriptを利用する場合、Cookieの最大有効期間が1日
ITP2.31st Party Cookieの制限強化、localstrageの制限localstrageの情報も1st Party Cookieと同様に制限
サブドメイン間の遷移リファラー情報がダウングレード
ITPの変遷

ということでITP2.1あたりから怪しい雰囲気ですね。広告以外にも波及しているような……。

ITP導入前は、リターゲティング広告をはじめとする広告のユーザーターゲティングには、3rd Party Cookieが使われていました。ユーザーがウェブサーバーにリクエストを送ると、アドサーバーから3rd Party Cookieが発行されるのです。

ITP以前
ITP以前

ITPが導入されると3rd Party Cookieの制限が強化されました。そのため、リンカータグなどを使って、JavaScript処理で3rd Party Cookieを避けながらユーザーターゲティングしてきました。

ITP対応タグでの計測
ITP対応タグでの計測

最新のITPタグでは、JavaScript処理した1st Party Cookieも制限対象になってきました。そのため、DNSサーバーのCNAMEなどを使って、JavaScript処理をせずに、1st Party Cookieを利用するところが出てきました。

CNAMEによる計測
CNAMEによる計測

将来的には、ITPはさらに進化してCNAMEにも制限を加える、というようなこともあり得るかもしれません。

ITPの変遷は、Cookieの利用制限強化の方向です。1st Party Cookieにも制限が加わってくると、Googleアナリティクスなどの計測にも影響が出てきます。例えば、Safariを使ってるユーザーとSafari以外のユーザーではCookieの動き(Cookieの有効期間)が違うので、新規とリピーターの判定が変わってくる、ということです。

そこで、サーバーサイトタグ

そこで、GTMのサーバーサイドタグの登場です。サーバーサイドタグの仕組みを図で見てみると、

GTMサーバーサイドタグ
GTMサーバーサイドタグ

みたいな感じでしょうか。

肝は、Google Cloud Platformを使ってAレコード利用のサブドメイン化をしていることです。

CNAMEに比べてAレコードを使えば、サーバー側のDNSサーバーで指示するので将来、CNAMEを制限されても(理論的には)影響がないのです。

DNSレコード
DNSレコード

ITPの影響でGoogleアナリティクスでの計測に影響が出てきたので、それを回避する方法の一つとして、今回のサーバーサイドタグが登場した、と思っています。

間違いがあったら教えてください。よろしくお願いいたします。