whitelistParentDomain および whitelistIframeDomains whitelistparentdomain-and-whitelistiframedomains
これらの設定を使用すると、iFrame と親ページに実装されている ID サービスコードのインスタンスが互いに通信できるようになります。これらの設定は、自社が管理しているドメインの iFrame に ID サービスコードを読み込む場合の 2 つの具体的な使用例(親ページまたはドメインを制御できる場合とできない場合)に関わる問題の解決に役立つように設計されています。これらは、VisitorAPI.js コードバージョン 2.2 以降で利用できます。
内容:
構文 section-f645198bbaba4fba8961acb6e88d1470
このコードを使用する際には、どちらの設定要素も必要です。
コードサンプル 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 には実装されている。
使用例 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 メソッドは限定されています。サポートされるメソッドは、上記の使用例シナリオによって異なります。
- getMarketingCloudID
- getAudienceManagerLocationHint
- getAudienceManagerBlob
- getSupplementalDataID
- getCustomerIDs
- getSupplementalDataID
- getMarketingCloudVisitorID