10 分

プライバシーに関する規制が強化され、サードパーティ Cookie が廃止される中、Adobe Analytics は、CNAME トラッキングやファーストパーティデバイス ID(FPID)などのプライバシーを最優先したソリューションを提供し、データの正確性とコンプライアンスを維持しています。この記事では、ユーザーの同意を尊重しながら、これらの戦略を同意管理プラットフォームとともに使用して、優れたデジタルエクスペリエンスを提供する方法について説明します。

Web 分析において、ユーザーの行動を把握するために Cookie は不可欠です。Adobe Analytics では、訪問者の特定、セッションのトラッキング、ページビュー数、クリック数、コンバージョン数などのアクションの測定に役立ち、より詳しいインサイト、パフォーマンスの向上、効果の高いマーケティングが可能になります。

しかし、プライバシーに対する懸念の高まりやブラウザーの制限により、Cookie の使用は制限され、特にサードパーティ Cookie は使用が制限され、ファーストパーティ Cookie の有効期間も短縮されています。こうした変更により、従来のトラッキングに課題が生じ、戦略の転換を余儀なくされました。

これに適応するために、多くのチームは CNAME ベースの実装とファーストパーティデバイス ID (FPID)を使用して、ユーザープライバシーを尊重しながら強力なトラッキングを維持しています。

この記事では、ブラウザーのプライバシー変更が Adobe Analytics に与える影響について解説し、トラッキング方法を比較し、さらに CNAME や FPID などのプライバシー優先のソリューションの実装方法について紹介します。

ブラウザーのプライバシー制限の進化

主要なブラウザーベンダーは、サードパーティ Cookie を制限し、さらにはファーストパーティ Cookie の機能も制限するために、プライバシーに焦点を当てたアップデートを実装しています。重要な変更点は次のとおりです。

  1. Safari(ITP): サードパーティ Cookie をブロックし、ファーストパーティ Cookie の有効期限を 7 日以内に制限するインテリジェントトラッキング防止(ITP)が導入されました。
  2. Firefox(ETP): 強化型トラッキング防止(ETP)は、デフォルトでサードパーティ Cookie をブロックし、クロスサイトトラッキングを防ぎます。
  3. Chrome(プライバシーサンドボックス): FLoC(現在は Topics API)や保護されたオーディエンスのターゲット設定などの代替手段により、サードパーティ Cookie を段階的に廃止することを目指しています。
  4. Edge(トラッキング防止): 既定でサードパーティ Cookie およびトラッカーをブロックし、プライバシーレベル(基本、バランス、厳重)によって様々なレベルの保護が提供されます。

主要なブラウザーによるプライバシーとトラッキング保護設定の比較

以下は、主要なブラウザーが長年にわたって実施してきた、プライバシーに関する主な変更点を視覚的にまとめたものです。

主要なブラウザーによるプライバシー関連の主な変更点

ブラウザーの変更が Adobe Analytics に与える影響

プライバシーシフトに対応したトラッキングアプローチの進化

サードパーティ Cookie およびファーストパーティ Cookie に対するブラウザーの制限が増えるにつれ、Adobe Analytics の実装も、データ継続性を維持し、ユーザープライバシーを保護するために適応する必要があります。これらの変更により、訪問者データの断片化、セッションの中断、アトリビューションの妨げとなるおそれがあります。

このような事態に対処するために、次のようなプライバシーに配慮したトラッキング戦略が登場しました。

これらのアプローチはデータ品質を向上させますが、GDPR や CCPA などの規制に準拠するにはユーザーの同意が必要となり、同意管理プラットフォーム(CMP)の統合が不可欠となります。

次の節では、CNAME や FPID などの手法を有効にしながら、ユーザーの環境設定に従って CMP を Adobe Web SDK と統合する方法について説明します。

同意管理を Adobe Analytics に統合(Web SDK ベースの実装)

GDPR、CCPA、ePrivacy などの最新のプライバシー法では、Cookie の設定や ID のトラッキングを実行する前にユーザーの同意が必要です。Web SDK、CNAME、FPID のいずれかを使用した Adobe Analytics の実装では、その同意に基づいてデータ収集を制御する必要があります。

この節では、Web SDK を介して同意管理プラットフォーム(CMP)を Adobe Analytics と統合し、プライバシーファーストとコンプライアンスを維持する方法について説明します。

Adobe Analytics で同意が重要な理由

