Meddelandeformat
Krav - Adobe Experience Platform koncept prerequisites
Om du vill veta mer om meddelandeformat, profilkonfiguration och transformeringsprocess på Adobe kan du bekanta dig med följande koncept för Experience Platform:
- Experience Data Model (XDM). XDM - översikt och Så här skapar du ett XDM-schema i Adobe Experience Platform.
- Klass. Skapa och redigera klasser i användargränssnittet.
- IdentityMap. Identitetskartan representerar en karta över alla slutanvändaridentiteter i Adobe Experience Platform. Se
xdm:identityMap
i XDM-fältordlista. - SegmentMembership. The segmentMembership XDM-attributet informerar vilka målgrupper en profil tillhör. För de tre olika värdena i
status
fält, läs dokumentationen om Schemafältgrupp för målgruppsmedlemskapsdetaljer.
Integrationstyper som stöds supported-integration-types
Se tabellen nedan för mer ingående information om vilka typer av integreringar som stöder de funktioner som beskrivs på den här sidan.
Översikt overview
På den här sidan behandlas meddelandeformatet och profilomvandlingen i data som exporteras från Adobe Experience Platform till mål.
Adobe Experience Platform exporterar data till ett stort antal destinationer, i olika dataformat. Några exempel på destinationstyper är annonsplattformar (Google), sociala nätverk (Facebook) och molnlagringsplatser (Amazon S3, Azure Event Hubs).
Experience Platform kan justera meddelandeformatet för exporterade profiler så att de matchar det förväntade formatet på din sida. För att förstå den här anpassningen är följande koncept viktiga:
- Källa (1) och mål (2) XDM-schema i Adobe Experience Platform
- Det förväntade meddelandeformatet på partnersidan (3), och
- Omformningslagret mellan XDM-schemat och det förväntade meddelandeformatet, som du kan definiera genom att skapa ett omformningsmall för meddelanden.
Experience Platform använder XDM-scheman för att beskriva datastrukturen på ett konsekvent och återanvändbart sätt.
XDM-källschema (1): Det här objektet refererar till det schema som kunder använder i Experience Platform. I Experience Platform, på mappningssteg av arbetsflödet för aktivering av mål mappar kunderna fält från sitt XDM-schema till målschemat (2).
Mål-XDM-schema (2): Baserat på JSON-standardschemat (3) för målets förväntade format och de attribut som destinationen kan tolka, kan du definiera profilattribut och identiteter i mål-XDM-schemat. Du kan göra detta i destinationskonfigurationen i dialogrutan schemaConfig och identityNamespaces objekt.
JSON-standardschema för målprofilens attribut (3): Det här exemplet representerar JSON-schema av alla profilattribut som din plattform stöder och deras typer (t.ex. object, string, array). Exempelfält som ditt mål kan ha stöd för firstName
, lastName
, gender
, email
, phone
, productId
, productName
och så vidare. Du behöver en omformningsmall för meddelanden för att skräddarsy de data som exporteras från Experience Platform till det förväntade formatet.
Baserat på schemaomvandlingarna som beskrivs ovan, är det här hur en profilkonfiguration ändras mellan käll-XDM-schemat och ett exempelschema på partnersidan:
Komma igång - omforma tre grundläggande attribut getting-started
I exemplet nedan används tre vanliga profilattribut i Adobe Experience Platform för att demonstrera profilomvandlingsprocessen: förnamn, efternamn och e-postadress.
Anta att din plattform kan ta emot ett meddelandeformat som:
POST https://YOUR_REST_API_URL/users/
Content-Type: application/json
Authorization: Bearer YOUR_REST_API_KEY
{
"attributes":
{
"first_name": "Yours",
"last_name": "Truly",
"external_id": "yourstruly@adobe.com"
}
}
Med tanke på meddelandeformatet är motsvarande omformningar följande:
_your_custom_schema.firstName
attributes.first_name
first_name
_your_custom_schema.lastName
attributes.last_name
last_name
personalEmail.address
attributes.external_id
external_id
Profilstruktur i Experience Platform profile-structure
För att förstå exemplen längre ned på sidan är det viktigt att du känner till strukturen för en profil i Experience Platform.
Profiler har tre avsnitt:
-
segmentMembership
(finns alltid i en profil)- det här avsnittet innehåller alla målgrupper som finns i profilen. Målgrupperna kan ha en av två statusvärden:
realized
ellerexited
.
- det här avsnittet innehåller alla målgrupper som finns i profilen. Målgrupperna kan ha en av två statusvärden:
-
identityMap
(finns alltid i en profil)- det här avsnittet innehåller alla identiteter som finns i profilen (e-post, Google GAID, Apple IDFA och så vidare) och som användaren har mappat för export i aktiveringsarbetsflödet.
-
attribut (beroende på målkonfigurationen kan dessa finnas i profilen). Det finns också en liten skillnad mellan fördefinierade attribut och frihandsattribut:
- for frihandsattribut innehåller de
.value
sökväg om attributet finns i profilen (selastName
-attribut från exempel 1). Om de inte finns med i profilen innehåller de inte.value
sökväg (sefirstName
-attribut från exempel 1). - for fördefinierade attribut, innehåller de inte
.value
bana. Alla mappade attribut som finns i en profil finns i attributmappningen. De som inte finns kommer inte att finnas (se exempel 2 -firstName
finns inte i profilen).
- for frihandsattribut innehåller de
Se två exempel på profiler i Experience Platform nedan:
Exempel 1 med segmentMembership
, identityMap
och attribut för frihandsattribut example-1
{
"segmentMembership": {
"ups": {
"11111111-1111-1111-1111-111111111111": {
"lastQualificationTime": "2019-04-15T02:41:50.000+0000",
"status": "realized"
}
}
},
"identityMap": {
"mobileIds": [
{
"id": "e86fb215-0921-4537-bc77-969ff775752c"
}
]
},
"attributes": {
"firstName": {
},
"lastName": {
"value": "lastName"
}
}
}
Exempel 2 med segmentMembership
, identityMap
och attribut för fördefinierade attribut example-2
{
"segmentMembership": {
"ups": {
"11111111-1111-1111-1111-111111111111": {
"lastQualificationTime": "2019-04-15T02:41:50.000+0000",
"status": "realized"
}
}
},
"identityMap": {
"mobileIds": [
{
"id": "e86fb215-0921-4537-bc77-969ff775752c"
}
]
},
"attributes": {
"lastName": "lastName"
}
}
Använda ett mallspråk för omvandlingar av identitet, attribut och målgruppsmedlemskap using-templating
Adobe använder Bärbara mallar, ett mallspråk som liknar Jinja, för att omvandla fälten från Experience Platform XDM-schemat till ett format som stöds av ditt mål.
Det här avsnittet innehåller flera exempel på hur dessa omformningar görs - från XDM-indataschemat, via mallen och från utdata i nyttolastformat som accepteras av målet. Exemplen nedan presenteras av ökad komplexitet, enligt följande:
- Exempel på enkla omformningar. Lär dig hur mallhantering fungerar med enkla omformningar för Profilattribut, Målgruppsmedlemskapoch Identitet fält.
- Exempel på mallar som kombinerar fälten ovan blir mer komplicerade: Skapa en mall som skickar målgrupper och identiteter och Skapa en mall som skickar segment, identiteter och profilattribut.
- Mallar som innehåller aggregeringsnyckeln. När du använder konfigurerbar aggregering i målkonfigurationen grupperar Experience Platform de profiler som exporteras till destinationen baserat på kriterier som målgrupps-ID, målgruppsstatus eller ID-namnutrymmen.
Profilattribut attributes
Information om hur du omformar profilattributen som exporteras till ditt mål finns i JSON- och kodexemplen nedan.
Indata
Profil 1:
{
"attributes": {
"firstName": {
"value": "Hermione"
},
"birthDate": {}
}
}
Profil 2:
{
"attributes": {
"firstName": {
"value": "Harry"
},
"birthDate": {
"value": "1980/07/31"
}
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.{
"profiles": [
{% for profile in input.profiles %}
{
{% for attribute in profile.attributes %}
"{{ attribute.key }}":
{% if attribute.value is empty %}
null
{% else %}
"{{ attribute.value.value }}"
{% endif %}
{% if not loop.last %},{% endif %}
{% endfor %}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}
Resultat
{
"profiles": [
{
"firstName": "Hermione",
"birthDate": null
},
{
"firstName": "Harry",
"birthDate": "1980/07/31"
}
]
}
Målgruppsmedlemskap audience-membership
The segmentMembership XDM-attributet informerar vilka målgrupper en profil tillhör.
För de tre olika värdena i status
fält, läs dokumentationen om Schemafältgrupp för målgruppsmedlemskapsdetaljer.
Indata
Profil 1:
{
"segmentMembership": {
"ups": {
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"788d8874-8007-4253-92b7-ee6b6c20c6f3": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"8f812592-3f06-416b-bd50-e7831848a31a": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "exited"
}
}
}
}
Profil 2:
{
"segmentMembership": {
"ups": {
"32396e4b-16f6-4033-9702-fc69b5e24e7c": {
"lastQualificationTime": "2021-08-20T17:23:04Z",
"status": "realized"
},
"af854278-894a-4192-a96b-320fbf2623fd": {
"lastQualificationTime": "2021-08-20T16:44:37Z",
"status": "realized"
},
"66505bf9-bc08-4bac-afbc-8b6706650ea4": {
"lastQualificationTime": "2019-08-20T17:23:04Z",
"status": "realized"
}
}
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.{
"profiles": [
{% for profile in input.profiles %}
{
"AdobeExperiencePlatformSegments": {
"add": [
{% for segment in profile.segmentMembership.ups | added %}
"{{ segment.key }}"{% if not loop.last %},{% endif %}
{% endfor %}
],
"remove": [
{# Alternative syntax for filtering audiences by status: #}
{% for segment in removedSegments(profile.segmentMembership.ups) %}
"{{ segment.key }}"{% if not loop.last %},{% endif %}
{% endfor %}
]
}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}
Resultat
{
"profiles": [
{
"AdobeExperiencePlatformSegments": {
"add": [
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075",
"788d8874-8007-4253-92b7-ee6b6c20c6f3"
],
"remove": [
"8f812592-3f06-416b-bd50-e7831848a31a"
]
}
},
{
"AdobeExperiencePlatformSegments": {
"add": [
"32396e4b-16f6-4033-9702-fc69b5e24e7c",
"af854278-894a-4192-a96b-320fbf2623fd",
"66505bf9-bc08-4bac-afbc-8b6706650ea4"
],
"remove": [
]
}
}
]
}
Identiteter identities
Mer information om identiteter i Experience Platform finns i Översikt över namnområde för identitet.
Indata
Profil 1:
{
"identityMap": {
"email": [
{
"id": "johndoe@example.com"
},
{
"id": "jd@example.com"
}
],
"external_id": [
{
"id": "123456"
}
]
}
}
Profil 2:
{
"identityMap": {
"email": [
{
"id": "jane.doe@example.com"
}
]
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.{
"profiles": [
{% for profile in input.profiles %}
{
"identities": [
{% for email in profile.identityMap.email %}
{
"type": "email",
"id": "{{ email.id }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
{# Add a comma only if you have both emails and external_ids. #}
{% if profile.identityMap.email is not empty and profile.identityMap.external_id is not empty %}
,
{% endif %}
{% for external in profile.identityMap.external_id %}
{
"type": "external_id",
"id": "{{ external.id }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}
Resultat
{
"profiles": [
{
"identities": [
{
"type": "email",
"id": "johndoe@example.com"
},
{
"type": "email",
"id": "jd@example.com"
},
{
"type": "external_id",
"id": "123456"
}
]
},
{
"identities": [
{
"type": "email",
"id": "jane.doe@example.com"
}
]
}
]
}
Skapa en mall som skickar målgrupper och identiteter segments-and-identities
I det här avsnittet finns ett exempel på en vanlig omvandling mellan Adobe XDM-schemat och partnermålschemat.
I exemplet nedan visas hur du omvandlar målgruppsmedlemskap och identiteter och skickar dem till ditt mål.
Indata
Profil 1:
{
"identityMap": {
"email": [
{
"id": "johndoe@example.com"
},
{
"id": "jd@example.com"
}
],
"external_id": [
{
"id": "123456"
}
]
},
"segmentMembership": {
"ups": {
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"788d8874-8007-4253-92b7-ee6b6c20c6f3": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"8f812592-3f06-416b-bd50-e7831848a31a": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "exited"
}
}
}
}
Profil 2:
{
"identityMap": {
"email": [
{
"id": "jane.doe@example.com"
}
]
},
"segmentMembership": {
"ups": {
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075": {
"lastQualificationTime": "2021-08-31T10:01:42Z",
"status": "realized"
}
}
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.{
"profiles": [
{% for profile in input.profiles %}
{
"identities": [
{% for email in profile.identityMap.email %}
{
"type": "email",
"id": "{{ email.id }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
{# Add a comma only if you have both emails and external_ids. #}
{% if profile.identityMap.email is not empty and profile.identityMap.external_id is not empty %}
,
{% endif %}
{% for external in profile.identityMap.external_id %}
{
"type": "external_id",
"id": "{{ external.id }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
],
"AdobeExperiencePlatformSegments": {
"add": [
{% for segment in profile.segmentMembership.ups | added %}
"{{ segment.key }}"{% if not loop.last %},{% endif %}
{% endfor %}
],
"remove": [
{# Alternative syntax for filtering audiences by status: #}
{% for segment in removedSegments(profile.segmentMembership.ups) %}
"{{ segment.key }}"{% if not loop.last %},{% endif %}
{% endfor %}
]
}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}
Resultat
The json
nedan representerar de data som exporteras från Adobe Experience Platform.
{
"profiles": [
{
"identities": [
{
"type": "email",
"id": "johndoe@example.com"
},
{
"type": "email",
"id": "jd@example.com"
},
{
"type": "external_id",
"id": "123456"
}
],
"AdobeExperiencePlatformSegments": {
"add": [
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075",
"788d8874-8007-4253-92b7-ee6b6c20c6f3"
],
"remove": [
"8f812592-3f06-416b-bd50-e7831848a31a"
]
}
},
{
"identities": [
{
"type": "email",
"id": "jane.doe@example.com"
}
],
"AdobeExperiencePlatformSegments": {
"add": [
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075"
],
"remove": []
}
}
]
}
Skapa en mall som skickar segment, identiteter och profilattribut segments-identities-attributes
I det här avsnittet finns ett exempel på en vanlig omvandling mellan Adobe XDM-schemat och partnermålschemat.
Ett annat vanligt användningsexempel är export av data som innehåller målgruppsmedlemskap, identiteter (till exempel e-postadress, telefonnummer, reklam-ID) och profilattribut. Se exemplet nedan om du vill exportera data på det här sättet:
Indata
Profil 1:
{
"attributes": {
"firstName": {
"value": "Hermione"
},
"birthDate": {}
},
"identityMap": {
"email": [
{
"id": "johndoe@example.com"
},
{
"id": "jd@example.com"
}
],
"external_id": [
{
"id": "123456"
}
]
},
"segmentMembership": {
"ups": {
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"788d8874-8007-4253-92b7-ee6b6c20c6f3": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
},
"8f812592-3f06-416b-bd50-e7831848a31a": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "exited"
}
}
}
}
Profil 2:
{
"attributes": {
"firstName": {
"value": "Harry"
},
"birthDate": {
"value": "1980/07/31"
}
},
"identityMap": {
"email": [
{
"id": "harry.p@example.com"
}
]
},
"segmentMembership": {
"ups": {
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075": {
"lastQualificationTime": "2019-11-20T13:15:49Z",
"status": "realized"
}
}
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.{
"profiles": [
{% for profile in input.profiles %}
{
"attributes": {
{% for attribute in profile.attributes %}
"{{ attribute.key }}":
{% if attribute.value is empty %}
null
{% else %}
"{{ attribute.value.value }}"
{% endif %}
{% if not loop.last %},{% endif %}
{% endfor %}
},
"identities": [
{% for email in profile.identityMap.email %}
{
"type": "email",
"id": "{{ email.id }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
{# Add a comma only if we have both emails and external_ids. #}
{% if profile.identityMap.email is not empty and profile.identityMap.external_id is not empty %}
,
{% endif %}
{% for external in profile.identityMap.external_id %}
{
"type": "external_id",
"id": "{{ external.id }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
],
"AdobeExperiencePlatformSegments": {
"add": [
{% for segment in profile.segmentMembership.ups | added %}
"{{ segment.key }}"{% if not loop.last %},{% endif %}
{% endfor %}
],
"remove": [
{# Alternative syntax for filtering audiences by status: #}
{% for segment in removedSegments(profile.segmentMembership.ups) %}
"{{ segment.key }}"{% if not loop.last %},{% endif %}
{% endfor %}
]
}
}
]
}
Resultat
The json
nedan representerar de data som exporteras från Adobe Experience Platform.
{
"profiles": [
{
"attributes": {
"firstName": "Hermione",
"birthDate": null
},
"identities": [
{
"type": "email",
"id": "johndoe@example.com"
},
{
"type": "email",
"id": "jd@example.com"
},
{
"type": "external_id",
"id": "123456"
}
],
"AdobeExperiencePlatformSegments": {
"add": [
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075",
"788d8874-8007-4253-92b7-ee6b6c20c6f3"
],
"remove": [
"8f812592-3f06-416b-bd50-e7831848a31a"
]
}
},
{
"attributes": {
"firstName": "Harry",
"birthDate": "1980/07/21"
},
"identities": [
{
"type": "email",
"id": "harry.p@example.com"
}
],
"AdobeExperiencePlatformSegments": {
"add": [
"36a51c13-9dd6-4d2c-8aa3-07d785ea5075"
],
"remove": []
}
}
]
}
Inkludera aggregeringsnyckel i mallen för att få åtkomst till exporterade profiler grupperade efter olika villkor template-aggregation-key
När du använder konfigurerbar aggregering i målkonfigurationen kan du gruppera de profiler som exporteras till målet baserat på kriterier som målgrupps-ID, målgruppsalias, målgruppsmedlemskap eller identitetsnamnutrymmen.
I meddelandeomformningsmallen kan du komma åt de aggregeringsnycklar som nämns ovan, vilket visas i exemplen i följande avsnitt. Använd aggregeringsnycklar för att strukturera HTTP-meddelandet som exporterats utanför Experience Platform så att det matchar de format- och hastighetsbegränsningar som förväntas av ditt mål.
Använd aggregeringsnyckeln för målgrupps-ID i mallen aggregation-key-segment-id
Om du konfigurerbar aggregering och ange includeSegmentId
till true grupperas profilerna i de HTTP-meddelanden som exporteras till ditt mål efter målgrupps-ID. Se nedan hur du kan komma åt målgrupps-ID i mallen.
Indata
Tänk på de fyra profilerna nedan, där:
- de första två är en del av målgruppen med målgrupps-ID
788d8874-8007-4253-92b7-ee6b6c20c6f3
- den tredje profilen är en del av målgruppen med målgrupps-ID
8f812592-3f06-416b-bd50-e7831848a31a
- den fjärde profilen är en del av båda målgrupperna ovan.
Profil 1:
{
"attributes":{
"firstName":{
"value":"Hermione"
}
},
"segmentMembership":{
"ups":{
"788d8874-8007-4253-92b7-ee6b6c20c6f3":{
"lastQualificationTime":"2020-11-20T13:15:49Z",
"status":"realized"
}
}
}
}
Profil 2:
{
"attributes":{
"firstName":{
"value":"Harry"
}
},
"segmentMembership":{
"ups":{
"788d8874-8007-4253-92b7-ee6b6c20c6f3":{
"lastQualificationTime":"2020-11-20T13:15:49Z",
"status":"realized"
}
}
}
}
Profil 3:
{
"attributes":{
"firstName":{
"value":"Tom"
}
},
"segmentMembership":{
"ups":{
"8f812592-3f06-416b-bd50-e7831848a31a":{
"lastQualificationTime":"2021-02-20T12:00:00Z",
"status":"realized"
}
}
}
}
Profil 4:
{
"attributes":{
"firstName":{
"value":"Jerry"
}
},
"segmentMembership":{
"ups":{
"8f812592-3f06-416b-bd50-e7831848a31a":{
"lastQualificationTime":"2021-02-20T12:00:00Z",
"status":"realized"
},
"788d8874-8007-4253-92b7-ee6b6c20c6f3":{
"lastQualificationTime":"2020-11-20T13:15:49Z",
"status":"realized"
}
}
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.Notera nedan hur audienceId
används i mallen för att komma åt målgrupps-ID:n. I det här exemplet antas att du använder audienceId
för medlemskap i er målgrupp. Du kan använda vilket annat fältnamn som helst, beroende på din egen taxonomi.
{
"audienceId": "{{ input.aggregationKey.segmentId }}",
"profiles": [
{% for profile in input.profiles %}
{
"first_name": "{{ profile.attributes.firstName.value }}"
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}
Resultat
När profilerna exporteras till ditt mål delas de upp i två grupper utifrån deras målgrupps-ID.
{
"audienceId":"788d8874-8007-4253-92b7-ee6b6c20c6f3",
"profiles":[
{
"firstName":"Hermione"
},
{
"firstName":"Harry"
},
{
"firstName":"Jerry"
}
]
}
{
"audienceId":"8f812592-3f06-416b-bd50-e7831848a31a",
"profiles":[
{
"firstName":"Tom"
},
{
"firstName":"Jerry"
}
]
}
Använd aggregeringsnyckeln för målgruppsalias i mallen aggregation-key-segment-alias
Om du konfigurerbar aggregering och ange includeSegmentId
Om värdet är true kan du även få åtkomst till målgruppsalias i mallen.
Lägg till raden nedan i mallen för att komma åt de exporterade profilerna grupperade efter målgruppsalias.
customerList={{input.aggregationKey.segmentAlias}}
Använd aggregeringsnyckeln för målgruppsstatus i mallen aggregation-key-segment-status
Om du konfigurerbar aggregering och ange includeSegmentId
och includeSegmentStatus
till true får du åtkomst till målgruppsstatusen i mallen. På så sätt kan du gruppera profiler i de HTTP-meddelanden som exporteras till ditt mål baserat på om profilerna ska läggas till eller tas bort från segment.
Möjliga värden är:
- realiserad
- befintlig
- avslutad
Lägg till raden nedan i mallen för att lägga till eller ta bort profiler från segment baserat på värdena ovan:
action={% if input.aggregationKey.segmentStatus == "exited" %}REMOVE{% else %}ADD{% endif%}
Använd aggregering för identitetsnamnrymd i mallen aggregation-key-identity
Nedan visas ett exempel där konfigurerbar aggregering i målkonfigurationen är inställd på att sammanfoga exporterade profiler efter identitetsnamnutrymmen, i formuläret "namespaces": ["email", "phone"]
och "namespaces": ["GAID", "IDFA"]
. Se groups
-parametern i skapa destinationskonfiguration dokumentation för mer information om gruppering.
Indata
Profil 1:
{
"identityMap":{
"email":[
{
"id":"e1@example.com"
},
{
"id":"e2@example.com"
}
],
"phone":[
{
"id":"+40744111222"
}
],
"IDFA":[
{
"id":"AEBE52E7-03EE-455A-B3C4-E57283966239"
}
],
"GAID":[
{
"id":"e4fe9bde-caa0-47b6-908d-ffba3fa184f2"
}
]
}
}
Profil 2:
{
"identityMap":{
"email":[
{
"id":"e3@example.com"
}
],
"phone":[
{
"id":"+40744333444"
},
{
"id":"+40744555666"
}
],
"IDFA":[
{
"id":"134GHU45-34HH-GHJ7-K0H8-LHN665998NN0"
}
],
"GAID":[
{
"id":"47bh00i9-8jv6-334n-lll8-nb7f24sghg76"
}
]
}
}
Mall
""
innan mall i målserverkonfiguration. Mer information om att undvika dubbla citattecken finns i kapitel 9 i JSON-standard.Observera att input.aggregationKey.identityNamespaces
används i mallen nedan
{
"profiles": [
{% for profile in input.profiles %}
{
{% for ns in input.aggregationKey.identityNamespaces %}
"{{ns}}": [
{% for id in profile.identityMap[ns] %}
"{{id.id}}"{% if not loop.last %},{% endif %}
{% endfor %}
]{% if not loop.last %},{% endif %}
{% endfor %}
}{% if not loop.last %},{% endif %}
{% endfor %}
]
}
Resultat
När profilerna exporteras till ditt mål delas de upp i två grupper utifrån deras ID-namnutrymmen. E-post och telefon finns i en grupp, medan GAID och IDFA är i en annan.
{
"profiles":[
{
"email":[
"e1@example.com",
"e2@example.com"
],
"phone":[
"+40744111222"
]
},
{
"email":[
"e3@example.com"
],
"phone":[
"+40744333444",
"+40744555666"
]
}
]
}
{
"profiles":[
{
"IDFA":[
"AEBE52E7-03EE-455A-B3C4-E57283966239"
],
"GAID":[
"e4fe9bde-caa0-47b6-908d-ffba3fa184f2"
]
},
{
"IDFA":[
"134GHU45-34HH-GHJ7-K0H8-LHN665998NN0"
],
"GAID":[
"47bh00i9-8jv6-334n-lll8-nb7f24sghg76"
]
}
]
}
Använda aggregeringsnyckeln i en URL-mall aggregation-key-url-template
Beroende på ditt användningssätt kan du även använda de aggregeringsnycklar som beskrivs här i en URL, som visas nedan:
https://api.example.com/audience/{{input.aggregationKey.segmentId}}
Referens: Kontext och funktioner som används i omformningsmallar reference
Kontexten som anges för mallen innehåller input
(profilerna/data som exporteras i det här anropet) och destination
(data om målet som Adobe skickar data till, giltigt för alla profiler).
Tabellen nedan innehåller beskrivningar av funktionerna i exemplen ovan.
input.profile
hasSegments
true
om det finns minst en publik på kartan (oavsett dess status), och false
annars. Du kan använda den här funktionen för att bestämma om du vill iterera över en karta med målgrupper eller inte.hasSegments(input.profile.segmentMembership)
destination.namespaceSegmentAliases
destination.namespaceSegmentAliases["ups"]["seg-id-1"]
destination.namespaceSegmentNames
destination.namespaceSegmentNames["ups"]["seg-name-1"]
destination.namespaceSegmentTimestamps
destination.namespaceSegmentTimestamps["ups"]["seg-id-1"].createdAt
: returnerar den tidpunkt då segmentet med ID:tseg-id-1
, frånups
namespace skapades i UNIX-tidsstämpelformat.destination.namespaceSegmentTimestamps["ups"]["seg-id-1"].updatedAt
: returnerar den tid då målgruppen med ID:tseg-id-1
, frånups
namespace, was updated, in UNIX timestamp format.destination.namespaceSegmentTimestamps["ups"]["seg-id-1"].mappingCreatedAt
: returnerar den tid då målgruppen med ID:tseg-id-1
, frånups
namnutrymmet aktiverades till målet i UNIX-tidsstämpelformat.destination.namespaceSegmentTimestamps["ups"]["seg-id-1"].mappingUpdatedAt
: returnerar den tidpunkt då målgruppsaktiveringen uppdaterades på målet, i UNIX-tidsstämpelformat.
addedSegments(mapOfNamespacedSegmentIds)
realized
, i alla namnutrymmen.addedSegments(input.profile.segmentMembership)
removedSegments(mapOfNamespacedSegmentIds)
exited
, i alla namnutrymmen.removedSegments(input.profile.segmentMembership)
destination.segmentAliases
destination.namespaceSegmentAliases
Mappa från målgrupps-ID:n i Adobe Experience Platform-namnområdet till målgruppsalias i partnersystemet.
destination.segmentAliases["seg-id-1"]
destination.segmentNames
destination.namespaceSegmentNames
Mappa från målgruppsnamn i Adobe Experience Platform-namnområdet till målgruppsnamn i partnersystemet.
destination.segmentNames["seg-name-1"]
destination.segmentTimestamps
destination.namespaceSegmentTimestamps
Returnerar den tid då en målgrupp skapades, uppdaterades eller aktiverades i UNIX-tidsstämpelformat.
destination.segmentTimestamps["seg-id-1"].createdAt
: returnerar den tid då målgruppen med ID:tseg-id-1
skapades i UNIX-tidsstämpelformat.destination.segmentTimestamps["seg-id-1"].updatedAt
: returnerar den tid då målgruppen med ID:tseg-id-1
uppdaterades i UNIX-tidsstämpelformat.destination.segmentTimestamps["seg-id-1"].mappingCreatedAt
: returnerar den tid då målgruppen med ID:tseg-id-1
har aktiverats till målet i UNIX-tidsstämpelformat.destination.segmentTimestamps["seg-id-1"].mappingUpdatedAt
: returnerar den tidpunkt då målgruppsaktiveringen uppdaterades på målet, i UNIX-tidsstämpelformat.
Nästa steg next-steps
När du har läst det här dokumentet kan du nu se hur data som exporteras från Experience Platform omformas. Läs sedan följande sidor för att lära dig mer om hur du skapar meddelandeomformningsmallar för ditt mål:
Mer information om andra målserverkomponenter finns i följande artiklar: