サードパーティ ID (thirdPartyId)

組織が ID を使用して訪問者を識別する場合は、thirdPartyID を使用してコンテンツを配信できます。 thirdPartyID は、Web、モバイル、IoT チャネルのいずれかからビジネスとやり取りするかに関係なく、エンドユーザーを識別するためにビジネスで使用される永続的な ID です。 つまり、thirdPartyId は、チャネルをまたいで利用できるユーザープロファイルデータを参照します。 ただし、行う Adobe Target Delivery API 呼び出しごとに thirdPartyID を指定する必要があります。

次の呼び出し例では、thirdPartyId の使用方法を示しています。

const TargetClient = require("@adobe/target-nodejs-sdk");

const CONFIG = {
  client: "acmeclient",
  organizationId: "1234567890@AdobeOrg"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
  request: {
    id: {
      thirdPartyId: "B234A029348"
    },
    execute: {
      mboxes: [{
        name: "some-mbox"
      }]
    }
  }
})
.then(console.log)
.catch(console.error);
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

VisitorId id = new VisitorId()
  .thirdPartyId("B234A029348");
Context context = new Context().channel(ChannelType.WEB);
MboxRequest mbox = new MboxRequest()
  .name("some-mbox")
  .index(0);
ExecuteRequest executeRequest = new ExecuteRequest()
  .mboxes(Arrays.asList(mbox));

TargetDeliveryRequest request = TargetDeliveryRequest.builder()
  .context(context)
  .execute(executeRequest)
  .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);

このシナリオでは、元の呼び出し Adobe Target 渡されなかったので、tntId が生成され、指定された thirdPartyId にマッピングされます。

Marketing Cloud訪問者 ID (marketingCloudVisitorId)

marketingCloudVisitorId は、Adobe Experience Cloudのすべてのソリューションをまたいで訪問者を特定する、普遍的で永続的な ID です。 ID サービスを実装する場合、この ID を使用すると、Adobe Target、Adobe Analytics、Adobe Audience Managerなど、様々なExperience Cloudソリューションで同じサイト訪問者とそのデータを特定できます。 Target を Adobe Analytics および Adobe Audience Manager と統合する場合、marketingCloudVisitorId が必要であることに注意してください。

次の呼び出し例は、Experience CloudID サービスから取得された marketingCloudVisitorId を Target に渡す方法を示しています。

const TargetClient = require("@adobe/target-nodejs-sdk");

const CONFIG = {
  client: "acmeclient",
  organizationId: "1234567890@AdobeOrg"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
  request: {
    id: {
      marketingCloudVisitorId: "10527837386392355901041112038610706884"
    },
    execute: {
      mboxes: [{
        name: "some-mbox"
      }]
    }
  }
})
.then(console.log)
.catch(console.error);
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

VisitorId id = new VisitorId()
  .marketingCloudVisitorId("10527837386392355901041112038610706884");
Context context = new Context().channel(ChannelType.WEB);
MboxRequest mbox = new MboxRequest()
  .name("some-mbox")
  .index(0);
ExecuteRequest executeRequest = new ExecuteRequest()
  .mboxes(Arrays.asList(mbox));

TargetDeliveryRequest request = TargetDeliveryRequest.builder()
  .context(context)
  .execute(executeRequest)
  .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);

このシナリオでは、元の呼び出し Target 渡されなかったので、tntId が生成され、指定された marketingCloudVisitorId にマッピングされます。

顧客 ID (customerIds)

顧客 ID は、Experience Cloudの訪問者 ID に追加したり、関連付けたりできます。 customerIds を送信する場合は常に、marketingCloudVisitorId も指定する必要があります。 さらに、各訪問者毎に、各 customerId と共に認証状況を提供することができる。 次の認証ステータスを使用できます。

認証状態ユーザーステータス
unknown不明または認証されていません。 この状態は、ディスプレイ広告をクリックして訪問者がサイトに訪問するようなシナリオに使用できます。
authenticatedユーザーは現在、Web サイトまたはアプリのアクティブセッションで認証されています。
logged_outユーザーは過去に認証されましたが、アクティブにログアウトしました。認証状態から切断しようとしたユーザー。 ユーザーは、認証済みとして扱われることを希望していません。