CMP 統合の手順

  1. Web SDK より先に CMP を読み込む
    トラッキングを開始する前に同意が認識されるように、Web SDK より先に CMP (例:OneTrust、TrustArc)を読み込みます。

  2. Web SDK 拡張機能で同意を設定する
    Adobe タグ(Adobe Experience Platform Launch)で、次のように設定します。

    • デフォルトの同意状態を 保留中 に設定して、トラッキングを一時停止します。

    • データ要素を使用して、CMP から同意信号を読み取り、Web SDK に渡します。

公式ガイド「Platform Web SDK 拡張機能を使用して、同意管理プラットフォーム(CMP)からの同意を実装」では、ビルトインの同意処理またはサードパーティの CMP との統合のいずれかを使用して、Adobe タグ内で同意を設定するための手順について説明しています。

setConsent() コマンドで同意を適用する

ユーザーが CMP を介してトラッキングを受け入れたら、次の Web SDK コマンドをトリガーして同意ステータスを適用します。

alloy("setConsent", {

consent: [{

standard: "Adobe",

version: "2.0",

value: {

collect: {

val: "y"

}

}

}]

});

これにより、トラッキングが有効になり、FPID 値と ECID 値を初期化できます。

同意が得られるまですべてのトラッキングを延期する

Adobe タグのルールを設定して、次のことを行います。

同意管理拡張機能(選択した CMP プロバイダーに基づく)を使用すると、Experience Platform Launch でこの設定を簡略化できます。

Web SDK と CMP を介して Adobe Analytics に同意が適切に統合されたら、次のステップはプライバシーファーストのトラッキングの実装です。次の節では、コンプライアンスとデータの精度を維持しながら、ブラウザーのプライバシーの変更に合わせて CNAME ベースのトラッキングと FPID を設定する方法について説明します。

1.CNAME ベースの分析実装

CNAME ベースの分析実装により、Adobe Analytics サーバーを直接使用せずに、ドメインを経由してトラッキング呼び出しをルーティングできます。このアプローチにより、Cookie がドメイン(例:smetrics.yourdomain.com)の下に書き込まれるので、ブラウザーベースのトラッキング防止メカニズムによってトラッキング呼び出しがブロックされる可能性が低くなります。

この手法は、AppMeasurement.jsAEP WebSDK の両方でサポートされています。

CNAME ベースのトラッキングのメリット
CNAME トラッキングを実装するための大まかな手順

手順 1:ファーストパーティドメインと SSL 証明書を設定する

    • ファーストパーティドメインリクエストフォーム(アドビの管理による証明書プログラムドキュメントの実装の節からダウンロードできます)に、使用するドメインをリストで入力します。次の形式を使用できます。smetrics.[yourdomain]:安全なトラッキング用。metrics.[yourdomain] 安全でないトラッキング用。
    • これらのドメインの SSL 証明書を取得します。

手順 2:サブドメインを作成する

    • IS/IT またはホスティングチームと協力して、必要なサブドメイン(smetrics.yourdomain.com および metrics.yourdomain.com)を作成します。

手順 3:アドビにサポートリクエストを送信する

    • Adobe Admin Console からチケットを開きます。
    • 手順 1. で作成したドメインリクエストフォームを共有します

手順 4:アドビから SSL CNAME の詳細を受信する

    • アドビサーバーにデータを転送するために必要な CNAME レコードの詳細が、アドビから提供されます(例:random-10-character-string.data.adobedc.net)。

この CNAME 情報でドメインネームサーバー(DNS)を更新します。

手順 5:ホスト名のリダイレクトを検証する

    • 次を使用して CNAME 設定を検証します。
      • ブラウザー: https://smetrics.yourdomain.com/_check
      • cURL: curl -k https://smetrics.yourdomain.com/_check
      • nslookup: nslookup smetrics.yourdomain.com

手順 6:Adobe Analytics 実装を更新する

    • AppMeasurement.js の場合:Adobe Analytics 拡張機能の s.trackingServer および s.trackingSecureServer を更新します。

    • AEP WebSDK の場合:Adobe Experience Platform Web SDK 拡張機能の 「Edge ドメイン」フィールドを更新します。

手順 7:移行期間をリクエストする

    • 移行期間(30 日/60 日/90 日)を有効にするには、アドビサポートにお問い合わせください。
    • これにより、既存の訪問者識別 Cookie は、新しい CNAME ベースの実装への移行中に、同じ訪問者 ID を取得できます。

2.ファーストパーティデバイス ID(FPID)

