Användaridentifiering och -spärring

Användaridentifiering

En användare kan identifieras på flera olika sätt Adobe Target. Target använder följande identifierare:

Fältnamn
Beskrivning
tntID
The tntId är den primära identifieraren i Target för en användare. Du kan ange detta ID, eller Target genererar den automatiskt om begäran inte innehåller någon.
thirdPartyId
The thirdPartyId är företagets identifierare för användaren, som du kan skicka med varje samtal. När en användare loggar in på ett företags webbplats skapar företaget vanligtvis ett ID som är knutet till besökarens konto, förmånskort, medlemsnummer eller andra tillämpliga identifierare för det företaget.
marketingCloudVisitorId
The marketingCloudVisitorId används för att sammanfoga och dela data mellan olika Adobe-lösningar. marketingCloudVisitorId krävs för integrering med Adobe Analytics och Adobe Audience Manager.
customerIds
Tillsammans med besökar-ID:t för Experience Cloud kan ytterligare kund-ID och en autentiserad status för varje besökare kan också användas.

Target ID (tntID)

The Target ID, eller tntId, kan betraktas som ett enhets-ID. Detta tntId genereras automatiskt av Adobe Target om det inte anges i begäran. Efterföljande förfrågningar måste inkludera detta tntId för att rätt innehåll ska kunna levereras till en enhet som används av samma användare.

I följande exempelanrop visas en situation där en tntId skickas inte till Target.

Node.js SDK
code language-javascript line-numbers
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
code language-java line-numbers
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);

I avsaknad av tntId, Adobe Target genererar ett tntId och ger det i svaret, enligt följande.

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

I det här exemplet genereras tntId är 10abf6304b2714215b1fd39a870f01afc.35_0. Observera detta tntId måste användas för samma användare i olika sessioner.

Tredje parts-ID (thirdPartyId)

Om din organisation använder ett ID för att identifiera besökaren kan du använda thirdPartyID för att leverera innehåll. A thirdPartyID är ett beständigt ID som ert företag använder för att identifiera en slutanvändare, oavsett om de interagerar med ert företag via webben, mobiler eller IoT-kanaler. Med andra ord thirdPartyId refererar till användarprofildata som kan användas i alla kanaler. Du måste dock ange thirdPartyID för varje Adobe Target Anrop till leverans-API.

I följande exempelanrop visas hur du använder en thirdPartyId.

Node.js SDK
code language-javascript line-numbers
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
code language-java line-numbers
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);

I detta scenario Adobe Target skapar en tntId eftersom det inte skickades till det ursprungliga anropet, som mappas till det angivna thirdPartyId.

Marketing Cloud Visitor-ID (marketingCloudVisitorId)

The marketingCloudVisitorId är ett universellt och beständigt ID som identifierar besökarna i alla lösningar i Adobe Experience Cloud. När din organisation implementerar ID-tjänsten kan du med detta ID identifiera samma besökare och deras data i olika Experience Cloud-lösningar, inklusive Adobe Target, Adobe Analytics och Adobe Audience Manager. Observera marketingCloudVisitorId krävs vid integrering Target med Adobe Analytics och Adobe Audience Manager.

Följande exempelanrop visar hur en marketingCloudVisitorId som hämtades från Experience Cloud ID-tjänsten skickas till Target.

Node.js SDK
code language-javascript line-numbers
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
code language-java line-numbers
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);

I detta scenario Target skapar en tntId eftersom det inte skickades till det ursprungliga anropet, som mappas till det angivna marketingCloudVisitorId.

Kund-ID (customerIds)

Kund-ID kan läggas till eller kopplas till ett Experience Cloud Visitor-ID. Vid sändning customerIds, marketingCloudVisitorId måste också anges. Dessutom kan en autentiseringsstatus anges tillsammans med varje customerId för varje besökare. Följande autentiseringsstatusar kan användas:

Autentiseringsstatus
Användarstatus
unknown
Okänd eller aldrig autentiserad. Det här läget kan användas för scenarier där en besökare låser sig på platsen genom att klicka på en visningsannons.
authenticated
Användaren autentiseras för närvarande med en aktiv session på din webbplats eller i din app.
logged_out
Användaren autentiserades men loggades aktivt ut. Användaren ville koppla från det autentiserade läget. Användaren vill inte längre behandlas som autentiserad.

Observera att endast när customerId är i ett autentiserat tillstånd kommer att Target referera till användarprofildata som lagras och länkas till customerId. Om customerId är okänd eller logged_out kommer det att ignoreras och alla användarprofildata som kan associeras med det customerId kommer inte att utnyttjas för målgruppsanpassning.

