whitelistParentDomain および whitelistIframeDomains whitelistparentdomain-and-whitelistiframedomains

これらの設定を使用すると、iFrameおよび親ページに実装された様々な訪問者ID サービスコードのインスタンスを相互に通信できます。 この機能は、親ページ/ドメインを制御できる場合とできない場合の2つの特定のユースケースで問題を解決するために設計されており、制御するドメインのiFrameに訪問者ID サービスコードが読み込まれています。 これらは、VisitorAPI.js コードバージョン 2.2以降で使用できます。

内容:

構文 section-f645198bbaba4fba8961acb6e88d1470

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

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

コードサンプル 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に実装されます。
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

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

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

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

訪問者ID サービスは、これらのホワイトリスト設定を実装する際に、特定のパブリック API メソッドをサポートします。 サポートされるメソッドは、上記の使用例シナリオによって異なります。

使用例
サポートされるメソッド
例 1
  • getMarketingCloudID
  • getAudienceManagerLocationHint
  • getAudienceManagerBlob
  • getSupplementalDataID
  • getCustomerIDs
例 2
  • getSupplementalDataID
  • getMarketingCloudVisitorID
recommendation-more-help
id-service-help