DocumentatieTargetDoelontwikkelaarsgids

Gebruikersidentificatie en -registratie

Laatst bijgewerkt: 5 mei 2025
  • Onderwerpen:

Gemaakt voor:

  • Ontwikkelaar

Gebruikersidentificatie

Er zijn meerdere manieren waarop een gebruiker kan worden geïdentificeerd binnen Adobe Target. Target gebruikt de volgende id's:

VeldnaamBeschrijving
tntIDDe tntId is de primaire id in Target voor een gebruiker. U kunt deze id opgeven, of Target automatisch genereren als de aanvraag geen verzoek bevat.
thirdPartyIdDe thirdPartyId is het herkenningsteken van uw bedrijf voor de gebruiker, die u met elke vraag kunt verzenden. Wanneer een gebruiker zich bij de plaats van een bedrijf aanmeldt, leidt het bedrijf typisch tot een identiteitskaart die aan de rekening van de bezoeker, de loyaliteitskaart, het lidmaatschapsaantal, of andere toepasselijke herkenningstekens voor dat bedrijf gebonden is.
marketingCloudVisitorIdDe marketingCloudVisitorId wordt gebruikt om gegevens tussen verschillende Adobe oplossingen samen te voegen en te delen. De marketingCloudVisitorId is vereist voor integratie met Adobe Analytics en Adobe Audience Manager.
customerIdsSamen met de Experience Cloud-bezoeker-id klant-id's en een voor authentiek verklaarde status voor elke bezoeker kan ook worden gebruikt.

Target ID (tntID)

De Target ID, of tntId, kan worden beschouwd als een apparaat-id. Dit tntId wordt automatisch gegenereerd door Adobe Target indien dit niet in het verzoek wordt vermeld. Verzoeken in een volgende fase moeten dit bevatten tntId om de juiste inhoud te kunnen leveren aan een apparaat dat door dezelfde gebruiker wordt gebruikt.

De volgende steekproefvraag toont een situatie aan waarin een tntId wordt niet doorgegeven aan Target.

Node.js SDK
const TargetClient = require("@adobe/target-nodejs-sdk");

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

const targetClient = TargetClient.create(CONFIG);

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

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

Bij ontbreken van een tntId, Adobe Target genereert een tntId en geeft dit als volgt aan in het antwoord.

{
  "status": 200,
  "requestId": "5b586f83-890c-46ae-93a2-610b1caa43ef",
  "client": "acmeclient",
  "id": {
      "tntId": "10abf6304b2714215b1fd39a870f01afc.35_0"
  },
  "edgeHost": "mboxedge35.tt.omtrdc.net",
  ...
}

In dit voorbeeld worden de gegenereerde tntId is 10abf6304b2714215b1fd39a870f01afc.35_0. Let op dit tntId moet voor dezelfde gebruiker in verschillende sessies worden gebruikt.

Id van derde partij (thirdPartyId)

Als uw organisatie een id gebruikt om uw bezoeker te identificeren, kunt u thirdPartyID om inhoud te leveren. A thirdPartyID is een permanente id die uw bedrijf gebruikt om een eindgebruiker te identificeren, ongeacht of deze via internet, mobiele of IoT-kanalen met uw bedrijf werkt. Met andere woorden: thirdPartyId verwijst naar gebruikersprofielgegevens die via kanalen kunnen worden gebruikt. U moet echter de thirdPartyID voor elke Adobe Target Aanroep van API voor levering die u maakt.

De volgende steekproefvraag toont het gebruik van aan thirdPartyId.

Node.js SDK
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);
Java SDK
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 dit scenario: Adobe Target zal een tntId aangezien het niet in de originele vraag werd overgegaan, die aan verstrekt zal worden in kaart gebracht thirdPartyId.

Bezoeker-id voor Marketing Cloud (MarketingCloudVisitorId)

De marketingCloudVisitorId is een universele en permanente id die uw bezoekers identificeert voor alle oplossingen in de Adobe Experience Cloud. Wanneer uw organisatie de id-service implementeert, kunt u met deze id dezelfde sitebezoeker en de bijbehorende gegevens identificeren in verschillende Experience Cloud-oplossingen, waaronder Adobe Target, Adobe Analytics en Adobe Audience Manager. Let op: marketingCloudVisitorId is vereist bij integratie Target with Adobe Analytics en Adobe Audience Manager.

De volgende steekproefvraag toont aan hoe een marketingCloudVisitorId die van de Dienst van identiteitskaart van Experience Cloud werd teruggewonnen wordt overgegaan tot Target.

Node.js SDK
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);
Java SDK
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 dit scenario: Target zal een tntId aangezien het niet in de originele vraag werd overgegaan, die aan verstrekt zal worden in kaart gebracht marketingCloudVisitorId.

Klant-id (customerIds)

Klant-id's kan worden toegevoegd aan of gekoppeld aan een Experience Cloud-bezoeker-id. Wanneer u customerIdsde marketingCloudVisitorId moeten ook worden verstrekt. Bovendien kan een authentificatiestatus samen met elk worden verstrekt customerId voor elke bezoeker. De volgende verificatiestatus kan worden gebruikt:

Status van verificatie
Gebruikersstatus
unknown
Onbekend of nooit geverifieerd. Deze status kan worden gebruikt voor scenario's zoals die waarin een bezoeker op uw site landt door op een weergaveadvertentie te klikken.
authenticated
De gebruiker is momenteel geverifieerd met een actieve sessie op uw website of app.
logged_out
De gebruiker werd voor authentiek verklaard maar actief het programma geopend. De gebruiker was van plan om van de voor authentiek verklaarde staat los te maken. De gebruiker wil niet meer worden beschouwd als geverifieerd.