customerId ーザーが認証状態にある場合にのみ、customerId に保存およびリンクされているユーザープロファイルデータを参照で Target ます。 customerId が不明な状態または logged_out の状態の場合、無視され、その customerId に関連付けられている可能性のあるユーザープロファイルデータは、オーディエンスのターゲティングに利用されません。

const TargetClient = require("@adobe/target-nodejs-sdk");

const CONFIG = {
  client: "acmeclient",
  organizationId: "1234567890@AdobeOrg"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
  request: {
    id: {
      marketingCloudVisitorId : "10527837386392355901041112038610706884",
      customerIds: [{
        id: "134325423",
        integrationCode : "crm_data",
        authenticatedState : "authenticated"
      }]
    },
    execute: {
      mboxes: [{
        name: "some-mbox"
      }]
    }
  }
})
.then(console.log)
.catch(console.error);
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

CustomerId customerId = new CustomerId()
  .id("134325423")
  .integrationCode("crm_data")
  .authenticatedState(AuthenticatedState.AUTHENTICATED);
VisitorId id = new VisitorId()
  .marketingCloudVisitorId("10527837386392355901041112038610706884")
  .customerIds(Arrays.asList(customerId));
Context context = new Context().channel(ChannelType.WEB);
MboxRequest mbox = new MboxRequest()
  .name("some-mbox")
  .index(0);
ExecuteRequest executeRequest = new ExecuteRequest()
  .mboxes(Arrays.asList(mbox));

TargetDeliveryRequest request = TargetDeliveryRequest.builder()
  .context(context)
  .execute(executeRequest)
  .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);

上の例は、authenticatedState を持つ customerId を送信する方法を示しています。 customerId を送信する場合、integrationCodeidauthenticatedState および marketingCloudVisitorId が必要です。 integrationCode は、CRS で指定した 顧客属性ファイルのエイリアスです。

結合プロファイル

tntIdthirdPartyIDmarketingCloudVisitorId を同じリクエストで組み合わせることができます。 このシナリオ Adobe Target は、これらすべての ID のマッピングを維持し、訪問者にピン留めします。 様々な識別子を使用してプロファイルを リアルタイムで結合および同期する方法について説明します。

const TargetClient = require("@adobe/target-nodejs-sdk");

const CONFIG = {
  client: "acmeclient",
  organizationId: "1234567890@AdobeOrg"
};

const targetClient = TargetClient.create(CONFIG);

targetClient.getOffers({
  request: {
    id: {
      tntId: "d359234570e044f14e1faeeba02d6ab23439914e.35_0",
      thirdPartyId: "B234A029348",
      marketingCloudVisitorId : "10527837386392355901041112038610706884"
    },
    execute: {
      mboxes: [{
        name: "some-mbox"
      }]
    }
  }
})
.then(console.log)
.catch(console.error);
ClientConfig config = ClientConfig.builder()
  .client("acmeclient")
  .organizationId("1234567890@AdobeOrg")
  .build();
TargetClient targetClient = TargetClient.create(config);

VisitorId id = new VisitorId()
  .tntId("d359234570e044f14e1faeeba02d6ab23439914e.35_0")
  .thirdPartyId("B234A029348")
  .marketingCloudVisitorId("10527837386392355901041112038610706884");
Context context = new Context().channel(ChannelType.WEB);
MboxRequest mbox = new MboxRequest()
  .name("some-mbox")
  .index(0);
ExecuteRequest executeRequest = new ExecuteRequest()
  .mboxes(Arrays.asList(mbox));

TargetDeliveryRequest request = TargetDeliveryRequest.builder()
  .context(context)
  .execute(executeRequest)
  .build();

TargetDeliveryResponse offers = targetClient.getOffers(request);

上記の例は、tntIdthirdPartyIDmarketingCloudVisitorId を同じリクエストで組み合わせる方法を示しています。