Använda enhets-ID:n från första part i Web SDK
Adobe Experience Platform Web SDK tilldelar Adobe Experience Cloud ID:n (ECID:n) till webbplatsbesökare som använder cookies för att spåra användarbeteende. Om du vill åtgärda webbläsarbegränsningar för cookie-livscykler kan du ange och hantera egna enhetsidentifierare, som kallas FPID (First-party device ID).
Förhandskrav prerequisites
Innan du börjar bör du kontrollera att du är bekant med hur identitetsdata fungerar i Web SDK, inklusive ECID:n och identityMap
. Mer information finns i översikten över identitetsdata i Web SDK.
Krav för formatering av enhets-ID från första part formatting-requirements
Edge Network godkänner endast ID:n som är kompatibla med formatet UIDv4. Enhets-ID:n som inte är i UUIDv4-format kommer att avvisas.
- UUIDs är unika och slumpmässiga, med en försumbar sannolikhet för kollision.
- UUIDv4 kan inte dirigeras med IP-adresser eller annan personligt identifierbar information (PII).
- Bibliotek för att generera UUIDs är tillgängliga för alla programmeringsspråk.
Ange cookien FPID med din egen server set-cookie-server
När du ställer in en cookie via din egen server kan du använda olika metoder för att förhindra att cookien begränsas på grund av webbläsarprinciper:
- Generera cookies med serverskriptspråk
- Ange cookies som svar på en API-begäran som görs till en underdomän eller annan slutpunkt på webbplatsen
- Generera cookies med en CMS
- Generera cookies med en CDN
Dessutom bör du alltid ange FPID-cookie under domänens A
-post.
document.cookie
-metod kommer nästan aldrig att skyddas från webbläsarprinciper som begränsar cookie-varaktighet.När cookien ska ställas in when-to-set-cookie
Cookien FPID bör helst anges innan någon begäran görs till Edge Network. I scenarier där detta inte är möjligt genereras dock ECID fortfarande med befintliga metoder och fungerar som primär identifierare så länge som cookien finns.
Om ECID så småningom påverkas av en princip för borttagning av webbläsare, men FPID inte gör det, kommer FPID att bli den primära identifieraren vid nästa besök och kommer att användas för att dirigera ECID vid varje efterföljande besök.
Ange förfallodatum för cookien set-expiration
Att ange förfallodatum för en cookie är något som du bör tänka på noga när du implementerar funktionen FPID. När du beslutar om detta bör du ta hänsyn till de länder eller regioner där organisationen arbetar tillsammans med lagstiftningen och policyn i var och en av dessa regioner.
Som en del av det här beslutet kanske du vill anta en företagsomfattande policy för cookie-inställningar eller en som varierar för användare på de olika språkområden där du arbetar.
Oavsett vilken inställning du väljer för den första förfallodagen för en cookie måste du se till att du inkluderar logik som förlänger förfallotiden för cookien varje gång ett nytt besök på webbplatsen inträffar.
Påverkan av cookie-flaggor cookie-flag-impact
Det finns olika cookie-flaggor som påverkar hur cookies hanteras i olika webbläsare:
HTTPOnly
http-only
Det går inte att komma åt cookies som har angetts med flaggan HTTPOnly
med skript på klientsidan. Det innebär att om du anger en HTTPOnly
-flagga när du anger FPID måste du använda ett skriptspråk på serversidan för att läsa cookie-värdet som ska inkluderas i identityMap
.
Om du väljer att Edge Network ska läsa värdet för cookien FPID kan du genom att ange flaggan HTTPOnly
se till att värdet inte är tillgängligt för klientskript, men inte har någon negativ inverkan på Edge Network förmåga att läsa cookien.
HTTPOnly
påverkar inte cookie-principerna som kan begränsa cookie-livstiden. Men det är fortfarande något du bör tänka på när du anger och läser värdet för FPID.Secure
secure
Cookies som angetts med attributet Secure
skickas bara till servern med en krypterad begäran via protokollet HTTPS. Om du använder den här flaggan kan du se till att angripare i mitten inte lätt kommer åt värdet på cookien. När det är möjligt är det alltid en bra idé att ange flaggan Secure
.
SameSite
same-site
Med attributet SameSite
kan servrar avgöra om cookies skickas med förfrågningar mellan webbplatser. Attributet ger visst skydd mot attacker med förfalskning över flera webbplatser. Det finns tre möjliga värden: Strict
, Lax
och None
. Kontakta ditt interna team för att ta reda på vilken inställning som är rätt för din organisation.
Om inget SameSite
-attribut anges är standardinställningen för vissa webbläsare nu SameSite=Lax
.
ID-hierarki id-hierarchy
När både ECID och FPID finns med prioriteras ECID när användaren identifieras. Detta garanterar att när en befintlig ECID finns i webbläsar-cookie-arkivet förblir den primära identifieraren och befintligt antal besökare riskerar inte att påverkas. För befintliga användare blir FPID inte den primära identiteten förrän ECID förfaller eller tas bort som ett resultat av en webbläsarprincip eller manuell process.
Identiteter prioriteras i följande ordning:
- ECID ingår i
identityMap
- ECID lagras i en cookie
- FPID ingår i
identityMap
- FPID lagras i en cookie
Migrera till enhets-ID:n från första part migrating-to-fpid
Om du migrerar till enhets-ID:n från en tidigare implementering kan det vara svårt att se hur övergången kan se ut på en låg nivå.
För att illustrera den här processen bör du överväga ett scenario där en kund som tidigare besökt din webbplats deltar och vilken inverkan en FPID-migrering skulle ha på hur kunden identifieras i Adobe-lösningar.
ECID
prioriteras alltid framför FPID
.Använda FPID (First-party device ID) using-fpid
Första parts enhets-ID (FPIDs) spårar besökare med hjälp av cookies från första part. Första parts-cookies är mest effektiva när de ställs in med en server som använder en DNS A-post (för IPv4) eller AAAA-post (för IPv6), i motsats till en DNS CNAME - eller JavaScript -kod.
När en FPID-cookie har angetts kan dess värde hämtas och skickas till Adobe när händelsedata samlas in. Insamlade FPIDs används för att generera ECIDs, som är de primära identifierarna i Adobe Experience Cloud-program.
Du kan använda FPIDs på två sätt:
- Metod 1: Konfigurera en CNAME för dina SDK-webbanrop och inkludera namnet på din FPID-cookie i din datastream-konfiguration.
- Metod 2: Inkludera FPID i identitetskartan. Mer information finns i avsnittet längre ned i det här dokumentet om att använda FPID:n i
identityMap
.
Metod 1: Konfigurera en CNAME-fil för dina SDK-webbsamtal och ange en cookie-fil för första parts-ID i ditt datastam setting-cookie-datastreams
Om du vill ange en FPID-cookie från din egen domän måste du konfigurera din egen CNAME (kanoniskt namn) för dina SDK-webbanrop och sedan aktivera First Party ID Cookie-funktionen i din datastream-konfiguration.
Steg 1. Konfigurera en CNAME för din SDK-distributionsdomän
Med en CNAME-post i din DNS kan du skapa ett alias från ett domännamn till ett annat. Detta kan få tredjepartstjänster att se ut som om de är en del av din egen domän, vilket gör att deras cookies ser ut som cookies från första part.
Exempel
Tänk på att du vill implementera Web SDK på din webbplats mywebsite.com
. SDK skickar data till Edge Network till domänen edge.adobedc.net
.
- Webbplatsen
mywebsite.com
använder SDK-domänenedge.adobedc.net
för att skicka data till Edge Network. - Cookies som anges av
edge.adobedc.net
betraktas som cookies från tredje part eftersom de inte kommer från dinmywebsite.com
-domän. Beroende på vilka webbläsare du använder kan cookies från tredje part blockeras och dina data når inte Edge Network.
- Du skapar en underdomän där du distribuerar Web SDK, till exempel
metrics.mywebsite.com
. - Du anger en CNAME-post i DNS-systemet så att
metrics.mywebsite.com
pekar påedge.adobedc.net
. - När din webbplats ställer in cookies via
metrics.mywebsite.com
ser det ut som om de kommer frånmywebsite.com
(första part) i stället föredge.adobedc.net
(tredje part). Detta gör det mindre sannolikt att cookie-filen för första parts-ID blockeras, vilket ger en mer korrekt datainsamling.
När datainsamling från första part aktiveras med en CNAME skickas alla cookies för din domän på begäranden som görs till datainsamlingsslutpunkten.
Om du vill använda den här funktionen måste du ange cookien FPID på den översta nivån i din domän i stället för en specifik underdomän. Om du anger värdet för en underdomän skickas inte cookie-värdet till Edge Network och lösningen FPID fungerar inte som den ska.
Steg 2. Aktivera funktionen First Party ID Cookie för din datastream
När du har konfigurerat CNAME måste du aktivera alternativet First Party ID Cookie för ditt datastream. Den här inställningen anger för Edge Network att referera till en angiven cookie när du söker efter ett enhets-ID från en annan leverantör, i stället för att leta upp det här värdet i identitetskartan.
Läs dokumentationen för datastream-konfigurationen om du vill veta mer om hur du konfigurerar datastream.
Mer information om hur de fungerar med Adobe Experience Cloud finns i dokumentationen om cookies från första part.
När du aktiverar den här inställningen måste du ange namnet på den cookie där FPID förväntas lagras.
UUID
som genereras av den tjänsten. När du använder funktionen för första parts-ID genereras ECID utan att tjänsten Visitor ID används, vilket gör det omöjligt att synkronisera tredje parts-ID.När du använder egna ID:n stöds inte Audience Manager-funktioner som är avsedda för aktivering på partnerplattformar, eftersom synkroniseringen av Audience Manager partner-ID oftast baseras på
UUIDs
eller DIDs
. ECID som härleds från ett första part-ID är inte länkat till en UUID
, vilket gör den oadresserbar.Metod 2: Använd FPID i identityMap
identityMap
Som ett alternativ till att lagra FPID i din egen cookie kan du skicka FPID till Edge Network via identitetskartan.
Nedan visas ett exempel på hur du skulle ange en FPID i identityMap
:
{
"identityMap": {
"FPID": [
{
"id": "123e4567-e89b-42d3-9456-426614174000",
"authenticatedState": "ambiguous",
"primary": true
}
]
}
}
Precis som med andra identitetstyper kan du inkludera FPID med andra identiteter i identityMap
. Följande är ett exempel på FPID som ingår i en autentiserad CRM ID:
{
"identityMap": {
"FPID": [
{
"id": "123e4567-e89b-42d3-9456-426614174000",
"authenticatedState": "ambiguous",
"primary": false
}
],
"EMAIL": [
{
"id": "email@mail.com",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
Om FPID finns i en cookie som läses av Edge Network när datainsamling från första part aktiveras, bör du endast hämta den autentiserade CRM ID:
{
"identityMap": {
"EMAIL": [
{
"id": "email@mail.com",
"authenticatedState": "authenticated",
"primary": true
}
]
}
}
Följande identityMap
skulle resultera i ett felsvar från Edge Network eftersom primary
-indikatorn för FPID saknas. Minst ett av ID:n i identityMap
måste markeras som primary
.
{
"identityMap": {
"FPID": [
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"authenticatedState": "ambiguous"
}
],
"EMAIL": [
{
"id": "email@mail.com",
"authenticatedState": "authenticated"
}
]
}
}
Felsvaret som returnerades av Edge Network i det här fallet liknar följande:
{
"type": "https://ns.adobe.com/aep/errors/EXEG-0306-400",
"status": 400,
"title": "No primary identity set in request (event)",
"detail": "No primary identity found in the input event. Update the request accordingly to your schema and try again.",
"report": {
"requestId": "{REQUEST_ID}",
"configId": "{CONFIG_ID}",
"orgId": "{ORG_ID}"
}
}
Vanliga frågor och svar faq
Nedan följer en lista med svar på vanliga frågor om enhets-ID:n från första part.
Hur skickar jag ett ID annorlunda än att bara generera ett ID?
Begreppet dirigering är unikt i och med att FPID som skickas till Adobe Experience Cloud konverteras till ECID med hjälp av en deterministisk algoritm. Varje gång samma FPID skickas till Edge Network dirigeras samma ECID från FPID.
När ska det första parts enhets-ID genereras?
För att minska potentiell besökarökning bör FPID genereras innan du gör din första begäran via Web SDK. Om du inte kan göra detta kommer dock ECID fortfarande att genereras för den användaren och kommer att användas som primär identifierare. FPID som skapades blir inte primär identifierare förrän ECID inte längre finns.
Vilka datainsamlingsmetoder stöder enhets-ID:n från första part?
För närvarande stöder endast Web SDK enhets-ID:n från första part.
Lagras förstahandsenhets-ID:n på någon plattforms- eller Experience Cloud-lösning?
När FPID har använts för att skapa startvärdet för en ECID tas den bort från identityMap
och ersätts med ECID som har genererats. FPID lagras inte i några Adobe Experience Platform- eller Experience Cloud-lösningar.