sGTMとファーストパーティCookieの違い
サーバーサイドGoogle Tag Manager(sGTM)とファーストパーティCookie(1st Cookie)を調査しているときの覚書。
Claude Opus 5と対話しながら作成。
1.Cookie発行元とアーキテクチャ
まず前提として、この2つは並べて比較するものではない。
- 1st Cookie … Cookieがどのドメインで発行されているかという属性
- sGTM … 計測処理がどこで実行されるかというアーキテクチャ
2.JavaScriptが書いたCookieかどうか
GA4が発行するCookieは、通常のgtag.js設置でもすでにファーストパーティCookie。
document.cookie で自サイトのドメインに書き込んでいるので、サードパーティCookieではない。
にもかかわらず計測が途切れるのは、Safariのトラッキング防止機能(ITP: Intelligent Tracking Prevention)の仕様による。
トラッキング防止機能が見ているのはドメインではなく発行方法
|
Cookieの発行方法 |
Safariでの有効期限 |
|
JavaScript(document.cookie) |
最大7日(クロスサイト遷移の場合は24時間) |
|
HTTPレスポンスヘッダ(Set-Cookie) |
最大400日 |
つまり判定基準は「ファーストパーティかどうか」ではなく「JavaScriptが書いたかどうか」。
3.sGTMで何が変わるのか
sGTM(サーバーサイドGoogle Tag Manager)は、これまでブラウザ上のJavaScriptでCookieに書き込んでいたのをHTTPレスポンスヘッダの Set-Cookieへ変更する仕組み。
参考: Google Tag Manager - Server-side | Google for Developers
4. Safariのトラッキング防止機能の変遷
トラッキング防止機能はウェブ広告側の抜け道を防ぐよう改良されてきた。
- 2017年9月 — サードパーティCookieの制限が始まる。ファーストパーティは無傷
- 2018年9月 — 猶予が撤廃されサードパーティCookieは即遮断
- 2019年2月 — JavaScript発行のCookieが最大7日に。ファーストパーティが規制対象へ
- 2019年5月 — 広告クリック経由なら1日に短縮
- 2020年3月 — サードパーティCookie全面ブロック
- 2020年11月 — CNAME経由なら Set-Cookie も7日
- 2023年4月 — IPアドレスが本体サイトと不一致なら Set-Cookie も7日。Cloud Run上のsGTMが該当
- 2023年9月 — Cookie以外にも規制が拡大。広告経由の流入かどうかを示すURLの目印が消され、設定次第では計測タグそのものが動かなくなる
判定基準が「どのドメインか」→「どの方法で発行したか」→「本当に自前のインフラか」と移ってきた。