通过 Adobe Analytics 数据馈送能够灵活地访问原始数据,支持复杂的操作以及与其他数据源的集成。它们通过填补分析空白,对 Adobe Analysis Workspace 等工具起到了补充作用。数据馈送会按行存储每次服务器调用,分批次发送,并包含关键量度。汇总表和全局筛选有助于简化分析并确保一致性。本指南介绍其潜在用途,并为进一步探索奠定基础。
简介
数据馈送是一种获取通过 Adobe 收集的原始、细粒度数据的强有力方法。将这些数据引入数据库后,能创建无数有趣的用例,包括:
-
拥有无与伦比的灵活性,可以精确地按照您的需求处理数据(例如,更改 eVar 持久性、设置复杂的顺序逻辑)
-
将 Adobe Analytics 数据与其他数据源相结合,以实现全方位的报告,或作为模型和决策驱动因素的依据
虽然数据馈送不应成为分析 Adobe Analytics 数据的唯一方法,但它可用于填补 Adobe Analysis Workspace、Data Warehouse 或 Report Builder 可能遗留的缺口。可以将数据馈送视为 Adobe Analytics 工具包中的众多工具之一!
数据馈送与其他 Adobe Analytics 工具的比较:
用例
工作区
Data Warehouse
数据馈送
注意:本战术手册不会介绍如何将数据馈送导入到数据库中。我们假定数据馈送已经可便捷地访问以用于查询。
-
有关设置和摄取数据馈送的指导,请参阅:https://experienceleague.adobe.com/docs/analytics/export/analytics-data-feed/data-feed-overview.html?lang=zh-CN
-
有关数据馈送中包含哪些文件的概述:https://experienceleague.adobe.com/zh-hans/docs/analytics/export/analytics-data-feed/data-feed-contents/datafeeds-contents
了解数据馈送
什么是数据馈送?
每次 Adobe Analytics 服务器调用都会在数据馈送中存储为一行。每个报告包都需要设置一个单独的数据馈送。数据在每小时过后以小时为单位分批发送,或者在每天结束时以天为单位分批发送。
在每个实施中,原始数据馈送的格式保持不变。此处为所有可用列的完整列表:https://experienceleague.adobe.com/zh-hans/docs/analytics/export/analytics-data-feed/data-feed-contents/datafeeds-reference。战术手册的这一部分将重点介绍几个重要的列。
发生次数(点击)、访问和访客标识符
若要重现现成的发生次数、访问和独特访客,需要综合使用四列:post_visid_high、post_visid_low、visit_num 和 visit_page_num
-
独特访客:将 post_visid_high 和 post_visid_low 拼接起来可获得访客 ID。对这个访客 ID 进行去重计数将重现独特访客数。
-
访问:将 post_visid_high、post_visid_low 和 visit_num 拼接起来可获得访问 ID。对这个访问 ID 进行去重计数将重现访问量。由于哈希冲突,您可能还需要拼接上 visit_start_time_gmt。
-
发生次数:将 post_visid_high、post_visid_low、visit_num 和 visit_page_num 拼接起来可获得点击 ID。对这个点击 ID 进行去重计数将重现发生次数。
以下是用于获取访客数、访问次数和发生次数的 SQL 入门代码:
SELECT
COUNT(DISTINCT CONCAT(POST_VISID_HIGH, POST_VISID_LOW)) AS VISITORS,
COUNT(DISTINCT CONCAT(POST_VISID_HIGH, POST_VISID_LOW, VISIT_NUM)) AS VISITS,
COUNT(DISTINCT CONCAT(POST_VISID_HIGH, POST_VISID_LOW, VISIT_NUM, VISIT_PAGE_NUM)) AS OCCURRENCES
FROM DATA_FEEDS
WHERE HIT_SOURCE = '1' AND EXCLUDE_HIT = '0'
提示: 在 Adobe Workspace 中,“访问深度”维度等同于数据馈送中的 visit_num 列。Workspace 中的“点击深度”维度等同于数据馈送中的 visit_page_num 列。
关于 visit_page_num 列的说明:
-
不要被 visit_page_num 列名称中的“page”一词误导!此数据不仅会在发生页面浏览时递增,也会在每次分析服务器调用时递增。
-
访问并不一定是从 visit_page_num = 1 开始,但大多数时候应该是这样。为了获得准确的报告,如果您需要提取某次访问的第一次点击,请针对一个访问 ID 计算最小的 visit_page_num
提示: 如果要查看用户执行的具体操作,可以选择一个访客 Id,按 visit_num 排序,然后按 visit_page_num 排序,这样就能逐个点击地重现其操作。这在调试客户历程时非常有用——您可以在浏览自己的数字资产时,通过自己的操作来测试一下!
eVar 和 prop
每个 eVar 和 prop 在数据馈送中都有一个专门的列,无论它是否已启用或已填充数据。对于预处理值和后处理值也分别有单独的列。后处理列将应用 eVar 归因和过期逻辑。
请参阅此流程图,了解何时进行处理:https://experienceleague.adobe.com/docs/analytics/technotes/processing-order.html?lang=zh-CN
总共将有 500 列 eVar(即,一次实施中可以创建 2 组,每组 250 个可能的 eVar)和 150 列 prop(即,一次实施中可以设置 2 组,每组 75 个可能的 prop)。
提示: 是否希望所捕获的 eVar 具有 prop 的属性?未经过后处理的 eVar 列的行为与 prop 类似。没有应用 eVar 归因或持久性逻辑时,可使用未经过后处理的列来筛选必须包含该 eVar 的分析点击,这与使用 prop 完全相同!
区段和计算量度
区段、自定义计算量度以及 Adobe 的现成量度都需要进行自定义。有关现成的量度和区段,请参阅 Adobe 的技术文档。
在此处可找到复制某些常用量度的逻辑:https://experienceleague.adobe.com/zh-hans/docs/analytics/export/analytics-data-feed/data-feed-contents/datafeeds-calculate
下一部分提供了示例代码,以重现 Adobe 的现成跳出率量度作为示例。一篇即将发布的 Experience League 文章会提供更多示例,介绍如何利用数据馈送重新创建区段和量度。
查询数据馈送
基础知识
我们的第一个查询将统计特定日期的访问量,同时排除任何不必要的点击。
SELECT
COUNT(DISTINCT CONCAT (POST_VISID_HIGH, POST_VISID_LOW, VISIT_NUM)) AS VISITS
FROM DATA_FEEDS
WHERE HIT_SOURCE = '1' AND EXCLUDE_HIT = '0'
接下来,我们将按登入页面统计访问量。
WITH MIN_VISIT_PAGE_NUM_TABLE AS (
SELECT
POST_VISID_HIGH,
POST_VISID_LOW,
VISIT_NUM,
MIN(VISIT_PAGE_NUM) AS MIN_VISIT_PAGE_NUM
FROM DATA_FEEDS
WHERE HIT_SOURCE = '1' AND EXCLUDE_HIT = '0'
GROUP BY 1,2,3)
SELECT
PAGE_NAME,
COUNT(DISTINCT A.VISIT_ID) AS ENTRIES
FROM DATA_FEEDS A
LEFT JOIN MIN_VISIT_PAGE_NUM_TABLE B
ON A.POST_VISID_HIGH = B.POST_VISID_HIGH
AND A.POST_VISID_LOW = B.POST_VISID_LOW
AND A.VISIT_NUM = B.VISIT_NUM
AND A.VISIT_PAGE_NUM = B.MIN_VISIT_PAGE_NUM
WHERE HIT_SOURCE = '1' AND EXCLUDE_HIT = '0'
GROUP BY 1
提示: 若要重现上述退出情况,请找出 visit_page_num 的最大值,而不是最小值。
最后,我们将重现现成的跳出率量度。
WITH MAX_VISIT_PAGE_NUM_TABLE AS (
SELECT
POST_VISID_HIGH,
POST_VISID_LOW,
VISIT_NUM,
MAX(VISIT_PAGE_NUM) AS MAX_VISIT_PAGE_NUM
FROM DATA_FEEDS
WHERE HIT_SOURCE = '1' AND EXCLUDE_HIT = '0'
GROUP BY 1,2,3),
MIN_VISIT_PAGE_NUM_TABLE AS (
SELECT
POST_VISID_HIGH,
POST_VISID_LOW,
VISIT_NUM,
MIN(VISIT_PAGE_NUM) AS MIN_VISIT_PAGE_NUM
FROM DATA_FEEDS
WHERE HIT_SOURCE = '1' AND EXCLUDE_HIT = '0'
GROUP BY 1,2,3)
SELECT
COUNT(DISTINCT A.VISIT_ID) AS BOUNCES
FROM MAX_VISIT_PAGE_NUM A
LEFT JOIN MIN_VISIT_PAGE_NUM_TABLE B
ON A.POST_VISID_HIGH = B.POST_VISID_HIGH
AND A.POST_VISID_LOW = B.POST_VISID_LOW
AND A.VISIT_NUM = B.VISIT_NUM
WHERE A.MAX_VISIT_PAGE_NUM = B.MIN_VISIT_PAGE_NUM
数据馈送策略
构建汇总表
构建原始数据馈送的汇总视图可能会很有用。其优势包括:
-
对于最终用户更简单:普通数据科学家若想利用这些数据,无需担心使用哪个促销 eVar,或如何解析事件列表。
-
减轻查询负载:数据馈送可能是 TB 级的庞大数据集。数据工程团队会希望您减少针对原始数据集的查询,并引导最终用户使用更小、更易于管理的表
所需的汇总表类型取决于每个组织及其利益相关者,但以下是一些帮助您入门的示例:
-
用户详细信息表:包含所有点击和页面数据(例如页面名称、最后接触渠道、移动设备)。
-
关键事件表:包含已解析的 product_list 以及该点击中发生的所有事件。
-
搜索词:包含所有搜索词以及与搜索相关的量度。
请记住,最终用户需要结合这些表才能获得所需的结果。例如,最简单的方法可能是让每个汇总表都包含 post_visid_high、post_visid_low、visit_num 和 visit_page_num,这样您就能在任何粒度级别进行结合。
全局筛选器
一些组织会为所有报告应用全局筛选器(例如,用于排除机器人、欺诈性流量等)。可以考虑创建一个汇总表来重现此过滤器,并将其与针对原始数据馈送的任何查询结合起来。
拥有集中式表格就无需随着时间推移和变化而不断维护此筛选逻辑。
借助 Workspace 进行差异监测
在开始使用数据馈送时,请按日快速统计访问量,并确保每日数据与 Workspace 数据一致虽然您的数据馈送已启用,但内部数据工程部门在处理文件时可能存在疏漏,或者 Adobe 可能未发送某些文件。
无论如何,设置定期验证很有必要,可确保 Workspace 中的数据与您的数据馈送和任何汇总表始终保持一致。
结论
处理 Adobe 数据馈送可能像是一个艰巨的任务。但是,一旦您掌握了这些方法,就有无限的可能来定制数据以满足特定用例的需要。
本文为理解这些数据馈送奠定了基础,但仅仅是触及皮毛。请继续关注 Experience League 上的更多文章,以帮助您深入了解这些丰富数据!
其他资源
-
数据馈送中包含的 HAT 文件概述:https://experienceleague.adobe.com/zh-hans/docs/analytics/export/analytics-data-feed/data-feed-contents/datafeeds-contents
-
Adobe 数据处理流程图:https://experienceleague.adobe.com/docs/analytics/technotes/processing-order.html?lang=zh-CN
-
如何使用数据馈送复制常见的计算量度:https://experienceleague.adobe.com/zh-hans/docs/analytics/export/analytics-data-feed/data-feed-contents/datafeeds-calculate