Show Menu
TOPICS×

whitelistParentDomain および whitelistIframeDomains

これらの設定を使用すると、iFrame と親ページに実装されている ID サービスコードのインスタンスが互いに通信できるようになります。これらの設定は、自社が管理しているドメインの iFrame に ID サービスコードを読み込む場合の 2 つの具体的な使用例(親ページまたはドメインを制御できる場合とできない場合)に関わる問題の解決に役立つように設計されています。これらは、VisitorAPI.js コードバージョン 2.2 以降で利用できます。
内容:

構文

このコードを使用する際には、どちらの設定要素も必要です。
設定の構文
説明
whitelistParentDomain: "
親ページのドメイン名
"
文字列として渡される単一のドメイン名を受け入れます。
whitelistIframeDomains: [
"iFrame ドメイン","iFrame ドメイン","iFrame ドメイン"
]
配列として渡される 1 つ以上の iFrame ドメイン名を受け入れます。

コードサンプル

設定が完了すると、ID サービスコードはこの例のようになります。
//Instantiate Visitor var visitor = Visitor.getInstance("Insert Experience Cloud Organization ID here",{ ... //Add parent page domain name and iFrame domain names whitelistParentDomain: "parentpageA.com", whitelistIframeDomains: ["iFrameDomain1.com","iFrameDomain2.com"], ... } );

使用例

これらの設定は、ブラウザーがサードパーティ Cookie をブロックし、以下のいずれかの条件に該当する場合に発生する、ID サービス Cookie 設定と訪問者 ID 割り当ての問題の解決に役立ちます。
  • 親ページまたはドメインを自社で管理していない。
  • ID サービスコードが親ページにインストールされていないが、iFrame には実装されている。
You may also want to implement these configurations when you're serving video in an iFrame with Video Heartbeat . ビデオハートビートを正しく動作させるには ID サービスの ID(MID)が必要です。
使用例 1:ブラウザーがサードパーティ Cookie をブロックし、ID サービスが iFrame および親ページに実装されている
使用例の要素
説明
条件
この使用例には以下の条件が含まれます。
  • A 社が自社のホームページに ID サービスを実装する。
  • A 社が自社のホームページの iFrame の ID サービスを実装する。
  • A 社が親ページおよび iFrame を所有し、両方に ID サービスを実装済みである。
  • 顧客がサードパーティ Cookie をブロックするブラウザーで親ページを読み込む。
結果
これらの条件に当てはまる場合、ID サービスの動作は以下のようになります。
  • 親ページでは正しく動作します。AMCV Cookie を要求して設定し、サイト訪問者に一意の ID を割り当てます。
  • iFrame では動作しません。これは、ブラウザーが iFrame をサードパーティドメインとみなして、ID サービスによる AMCV Cookie の設定を禁止するためです。
ソリューション
これらのホワイトリスト設定を使用して、iFrame の ID サービス
Visitor.getInstance
関数を変更します。コードの親ドメインおよび子ドメインを指定します。これらの設定により、iFrame の ID サービスコードが親ページの ID サービスコードをチェックして訪問者 ID を確認できるようになります。
iFrame の ID サービスコードが親ページの応答を受信しない場合、これらの設定によってローカルの訪問者 ID が生成されます。
ユースケース 2:自社で管理していない iFrame、または ID サービスを使用していない親ページに埋め込まれた iFrame から ID をリクエストする
使用例の要素
説明
条件
この使用例には以下の条件が含まれます。
  • A 社は ID サービスを利用しない。
  • A 社がページ上の iFrame を読み込む。この iFrame は B 社が所有し、A 社とは別のドメインで読み込まれる。
  • ブラウザーはサードパーティ Cookie をブロックする。
結果
これらの条件に当てはまる場合、ID サービスの動作は以下のようになります。
  • iFrame では動作しません。これは、ブラウザーが iFrame をサードパーティドメインとみなして、ID サービスによる AMCV Cookie の設定を禁止するためです。
  • A 社はこのサービスを利用していないので、親ページから訪問者 ID を取得できません。
ソリューション
これらのホワイトリスト設定を使用して、iFrame の ID サービス
Visitor.getInstance
関数を変更します。コードの親ドメインおよび子ドメインを指定します。これらの設定により、iFrame の ID サービスコードが親ページの ID サービスコードをチェックして訪問者 ID を確認できるようになります。
iFrame の ID サービスコードが親ページの応答を受信しない場合、これらの設定によってローカルの訪問者 ID が生成されます。

設定の安全性とセキュリティ

これらの設定は、以下の理由により安全に実装できます。
  • ID サービスは親ドメインに実装され、iFrame ドメインは同じ組織 ID を使用する必要があります。親または iFrame の組織 ID が異なる場合、これらのホワイトリスト設定は無効です。
  • これらの設定はコードで指定されているドメインおよび iFrame とのみ通信をおこないます。
  • iFrame と親ページの間の通信は、特定のフォーマットに従います。親ページの ID サービスが想定されているフォーマットでリクエストを受信しない場合、この共有プロセスは失敗します。

サポートされる訪問者 API メソッド

これらのホワイトリスト設定を実装する際に ID サービスでサポートされる公開 API メソッドは限定されています。サポートされるメソッドは、上記の使用例シナリオによって異なります。
使用例
サポートされるメソッド
例 1
  • getMarketingCloudID
  • getAudienceManagerLocationHint
  • getAudienceManagerBlob
  • getSupplementalDataID
  • getCustomerIDs
例 2
  • getSupplementalDataID
  • getMarketingCloudVisitorID