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 には実装されている。
ヒント

iFrame でビデオハートビートを使用してビデオを提供している場合も、これらの設定を実装することが推奨されます。ビデオハートビートを正しく動作させるには 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

このページ