共享设备
本文提供有关共享设备的上下文,介绍如何使用拼接处理并缓解来自共享设备的数据,以及了解使用查询服务在数据中共享设备的暴露情况。
什么是共享设备?
共享设备是指由多个用户使用的设备。 常见的情况是平板电脑、网亭中使用的设备或由呼叫中心代理共享的计算机设备。
当两个用户使用同一设备且都进行购买时,示例事件数据可能如下所示:
1234
1234
1234
ryan@a.com
1234
1234
cassidy@a.com
如该表所示,一旦在事件3和5上执行身份验证,设备id和人员id之间就会开始形成链接。 要了解任何营销工作对人员级别的影响,这些未经身份验证的事件需要归因到正确的人员。
改进以人为中心的分析
拼接过程通过将选定的人员标识符(在示例数据中为电子邮件)添加到不存在该标识符的事件来解决此归因问题。 拼接利用设备ID和人员ID之间的映射,以确保在分析中使用经过身份验证和未经身份验证的流量,同时保持以人员为中心。 有关详细信息,请参阅拼接。
拼接可以使用最后验证归因或设备拆分归因来归因共享设备数据。 所有将未经身份验证的事件拼合到已知用户的尝试都是不确定的。
最后验证归因
上次身份验证将共享设备中的所有未知活动归因于上次进行身份验证的用户。 Experience PlatformIdentity服务基于最后验证归因构建图形,因此用于基于图形的拼合。 有关详细信息,请参阅身份图链接规则概述。
在拼接中使用最后验证归因时,拼接ID会解析,如下表所示。
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
设备拆分
设备拆分将来自共享设备的匿名活动归因于最接近匿名活动的用户。 设备拆分当前用于基于字段的拼合。
在拼合中使用设备拆分归因时,拼合ID会解析,如下表所示。
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
共享设备曝光
请考虑多个因素,以正确了解共享设备在您的组织中的普及程度。 此外,了解来自共享设备的事件的总体贡献可以帮助您了解对用于分析的总体事件数据的影响。
要了解共享设备泄露,可以考虑执行以下查询。
-
识别共享设备
要了解共享的设备数量,请执行查询,以使用两个或更多关联的人员ID来计算设备ID。 这有助于识别由多个用户使用的设备。
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;
-
将事件归因到共享设备
对于已识别的共享设备,确定总计中有多少事件可归因于这些设备。 此归因可让您深入了解共享设备对您的数据产生的影响以及进行相关分析的影响。
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;
-
识别共享设备上的匿名事件
在归因于共享设备的事件中,确定有多少事件缺少人员ID,这表示匿名事件。 您选择的用于提高数据质量的算法(例如last-auth、device-split或ECID-reset)会影响这些匿名事件。
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;
-
根据事件分类错误计算曝光率
最后,评估每个客户因事件分类错误而可能面临的风险。 计算每个共享设备的匿名事件占事件总数的百分比。 这有助于了解对客户数据准确性的潜在影响。
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;