ファーストパーティデバイス ID(FPID)は、サードパーティ Cookie に依存することなく、訪問者の識別、データ収集およびデータ管理のための強力なメカニズムを提供します。  Adobe Experience Platform(AEP) WebSDK は、AdobeのEdge Networkと統合することにより、これを可能にし、将来にわたって有効な、プライバシーに準拠したファーストパーティトラッキングを提供します。

この節では、Flask アプリの例を使用して FPID を設定するプロセス(DNS 設定、Adobe WebSDK 統合、データ収集のための Adobe Experience Platform Launch の設定など)について説明します。

デモの設定

この実装のテストドメインを設定しました。この環境で、ファーストパーティデバイス ID(FPID)と Adobe Experience Platform Web SDK の設定を示すことができます。

アーキテクチャ

DNS 設定

FPID ベースのトラッキングを実装するには、web サーバーまたはロードバランサーを指す A/AAAA レコードを使用するようにドメインの DNS レコードを更新します。

DNS レコードと web サーバー/ロードバランサー IP に関する以下のスクリーンショットを参照してください。

DNS レコード

Web サーバーロードバランサー IP

注意すべき重要なポイントは次のとおりです。

FPID を生成するための Flask アプリケーションの設定

FPID は、CNAME や JavaScript ではなく、DNS A (IPv4)または AAAA (IPv6)レコードを持つサーバーを介して最適に設定されたファーストパーティ Cookie を使用します。設定が完了すると、FPID がイベントデータとしてアドビに送信され、Adobe Experience Cloud の主な識別子である ECID が生成されます。

UUIDv4 を使用して FPID を生成する Python Flask アプリケーションのサンプルを次に示します。

GitHub:https://github.com/appuriabhi/fpid_flaskapp/

from flask import Flask, render_template, request, make_response
from datetime import datetime, timedelta
import uuid

app = Flask(__name__)

@app.before_request
def before_request():
    cookie_name = ‘FPID’
    cookie_value = request.cookies.get(cookie_name)

    if not cookie_value:
        cookie_value = str(uuid.uuid4())
        expires = datetime.now() + timedelta(days=30*13)
        response = make_response()
        response.set_cookie(cookie_name, cookie_value,
                            expires=expires, secure=False, samesite=’Lax’)
        return response

#routes below
@app.route(‘/’)
def home():
    response = make_response(render_template(‘home.html’))
    return response

@app.route(‘/about’)
def about():
    response = make_response(render_template(‘about.html’))
    return response

if __name__ == ‘__main__’:
    app.run(debug=True)

Platform Edge Network は、UUIDv4 形式の ID のみを受け入れ、その他の形式は拒否されます。UUIDv4 は、繰り返される可能性が非常に低く、IP アドレスなどの個人情報を使用できない、一意のランダムな ID を作成します。

ほぼすべてのプログラミング言語で UUID を生成するためのライブラリがあります。上記の例では、Python パッケージ「uuid」を使用して識別子を生成しました。

FPID Cookie 値(uuid)を使用して Experience Cloud ID 値をシードするように Web SDK 実装を更新する方法は 2 つあります。以下に例を示します。

1.identityMap で FPID を使用する

XDM IdentityMap を更新して、以下の形式で「FPID」値を設定し、/interact トラッキング呼び出しに含めます。

{
  "identityMap": {
    "FPID": [
      {
        "id": "321a7654-b12c-42d3-9456-426614174123,"
        "authenticatedState": "ambiguous,"
        "primary": true
      }
    ]
  }
}

Adobe Experience Platform Launch の XDM IdentityMap データ要素

2.データストリームの CookieName を更新する

Cookie の値を読み取って IdentityMap で設定するのではなく、データストリーム UI で FPID Cookie 名を指定します。

FPID のデータストリームの設定

ネットワーク呼び出しでの FPID の検証

ブラウザーの「ネットワーク」タブで /interact トラッキング呼び出しを確認し、以下のスクリーンショットでハイライト表示されているように、FPID がペイロードに含まれていることを確認できます。

ネットワークトラッキング呼び出し「/interact」を検証

Analytics レポートの検証

FPID Cookie 値は訪問者のブラウザーでは永続的なので、訪問全体で同じ Experience Cloud ID(ECID)をシードできます。

Analytics レポートの検証

結論とベストプラクティス

進化を続ける今日のデジタル環境では、プライバシーを重視した戦略を Adobe Analytics に組み込んで Cookie を管理することが非常に重要です。ブラウザーのプライバシー制限が厳しくなり、ユーザーはデータをより詳細に制御する必要があるので、これらの変更に適応することは、正確な分析を維持し、ユーザープライバシーを尊重するために不可欠です。

参照