whitelistParentDomain および whitelistIframeDomains whitelistparentdomain-and-whitelistiframedomains
これらの設定を使用すると、iFrameおよび親ページに実装された様々な訪問者ID サービスコードのインスタンスを相互に通信できます。 この機能は、親ページ/ドメインを制御できる場合とできない場合の2つの特定のユースケースで問題を解決するために設計されており、制御するドメインのiFrameに訪問者ID サービスコードが読み込まれています。 これらは、VisitorAPI.js コードバージョン 2.2以降で使用できます。
内容:
構文 section-f645198bbaba4fba8961acb6e88d1470
このコードを使用する際には、どちらの設定要素も必要です。
コードサンプル section-09d0049fe88a473baa69d404c50bf8ae
設定が完了すると、Visitor ID ServiceID サービスコードは次のようになります。
//Instantiate Visitor
var visitor = Visitor.getInstance("INSERT-IMS-ORG-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
これらの設定は、以下の理由により安全に実装できます。
- 親ドメインとiFrame ドメインに実装された訪問者ID サービスでは、同じIMS組織IDを使用する必要があります。 これらのホワイトリスト設定は、親またはiFrameのIMS組織IDが異なる場合は機能しません。
- これらの設定はコードで指定されているドメインおよび iFrame とのみ通信をおこないます。
- iFrame と親ページの間の通信は、特定のフォーマットに従います。 親ページの訪問者ID サービスが、想定される形式のリクエストを受け取らない場合、この共有プロセスは失敗します。
サポートされる訪問者 API メソッド section-30c6a9f4dcdc4265a1149260b97cc057
訪問者ID サービスは、これらのホワイトリスト設定を実装する際に、特定のパブリック API メソッドをサポートします。 サポートされるメソッドは、上記の使用例シナリオによって異なります。
- getMarketingCloudID
- getAudienceManagerLocationHint
- getAudienceManagerBlob
- getSupplementalDataID
- getCustomerIDs
- getSupplementalDataID
- getMarketingCloudVisitorID