Node.js SDK
code language-javascript line-numbers
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
code language-java line-numbers
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);

Exemplet ovan visar hur du skickar en customerId med authenticatedState. När en customerId, integrationCode, idoch authenticatedState och marketingCloudVisitorId krävs. The integrationCode är alias för kundattributfil du tillhandahöll via CRS.

Sammanfogad profil

Du kan kombinera tntId, thirdPartyIDoch marketingCloudVisitorId i samma begäran. I detta scenario Adobe Target behåller mappningen av alla dessa ID:n och fäster den på en besökare. Läs om hur profiler sammanfogade och synkroniserade i realtid med olika identifierare.

Node.js SDK
code language-javascript line-numbers
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
code language-java line-numbers
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);

Exemplet ovan visar hur du kan kombinera tntId, thirdPartyIDoch marketingCloudVisitorId i samma begäran.

Bucketing

Användarna är intresserade av att se en upplevelse som beror på hur du konfigurerar dina Adobe Target verksamhet. I Adobe Target, bucketing är:

  • Deterministisk: MurmurHash3 används för att se till att användaren är fast och ser rätt variant varje gång så länge användar-ID:t är konsekvent.
  • Fäst: Adobe Target lagrar variationen som användaren ser i användarprofilen för att säkerställa att variationen visas på ett konsekvent sätt för användaren i alla sessioner och kanaler. Variationer och krånglighet garanteras när beslut på serversidan används. När beslut på enheten används, kan man inte garantera att de hålls nere.

Arbetsflöde för komplett paketering

Innan du börjar använda den faktiska låsningsalgoritmen är det viktigt att understryka att liknande steg används både för att välja aktiviteter baserat på deras procenttal för trafikallokering och för att välja en upplevelse inom en aktivitet.

Val av aktivitet

  1. Generera ett enhets-ID, vanligtvis ett UUID
  2. Hämta klientkoden
  3. Hämta aktivitets-ID
  4. Hämta saltet, vilket vanligtvis är en sträng som "activity"
  5. Beräkna hash med hjälp av MurmurHash3
  6. Hämta det absoluta värdet för hashen
  7. Dela det absoluta hash-värdet med 10000
  8. Dela upp resten med 10000, vilket ger ett värde mellan 0 och 1
  9. Multiplicera resultatet med 100 %
  10. Jämför tilldelningsprocent för aktivitetstrafik med den erhållna procentandelen. Om trafikallokeringsprocenten är lägre väljs aktiviteten. Annars hoppas aktiviteten över.

Upplev urvalssteg

  1. Generera ett enhets-ID, vanligtvis ett UUID
  2. Hämta klientkoden
  3. Hämta aktivitets-ID
  4. Hämta saltet, vilket vanligtvis är en sträng som "upplevelse"
  5. Beräkna hash med hjälp av MurmurHash3
  6. Hämta det absoluta värdet för hashen
  7. Dela det absoluta hash-värdet med 10000
  8. Dela upp resten med 10000, vilket ger ett värde mellan 0 och 1
  9. Multiplicera resultatet med det totala antalet upplevelser inom aktiviteten
  10. Avrunda resultatet. Detta bör skapa ett upplevelseindex.

Exempel

Anta följande:

  • Klient C med klientkod acmeclient
  • Aktivitet A som har ID 1111 och tre upplevelser E1, E2, E3
  • Erfarenheter har följande fördelning: E1 - 33 %, E2 - 33 %, E3 - 34 %

Markeringsflödet ser ut så här:

  1. Enhets-ID 702ff4d0-83b1-4e2e-a0a6-22cbe460eb15
  2. Klientkod acmeclient
  3. Aktivitets-ID 1111
  4. Salt experience
  5. Värde till hash acmeclient.1111.702ff4d0-83b1-4e2e-a0a6-22cbe460eb15.experience, hash-värde -919077116
  6. Hashens absoluta värde 919077116
  7. Resterande efter division med 10000, 7116
  8. Värdet efter återstoden divideras med 10000, 0.7116
  9. Resultat efter att värdet har multiplicerats med det totala antalet upplevelser 3 * 0.7116 = 2.1348
  10. Erfarenhetsindexet är 2, vilket betyder den tredje erfarenheten eftersom vi använder 0 baserad indexering.
recommendation-more-help
6906415f-169c-422b-89d3-7118e147c4e3