Delade enheter
Den här artikeln innehåller kontext på delade enheter, hur du hanterar och minskar data från delade enheter med sammanfogning och hur du förstår exponeringen för delade enheter i dina data med hjälp av frågetjänsten.
Vad är en delad enhet?
En delad enhet är en enhet som används av mer än en person. Vanliga scenarier är enheter som surfplattor, enheter som används i kioskdatorer eller datorutrustning som delas av agenter i callcenters.
När två personer använder samma enhet och båda gör ett köp kan exempeldata för händelsen se ut så här:
1234
1234
1234
ryan@a.com
1234
1234
cassidy@a.com
Som du kan se i den här tabellen börjar en länk mellan ett enhets-ID och ett person-ID när autentisering sker på händelse 3 och 5. För att förstå effekten av marknadsföringssatsningar på personnivå måste dessa oautentiserade händelser tillskrivas rätt person.
Förbättra personcentrerad analys
Sammanfogningsprocessen åtgärdar det här attribueringsproblemet genom att lägga till den valda identifieraren (i exempeldata, e-postmeddelandet) till händelser där identifieraren inte finns. Stitching utnyttjar en mappning mellan enhets-ID:n och person-ID:n för att säkerställa att både autentiserad och oautentiserad trafik kan användas i analysen, så att den är personcentrerad. Mer information finns i Stitching.
Stitching kan attribuera delade enhetsdata med antingen senaste-auth-attribuering eller enhetsdelad attribuering. Alla försök att fästa oautentiserade händelser till en känd användare är icke-deterministiska.
Senaste auktoriseringsattribuering
Senaste autentiseringsattributen för all okänd aktivitet från en delad enhet till den användare som senast autentiserades. Experience Platform Identity Service bygger diagrammet baserat på den senaste autentiseringsattribueringen och används som sådan i diagrambaserade stygn. Mer information finns i Översikt över regler för länkning av identitetsdiagram.
När senaste-auth-attribuering används för sammanfogning tolkas Stitched ID:n som i tabellen nedan.
1234
cassidy@a.com
1234
cassidy@a.com
1234
ryan@a.com
cassidy@a.com
1234
cassidy@a.com
1234
cassidy@a.com
cassidy@a.com
1234
cassidy@a.com
Enhetsdelning
Enhetsdelning attribuerar anonym aktivitet från en delad enhet till användaren i närmast närhet till den anonyma aktiviteten. Enhetsdelning används för närvarande i fältbaserad sammanfogning.
När enhetsdelad attribuering används vid sammanfogning tolkas häftade ID:n som i tabellen nedan.
1234
ryan@a.com
1234
ryan@a.com
1234
ryan@a.com
ryan@a.com
1234
ryan@a.com
1234
cassidy@a.com
cassidy@a.com
1234
cassidy@a.com
Exponering för delad enhet
Tänk på flera faktorer för att förstå hur användbara delade enheter är i din organisation. Dessutom kan en förståelse för hur händelser från delade enheter bidrar till att förstå hur de påverkar den övergripande händelseinformationen som används för analysen.
Om du vill förstå hur den delade enheten exponeras kan du överväga att utföra följande frågor.
-
Identifiera delade enheter
Om du vill förstå hur många enheter som delas kan du utföra en fråga som räknar enhets-ID:n med två eller flera associerade person-ID:n. Detta hjälper till att identifiera enheter som används av flera personer.
code language-sql SELECT COUNT(*) FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, COUNT(DISTINCT /* INSERT TRANSIENT FIELD HERE */) AS transient_count FROM /* INSERT DATASET HERE */ GROUP BY 1 ) WHERE transient_count > 1;
-
Attribution of events to shared devices
För de delade enheter som identifieras avgör du hur många händelser av det totala antalet som kan tillskrivas dessa enheter. Den här attribueringen ger insikt i hur delade enheter påverkar era data och vilka konsekvenser de kan få för analysen.
code language-sql SELECT COUNT(*) AS total_events, COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL, 1, null)) shared_persistent_ids_events, (COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL, 1, null)) / COUNT(*)) * 100 AS shared_persistent_ids_events_percent FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, /* INSERT TRANSIENT FIELD HERE */ AS transient_id FROM /* INSERT DATASET HERE */ ) events LEFT JOIN ( SELECT persistent_id FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, COUNT(DISTINCT /* INSERT TRANSIENT FIELD HERE */) AS transient_count FROM /* INSERT DATASET HERE */ GROUP BY 1 ) WHERE transient_count > 1 ) shared_persistent_ids ON events.persistent_id = shared_persistent_ids.persistent_id;
-
Identifiera anonyma händelser på delade enheter
Bland de händelser som kan tillskrivas delade enheter kan du identifiera hur många som saknar ett person-ID, vilket anger anonyma händelser. Den algoritm som du väljer (till exempel last-auth, device-split eller ECID-reset) för att förbättra datakvaliteten påverkar dessa anonyma händelser.
code language-sql SELECT COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL, 1, null)) shared_persistent_ids_events, COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL AND events.transient_id IS NULL, 1, null)) shared_persistent_ids_anon_events, (COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL AND events.transient_id IS NULL, 1, null)) / COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL, 1, null))) * 100 AS shared_persistent_ids_anon_events_percent FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, /* INSERT TRANSIENT FIELD HERE */ AS transient_id FROM /* INSERT DATASET HERE */ ) events LEFT JOIN ( SELECT persistent_id FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, COUNT(DISTINCT /* INSERT TRANSIENT FIELD HERE */) AS transient_count FROM /* INSERT DATASET HERE */ GROUP BY 1 ) WHERE transient_count > 1 ) shared_persistent_ids ON events.persistent_id = shared_persistent_ids.persistent_id;
-
Beräkna exponering vid felklassificering av händelser
Slutligen, utvärdera den exponering som varje kund kan drabbas av på grund av felklassificering av händelser. Beräkna procentandelen anonyma händelser över det totala antalet händelser för varje delad enhet. Detta bidrar till att förstå den potentiella effekten på kundens datakvalitet.
code language-sql SELECT COUNT(*) AS total_events, COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL, 1, null)) shared_persistent_ids_events, (COUNT(IF(shared_persistent_ids.persistent_id IS NOT NULL AND events.transient_id IS NULL, 1, null)) / COUNT(*)) * 100 AS shared_persistent_ids_events_percent FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, /* INSERT TRANSIENT FIELD HERE */ AS transient_id FROM /* INSERT DATASET HERE */ ) events LEFT JOIN ( SELECT persistent_id FROM ( SELECT /* INSERT PERSISTENT FIELD HERE */ AS persistent_id, COUNT(DISTINCT /* INSERT TRANSIENT FIELD HERE */) AS transient_count FROM /* INSERT DATASET HERE */ GROUP BY 1 ) WHERE transient_count > 1 ) shared_persistent_ids ON events.persistent_id = shared_persistent_ids.persistent_id;