Houd er rekening mee dat alleen customerId is in een voor authentiek verklaarde staat zal Target verwijzen naar de gegevens van het gebruikersprofiel die zijn opgeslagen en gekoppeld aan de customerId. Als de customerId zich in een onbekend of logged_out status, wordt deze genegeerd en worden eventuele gebruikersprofielgegevens gekoppeld aan die status customerId wordt niet gebruikt voor doelgerichte doelgroepen.

Node.js SDK
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);
Java SDK
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);

In het bovenstaande voorbeeld ziet u hoe u een customerId met een authenticatedState. Wanneer u een customerIdde integrationCode, id, en authenticatedState en de marketingCloudVisitorId zijn vereist. De integrationCode is de alias van de klantkenmerkbestand via CRS.

Samengevoegd profiel

U kunt tntId, thirdPartyID, en marketingCloudVisitorId in hetzelfde verzoek. In dit scenario: Adobe Target Hiermee wordt de toewijzing van al deze id's behouden en vastgezet aan een bezoeker. Meer informatie over profielen samengevoegd en in real time gesynchroniseerd de verschillende id's gebruiken.

Node.js SDK
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);
Java SDK
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);

In het bovenstaande voorbeeld ziet u hoe u kunt combineren tntId, thirdPartyID, en marketingCloudVisitorId in hetzelfde verzoek.

Emmertje

Uw gebruikers worden ingesloten in het zien van een ervaring afhankelijk van hoe u opstelling uw Adobe Target activiteiten. In Adobe Target, "bucketing":

  • deterministisch: MurmurHash3 wordt gebruikt om ervoor te zorgen dat uw gebruiker wordt gepompt en de juiste variatie elke keer ziet zolang de gebruiker - identiteitskaart verenigbaar is.
  • Vast: Adobe Target slaat de variatie op die uw gebruiker in het gebruikersprofiel ziet om ervoor te zorgen dat de variatie aan die gebruiker over zittingen en kanalen constant wordt getoond. Variaties en kleverheid worden gegarandeerd bij het gebruik van beslissingen op de server. Bij gebruik van een apparaatbeslissing is kleverigheid niet gegarandeerd.

Workflow van begin tot eind

Alvorens in het daadwerkelijke boekingsalgoritme te duiken, is het belangrijk om te benadrukken dat de gelijkaardige stappen zowel worden gebruikt om activiteiten te selecteren die op hun percentage van verkeerstoewijzing worden gebaseerd, als een ervaring binnen een activiteit te selecteren.

Activiteit selecteren

  1. Een apparaat-id genereren, meestal een UUID
  2. De clientcode ophalen
  3. De activiteiten-id ophalen
  4. De salt ophalen, wat doorgaans een tekenreeks is als "activity"
  5. De hash berekenen met gebruik van MurmurHash3
  6. Hiermee wordt de absolute waarde van de hash opgehaald
  7. De absolute waarde van de hash delen door 10000
  8. Verdeel de rest door 10000, die een waarde tussen 0 en 1 zou moeten produceren
  9. Vermenigvuldig het resultaat met 100%
  10. Vergelijk het toewijzingspercentage van het activiteitenverkeer met het verkregen percentage. Als het percentage van de verkeerstoewijzing lager is, dan wordt de activiteit geselecteerd. Anders wordt de activiteit overgeslagen.

Selectiestappen ervaren

  1. Een apparaat-id genereren, meestal een UUID
  2. De clientcode ophalen
  3. De activiteiten-id ophalen
  4. De salt ophalen, wat meestal een tekenreeks is als "experience"
  5. De hash berekenen met gebruik van MurmurHash3
  6. Hiermee wordt de absolute waarde van de hash opgehaald
  7. De absolute waarde van de hash delen door 10000
  8. Verdeel de rest door 10000, die een waarde tussen 0 en 1 zou moeten produceren
  9. Vermenigvuldig het resultaat met het totale aantal ervaringen binnen de activiteit
  10. Rond het resultaat af. Dit zou de ervaringsindex moeten produceren.

Voorbeeld

Stel dat:

  • Client C met clientcode acmeclient
  • Activiteit A die identiteitskaart heeft 1111 en drie ervaringen E1, E2, E3
  • De ervaring heeft de volgende distributie: E1 - 33%, E2 - 33%, E3 - 34%

De selectiestroom ziet er als volgt uit:

  1. Apparaat-id 702ff4d0-83b1-4e2e-a0a6-22cbe460eb15
  2. Clientcode acmeclient
  3. Activiteits-id 1111
  4. Zout experience
  5. Waarde voor hash acmeclient.1111.702ff4d0-83b1-4e2e-a0a6-22cbe460eb15.experience, hash-waarde -919077116
  6. Absolute waarde van de hash 919077116
  7. Herinnering na de splitsing door 10000, 7116
  8. Waarde na de rest wordt gedeeld door 10000, 0.7116
  9. Resultaat na vermenigvuldiging van de waarde met het totale aantal ervaringen 3 * 0.7116 = 2.1348
  10. De ervaringsindex is 2, dat wil zeggen de derde ervaring, aangezien wij 0 gebaseerd indexeren.
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3