ID di terze parti (thirdPartyId)

Se l'organizzazione utilizza un ID per identificare il visitatore, è possibile utilizzare thirdPartyID per distribuire il contenuto. Un thirdPartyID è un ID persistente utilizzato dalla tua azienda per identificare un utente finale, indipendentemente dal fatto che interagisca con la tua azienda dai canali web, mobili o IoT. In altre parole, thirdPartyId fa riferimento ai dati del profilo utente che possono essere utilizzati nei diversi canali. È tuttavia necessario fornire thirdPartyID per ogni chiamata API di consegna Adobe Target effettuata.

La chiamata di esempio seguente illustra l'utilizzo di 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);

In questo scenario, Adobe Target genererà un tntId poiché non è stato passato nella chiamata originale, che verrà mappato al thirdPartyId fornito.

ID visitatore Marketing Cloud (marketingCloudVisitorId)

marketingCloudVisitorId è un ID universale e costante che identifica i visitatori in tutte le soluzioni di Adobe Experience Cloud. Quando l'organizzazione implementa il servizio ID, questo ID consente di identificare lo stesso visitatore del sito e i relativi dati in diverse soluzioni di Experience Cloud, tra cui Adobe Target, Adobe Analytics e Adobe Audience Manager. Si noti che marketingCloudVisitorId è obbligatorio per l'integrazione di Target con Adobe Analytics e Adobe Audience Manager.

La seguente chiamata di esempio dimostra come un marketingCloudVisitorId recuperato dal servizio ID Experience Cloud viene passato a 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);

In questo scenario, Target genererà un tntId poiché non è stato passato nella chiamata originale, che verrà mappato al marketingCloudVisitorId fornito.

ID cliente (customerIds)

Gli ID cliente possono essere aggiunti o associati a un ID visitatore di Experience Cloud. Ogni volta che si invia customerIds, è necessario specificare anche marketingCloudVisitorId. Inoltre, è possibile fornire uno stato di autenticazione insieme a ogni customerId per ogni visitatore. È possibile utilizzare i seguenti stati di autenticazione:

Stato di autenticazioneStato dell'utente
unknownUtente sconosciuto o mai autenticato. Questo stato può essere utilizzato per scenari come quello in cui un visitatore arriva sul sito facendo clic su un annuncio pubblicitario.
authenticatedAl momento l'utente è autenticato con una sessione attiva sul sito Web o sull'app.
logged_outL'utente si è autenticato ma si è disconnesso in modo attivo. L'utente intendeva disconnettersi dallo stato autenticato. L'utente non desidera più essere trattato come utente autenticato.

Tieni presente che solo quando customerId è in uno stato autenticato Target farà riferimento ai dati del profilo utente memorizzati e collegati al customerId. Se customerId è in uno stato sconosciuto o logged_out, verrà ignorato e tutti i dati del profilo utente eventualmente associati a tale customerId non verranno utilizzati per il targeting del pubblico.

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);

L'esempio precedente illustra come inviare un customerId con un authenticatedState. Quando si invia un customerId, sono necessari integrationCode, id e authenticatedState e marketingCloudVisitorId. integrationCode è l'alias del file degli attributi del cliente fornito tramite CRS.

Profilo unito

È possibile combinare tntId, thirdPartyID e marketingCloudVisitorId nella stessa richiesta. In questo scenario, Adobe Target manterrà la mappatura di tutti questi ID e lo fisserà a un visitatore. Scopri come unire e sincronizzare in tempo reale i profili utilizzando i diversi identificatori.

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);

L'esempio precedente illustra come combinare tntId, thirdPartyID e marketingCloudVisitorId nella stessa richiesta.