whitelistParentDomain および whitelistIframeDomains whitelistparentdomain-and-whitelistiframedomains

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

内容:

構文 section-f645198bbaba4fba8961acb6e88d1470

このコードを使用する際には、どちらの設定要素も必要です。

設定の構文
説明
whitelistParentDomain: "親ページのドメイン名"
文字列として渡される単一のドメイン名を受け入れます。
whitelistIframeDomains: [ "iFrame ドメイン","iFrame ドメイン","iFrame ドメイン" ]
配列として渡される 1 つ以上の iFrame ドメイン名を受け入れます。

コードサンプル section-09d0049fe88a473baa69d404c50bf8ae

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"],
 ...
 }
);

ユースケース section-fc2eeb93546b406fae3b102dbcd11de7

これらの設定は、ブラウザーがサードパーティ Cookie をブロックし、以下のいずれかの条件に該当する場合に発生する、ID サービス Cookie 設定と訪問者 ID 割り当ての問題の解決に役立ちます。

  • 親ページまたはドメインを自社で管理していない。
  • ID サービスコードが親ページにインストールされていないが、iFrame には実装されている。
TIP
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 が生成されます。

設定の安全性とセキュリティ section-2b1ce31fab034e1ca0f6b1c3cc57a6e2

これらの設定は、以下の理由により安全に実装できます。

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

サポートされる訪問者 API メソッド section-30c6a9f4dcdc4265a1149260b97cc057

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

使用例
サポートされるメソッド
例 1
  • getMarketingCloudID
  • getAudienceManagerLocationHint
  • getAudienceManagerBlob
  • getSupplementalDataID
  • getCustomerIDs
例 2
  • getSupplementalDataID
  • getMarketingCloudVisitorID
recommendation-more-help
9c9e8ca9-9f7e-42c9-a5d5-a0d82776362a