サーバーサイドGoogle Tag Manager(sGTM):CookieをSafariのITPから守る
Safari ITPがJavaScriptのCookieの有効期間を最短24時間に縮める仕組みと、自社クラウド上のsGTMで正規のSet-Cookieヘッダーを発行するエンジニアリング構成を解説します。
運用シナリオ: 販売サイクルが7日を超える企業は、SafariやWebKitベースのブラウザでキャンペーンのアトリビューションを失います。見込みの高い購入者が、ダイレクトトラフィックとして記録されてしまいます。
技術的な根本原因: WebKitのIntelligent Tracking Prevention(ITP)は、document.cookieでブラウザに書き込まれたCookieを7日後に破棄します。リンクにfbclidやgclidなどのクリックパラメータが付いている場合は、24時間後です。
エンジニアリング指針: 自社クラウド上のsGTMを、企業と同じルートドメイン(例: dados.empresa.com.br)で運用します。CookieはHTTPのSet-Cookieヘッダーで書き込み、HttpOnlyとSecureのディレクティブを付けます。
Safari ITPとWebKitが、長い販売サイクルのアトリビューションを制限する仕組み
WebKitは、iOS、iPadOS、macOSの各エコシステムでSafariブラウザを動かすエンジンで、Intelligent Tracking Prevention(ITP)を実装しています。この技術は、消費者のプライバシー保護を明確な目的として設計されましたが、デジタルマーケティングの計測エンジニアリングに深刻な課題をもたらしました。
ITPは、JavaScriptの呼び出し(document.cookie)でブラウザに書き込まれたCookieに、厳しい制限をかけます。
- 標準の7日間の上限: クライアント側のJavaScriptで作られた永続Cookieは、有効期間が最大7日に短縮されます。
- 24時間への大幅な短縮: ユーザーがトラッキング用のクエリパラメータ(
fbclid、gclid、ttclid、msclkidなど)を含むリンクからサイトにアクセスし、かつ参照元のドメインがWebKitにクロスサイトのトラッカーと分類されている場合、Cookieの有効期間はわずか24時間になります。
付加価値の高い商品、大学院の講座、法人向けのB2Bサービス、不動産を扱う運用では、意思決定の過程が同じ日に完了することはまれです。リードが最初のクリックから10日後に購入に戻ってきたとき、元のCookieはすでに消えています。分析システムは取引をダイレクトトラフィックに帰属させ、広告キャンペーンの本当の効果を覆い隠します。
自社クラウドのサーバーサイドGTMによる解決
このブロックに対するデータエンジニアリングの答えは、Cookieを書き込む処理を、ユーザーのブラウザからアプリケーションのサーバーに移すことです。この基盤を実現するのが、サーバーサイドGoogle Tag Manager(sGTM)です。
サーバーのコンテナを、企業サイトと同じルートドメイン配下のサブドメインで構成すると(たとえば、empresa.com.brのサイトに対してcoletor.empresa.com.br)、正真正銘のファーストパーティの関係(First-Party Context)が成立します。
HTTPプロトコルによる発行の仕組み:
document.cookieを呼び出すローカルのスクリプトを実行する代わりに、ブラウザのタグがsGTMのサブドメインにネットワークのpingを送ります。サーバーはリクエストを処理し、HTTPのSet-Cookieヘッダーで応答します。ブラウザの標準では、ファーストパーティのネットワーク応答で渡されたCookieは、ITPによる強制的な短縮を受けません。
ファーストパーティSet-Cookieヘッダーの技術的な構成
以下は、セッションとコンバージョンの識別子を守るために、サーバーに設定するネットワークヘッダーの例です。
HTTP/2 200 OK
Content-Type: application/json
Set-Cookie: _fbp=fb.1.1726752000.987654321; Domain=.empresa.com.br; Path=/; Max-Age=31536000; Secure; HttpOnly; SameSite=Lax
Set-Cookie: _ga=GA1.1.849201928.1726752000; Domain=.empresa.com.br; Path=/; Max-Age=31536000; Secure; SameSite=Lax
Set-Cookie: _rand_uid=usr_c918f0a2; Domain=.empresa.com.br; Path=/; Max-Age=63072000; Secure; HttpOnly; SameSite=Strict
適用している各セキュリティディレクティブを見ていきます。
Domain=.empresa.com.br:ブランドのすべてのサブドメイン(ストア、チェックアウト、ブログ)で識別子を使えるようにします。Max-Age=31536000:1年間の永続的な有効期間を設定し、営業の育成サイクル全体を追跡できるようにします。Secure:TLS/HTTPSによる暗号化された通信に限定します。HttpOnly:サードパーティの悪意あるスクリプトが、JavaScriptでCookieの値にアクセスすることを防ぎ、情報セキュリティのガイドラインへの適合度を高めます。SameSite=Lax:正当なナビゲーションでは識別子の送信を保ちつつ、CSRF(Cross-Site Request Forgery)攻撃からユーザーを守ります。
DNSの委任:CNAMEと専用のA/AAAAレコード
WebKitはITPを更新し、CNAMEレコードを検査するようになりました(CNAME Cloakingとして知られる手法への対策です)。サブドメインdados.empresa.com.brが、CNAMEで無関係の外部サービスを指している場合、Safariは予防的な制限を適用することがあります。
大規模運用に対するエンジニアリング上の推奨は、専用のIPアドレスを持つロードバランサー(AレコードとAAAAレコード)を用意し、Google Cloud PlatformまたはAWSのインスタンスを直接指すようにして、ネットワークブロックの所有を自社の基盤に置くことです。
従来型のクライアントサイド計測
- Cookieはdocument.cookieで作成される
- Safariでは保持期間が最大24時間から7日
- DNSアドブロッカーや拡張機能に頻繁にブロックされる
- 長いサイクルでアトリビューションが歪む
専用のサーバーサイド基盤(sGTM)
- CookieはHTTPのSet-Cookieヘッダーで発行される
- 最大1年から2年まで継続して保持できる
- ネットワークトラフィックが従来型のブロッカーから見えない
- 広告オークションへのアトリビューションを欠損なく戻せる
sGTMとITP対策に関するよくある質問
sGTMは、ブラウザの従来のGTMに置き換わるものですか?
sGTMはWebコンテナと連携して動作します。ブラウザのコンテナがユーザーのイベントを収集し、単一のデータフローをサーバーに送ります。サーバーはその情報を、Meta、Google Analytics、Google広告、CRMに配信します。
Google Cloud PlatformでsGTMをホスティングするコストはどのくらいですか?
トラフィックが中程度から多い運用では、Cloud Runの3インスタンスによる高可用性の構成で、運用コストは通常、月40ドルから120ドルです。月商10万ブラジルレアル(BRL)を超える予算では、メディア効率を守れる効果によって、この金額は十分に回収できます。
このアーキテクチャは、LGPD(ブラジル個人情報保護法)に準拠していますか?
sGTMは、法令順守の水準を高めます。すべてのデータがまず自社のサーバーを経由してからサードパーティのプラットフォームに渡るため、機微なデータの無害化、IPの匿名化、外部への送信前のユーザー同意の尊重が可能です。
自社のデータを、SafariのITPから守りたいとお考えですか?
Random Marketingの技術チームが、広告プラットフォームと連携した高可用性のsGTMコンテナを実装します。
Random Marketingに自社の支援を依頼する ↗