cookieless-alternatives について
サードパーティ Cookie 廃止後の広告測定・ターゲティング手法を整理するスキルです。マーケティング、広告、分析の担当者向けに、Privacy Sandbox API と Cookie を使わないサーバーサイド分析を、プライバシー特性や技術要件、本番利用の準備状況から比較します。
主な機能
- 01Topics、Attribution Reporting、Protected Audiences API の比較
- 02Shared Storage の制限付き出力方法の説明
- 03Cookie を使わないサーバーサイド分析の整理
- 04プライバシー、ブラウザー対応、本番準備状況の比較
活用シーン
- 01広告ターゲティングの代替策の評価
- 02クロスサイト追跡を使わないコンバージョン測定の計画
- 03Cookie を使わないウェブ分析手法の選定
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ mukul975/ privacy-data-protection-skills --skill cookieless-alternativesインストール後、Claude Code で/cookieless-alternativesを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
assets/template.mdreferences/standards.mdworkflows.mdscripts/process.py詳細
Cookie を使わないトラッキングの代替手段
概要
ブラウザーによるサードパーティ Cookie の廃止と、ファーストパーティ Cookie に対する同意に基づく制限の強化により、広告業界と分析業界は、代替となる測定方法とターゲティング方法へと移行しています。2019 年に開始され、2024~2026 年にかけて段階的に開発が進められた Google の Privacy Sandbox イニシアチブは、クロスサイトトラッキングの機能をプライバシーを保護する代替手段に置き換えるために設計された、一連のブラウザー API を提供します。ブラウザー上のソリューションに加え、サーバーサイド分析と確率的測定手法も別の選択肢となります。このスキルでは、各代替手段のプライバシー特性、技術要件、本番環境での利用準備状況を評価します。
Privacy Sandbox API
Topics API
目的: クロスサイトトラッキングを行わずに、興味・関心に基づく広告を配信します。
仕組み:
- Chrome は、ユーザーの閲覧アクティビティ(トップレベルページへの訪問)をデバイス上でローカルに観察します
- ブラウザーは毎週、訪問したサイトを約 470 の広告関連カテゴリからなる分類体系のトピックに分類します
- 広告テクノロジー企業がパブリッシャーのサイトで Topics API を呼び出すと、ブラウザーは最大 3 件のトピック(過去 3 週間から各 1 件)を返します
- トピックは 5% のランダムノイズを加えて選択されます(真のトピックの代わりにランダムなトピックが返されます)
- 呼び出し元が受け取れるのは、別のサイトで呼び出し元がユーザーの関心を観察したことのあるトピックだけです
Topics の分類体系の例:
| トピック ID | カテゴリ | レベル |
|---|---|---|
| 1 | 芸術・エンターテインメント | 1 |
| 57 | 芸術・エンターテインメント / 映画 | 2 |
| 86 | ビジネス・産業 / E コマース | 2 |
| 243 | ショッピング / アパレル | 2 |
| 332 | スポーツ / チームスポーツ / フットボール | 3 |
Pinnacle E-Commerce Ltd での実装:
// Check if Topics API is available
if ('browsingTopics' in document) {
// Observe: register this page visit for topic classification
// The fetch call with {browsingTopics: true} both observes and retrieves
const response = await fetch('https://ads.pinnacle-ecommerce.com/topics', {
browsingTopics: true
});
const topics = await response.json();
// topics = [{ topic: 86, version: "chrome.2:2:1", configVersion: "chrome.2", taxonomyVersion: "2", modelVersion: "1" }]
}
プライバシー特性:
- クロスサイト識別子は共有されません
- トピックは大まかな分類です(詳細な興味・関心ではなく、470 のカテゴリ)
- 5% のノイズにより、決定的なプロファイリングを防ぎます
- ユーザーは Chrome の設定で自分のトピックを確認して削除できます
- サイトは
Permissions-Policy: browsing-topics=()でオプトアウトできます
制限事項:
- Chrome のみ(Safari、Firefox は非対応)
- Cookie ベースのオーディエンスと比較して、ターゲティングが大まかです
- 広告テクノロジーエコシステムの対応状況によって導入が左右されます
Attribution Reporting API
目的: クロスサイトトラッキングを行わずに広告のコンバージョンを測定します。
2 つのモード:
| モード | レポートの種類 | データ | ノイズ | 遅延 |
|---|---|---|---|---|
| イベントレベル | コンバージョンごと | ソース:64 ビット ID、トリガー:クリックでは 3 ビット(8 値)、ビューでは 1 ビット | あり(トリガーデータにノイズを適用) | 2 日(クリック)、1 日(ビュー) |
| 集計可能 | 集計サマリー | ソースとトリガーをヒストグラムのバケットにまとめる | 加法的なラプラスノイズ | 10~60 分(バッチ処理) |
イベントレベルのアトリビューションの流れ:
1. User clicks ad on publisher.com
→ Browser stores: source_event_id=12345, destination=pinnacle-ecommerce.com
2. User converts on pinnacle-ecommerce.com
→ Browser matches: trigger_data=2 (e.g., "purchase")
3. After 2-day delay, browser sends report:
{
"source_event_id": "12345",
"trigger_data": "2",
"source_type": "navigation",
"randomized_trigger_rate": 0.0024
}
→ Sent to reporting origin (ads.pinnacle-ecommerce.com)
集計可能なアトリビューションの流れ:
1. Ad impression/click registered with source keys
2. Conversion triggers aggregation keys
3. Browser generates encrypted aggregatable report
4. Reports sent to aggregation service (Trusted Execution Environment)
5. Aggregation service applies differential privacy noise
6. Summary report returned: { "campaign_A_purchases": 1247 ± 23 }
Pinnacle E-Commerce Ltd での実装:
ソースの登録(広告クリック時):
<a href="https://www.pinnacle-ecommerce.com/product/widget-pro"
attributionsrc="https://ads.pinnacle-ecommerce.com/register-source">
Buy Widget Pro
</a>
ソース登録のレスポンスヘッダー:
Attribution-Reporting-Register-Source: {
"destination": "https://www.pinnacle-ecommerce.com",
"source_event_id": "12345678",
"expiry": "604800",
"aggregation_keys": {
"campaignCounts": "0x159",
"geoValue": "0x5"
}
}
トリガーの登録(コンバージョン時):
<img src="https://ads.pinnacle-ecommerce.com/register-trigger" attributionsrc>
トリガー登録のレスポンスヘッダー:
Attribution-Reporting-Register-Trigger: {
"event_trigger_data": [
{ "trigger_data": "2", "priority": "100" }
],
"aggregatable_trigger_data": [
{ "key_piece": "0x400", "source_keys": ["campaignCounts"] }
],
"aggregatable_values": { "campaignCounts": 32768 }
}
Protected Audiences API(旧称 FLEDGE)
目的: サードパーティ Cookie を使わずに、リマーケティングとカスタムオーディエンスのターゲティングを行います。
仕組み:
- 広告主は、自社サイト上の JavaScript を介してユーザーをインタレストグループに追加します
- インタレストグループのデータ(広告クリエイティブの URL、入札ロジック)はブラウザー内にローカル保存されます
- パブリッシャーの広告枠でオークションが行われると、ブラウザーがデバイス上で入札を実行します
- 落札した広告はフェンス付きフレーム(パブリッシャーのページから隔離された領域)に表示されます
- クロスサイトデータはブラウザーの外部に送信されず、オークションはローカルで行われます
インタレストグループへの参加(pinnacle-ecommerce.com 上):
navigator.joinAdInterestGroup({
name: "widget-pro-viewers",
owner: "https://ads.pinnacle-ecommerce.com",
biddingLogicUrl: "https://ads.pinnacle-ecommerce.com/bidding.js",
ads: [
{
renderUrl: "https://ads.pinnacle-ecommerce.com/ads/widget-pro-retarget.html",
metadata: { "product": "widget-pro", "discount": "10%" }
}
],
userBiddingSignals: { "viewed_product": "widget-pro", "visit_count": 3 },
trustedBiddingSignalsUrl: "https://ads.pinnacle-ecommerce.com/signals",
trustedBiddingSignalsKeys: ["widget-pro-bid"],
dailyUpdateUrl: "https://ads.pinnacle-ecommerce.com/update-ig",
lifetimeMs: 2592000000 // 30 days
}, 2592000000);
プライバシー上の特性:
- ユーザープロファイルデータがデバイスの外部に送信されることはありません
- オークションは広告サーバーではなく、ブラウザーで実行されます
- フェンス付きフレームにより、パブリッシャーへの情報漏えいを防止します
- 広告クリエイティブには K-匿名性の要件があります(十分な数のユーザーに表示される必要があります)
- ユーザーは Chrome の設定でインタレストグループを確認し、離脱できます
Shared Storage API
目的: 出力ゲートを制限したクロスサイトデータアクセスを実現します。
複数のサイトから共通のストレージパーティションにデータを書き込めますが、読み取りはプライバシーを保護する次の出力ゲートに制限されます。
- Select URL(事前定義されたリストから選択)
- Private Aggregation(集計ヒストグラムにデータを寄与)
- Fenced Frames(データを漏えいさせずにコンテンツを表示)
Pinnacle E-Commerce Ltd のユースケース: クロスサイトでのフリークエンシーキャップ — クロスサイト Cookie を使わずに、ユーザーが広告を見た回数をカウントします。
// On publisher site, inside shared storage worklet
class FrequencyCapOperation {
async run(data) {
const count = await this.sharedStorage.get('pinnacle-widget-pro-views') || 0;
if (count >= 3) {
// User has seen this ad 3 times — show fallback
return 1; // Index of fallback URL
}
await this.sharedStorage.set('pinnacle-widget-pro-views', count + 1);
return 0; // Index of ad URL
}
}
サーバーサイド分析の代替手段
Cookie を使わないサーバーサイド測定
| ソリューション | Cookie | PII の収集 | ホスティング | 同意の要否 |
|---|---|---|---|---|
| サーバーログ分析 | なし | IP アドレス(匿名化) | セルフホスト | なし(運用上必要) |
| Plausible Analytics | なし | PII なし | EU クラウドまたはセルフホスト | 法域によって異なる |
| Fathom Analytics | なし | PII なし | カナダ/EU でのホスティング | 法域によって異なる |
| Umami | なし(任意) | PII なし | セルフホスト | 法域によって異なる |
| Matomo(Cookie を使わないモード) | なし | フィンガープリントハッシュ(セッションのみ) | セルフホスト | 現地の DPA に確認 |
Pinnacle E-Commerce Ltd 向け Plausible Analytics の設定
<script defer data-domain="pinnacle-ecommerce.com"
src="https://plausible.io/js/script.js"></script>
Plausible が収集するデータ(ページビューごと):
- ページ URL(パスのみ)
- リファラー(ドメインのみ)
- ブラウザー(User-Agent から判定)
- オペレーティングシステム
- デバイスの種類(デスクトップ/モバイル/タブレット)
- 国(IP から取得し、IP は直ちに破棄)
Plausible が収集しないデータ:
- Cookie
- 永続的な識別子
- IP アドレス(日ごとのユニーク数カウント用にハッシュ化し、ハッシュは毎日ローテーション)
- セッションをまたいだトラッキング
- 個人データ
比較表
| 機能 | サードパーティ Cookie | Topics API | Attribution Reporting | Protected Audiences | サーバーサイド分析 |
|---|---|---|---|---|---|
| 興味・関心に基づくターゲティング | 詳細な粒度 | 約470のトピック | なし | リターゲティングのみ | なし |
| コンバージョン測定 | 決定論的 | なし | あり(ノイズ/遅延あり) | 限定的 | サーバーサイドのみ |
| クロスサイトトラッキング | あり | なし | なし | なし | なし |
| Safari で動作 | なし(ブロック) | なし | なし | なし | あり |
| Firefox で動作 | なし(ブロック) | なし | なし | なし | あり |
| 同意の要否 | 必要 | 要件が変化中 | 要件が変化中 | 要件が変化中 | 設定による |
| 本番環境で利用可能 | レガシー | あり(Chrome) | あり(Chrome) | あり(Chrome) | あり |
主な法的・技術的参考資料
- Google Privacy Sandbox Documentation — Topics API、Attribution Reporting、Protected Audiences の仕様
- W3C Private Advertising Technology Community Group — プライバシーを保護する広告技術の標準策定
- ePrivacy Directive 2002/58/EC, Article 5(3) — 同意要件の法的根拠。一部の代替手段には例外が適用される場合があります
- GDPR Recital 47 — アナリティクスにおける正当な利益に関する考慮事項
- UK ICO Guidance on Analytics Cookies (2019, updated 2023) — PECR に基づき、アナリティクス Cookie には同意が必要です
- CNIL Topics API Analysis (2023) — Privacy Sandbox の提案に対するフランスのデータ保護機関による評価
- CMA (UK Competition and Markets Authority) Privacy Sandbox Commitments — Privacy Sandbox の開発に関する Google のコミットメント
- IAB Tech Lab Privacy Sandbox Task Force — Privacy Sandbox API の業界評価