了解 Klaviyo 中的数据仓库事件导入
注意: 数据仓库导入是高级 KDP 的一部分,不包含在 Klaviyo 的标准营销应用程序中。需要订阅才能访问此功能。 # 了解 Klaviyo 中的数据仓库事件导入
你将会学到
了解如何使用数据仓库事件导入将事件数据从仓库同步到 Klaviyo,以便您可以使用源自 Klaviyo 本机集成(例如 POS 系统、支持平台或自定义应用程序)之外的行为来支持分段、流程和报告。 —
什么是数据仓库事件导入? 数据仓库事件导入 让 Klaviyo 直接连接到您的数据仓库,并从包含事件数据的仓库表或视图配置导入同步。源表中的每一行在 Klaviyo 中都被视为单个事件:
- 行的时间戳、指标名称和标识符定义发生了什么、何时和为谁。 – 附加列成为事件属性,您可以在分段、流和分析中使用它们。事件导入与配置文件导入建立在相同的数据仓库导入基础设施上,但针对的是 Klaviyo 的事件摄取管道而不是配置文件。 —
数据仓库事件导入如何工作?将 Klaviyo 连接到仓库并配置事件同步后:
- Klaviyo 查询您的仓库以获取配置的表或视图。
- 每次运行时,Klaviyo 仅读取更改检测时间戳比上次成功同步更新的行。这允许增量导入而无需重新处理整个表。
- 然后按如下方式处理每一行:
- Klaviyo 根据同步设置期间选择的选项确定指标名称(事件类型):单个选择的指标或根据源表中指定指标名称列的值动态确定。 –事件时间戳、配置文件标识符和可选唯一 ID、值和值货币是根据同步设置期间配置的字段映射来设置的。 – 所有剩余的列都被摄取为事件属性,使用列名称作为属性名称。带有三个下划线的列名称(例如,“parent___child1”、“parent___child2”)可用于创建具有子属性的事件属性(“parent”)。 4. Klaviyo 将生成的事件加载到您的帐户中,它们在分段、流和分析方面的行为与其他自定义 API 指标 一样。导入以重复的节奏(例如每小时)运行,因此仓库中的新行或更新行会定期转换为 Klaviyo 中的事件。 —
开始之前
在创建事件导入同步之前,请确保满足以下要求:
- 您的帐户有权访问高级KDP和数据仓库导入。 – 您已在 Klaviyo 中创建并验证了数据仓库连接。有关所需服务帐户和架构的详细信息,请参阅数据仓库的支持中心文章。 – 您的源表或视图包含以下所需的列。 – 您在仓库中有足够的权限向 Klaviyo 的服务用户公开必要的表/视图。 —
事件的源表结构
为了确保您的事件数据可以正确导入,您的源表或视图必须满足 Klaviyo 的必填字段和结构。
必填字段
数据仓库事件导入V1中需要以下列:
| 专栏 | 必需的? | 类型 | 描述 |
|---|---|---|---|
| 事件时间戳 | 必填 | 时间戳/日期时间 | 事件发生时。 |
| 指标名称 | 如果在同步配置设置期间未选择单个指标,则为必需。 | 字符串/文本 | 事件或指标名称(例如“已下订单”、“已打开支持票证”)。 |
| 个人资料标识符 | 必填(至少 1 个) | 字符串/文本 | 以下之一:电子邮件、电话号码、外部 ID 或 Klaviyo ID。您可以在行中包含多个,但必须至少映射一个。 |
| 更改检测时间戳 | 必填 | 时间戳 | 用于检测自上次运行以来的新行或更新行的稳定时间戳。必须与事件时间戳不同,以便您可以安全地导入历史事件。这应该反映行添加到数据集的时间,并且必须稳定才能同步正常工作。 |
可选字段
这些字段在适用但不严格要求时推荐:
| 专栏 | 必需的? | 类型 | 描述 |
|---|---|---|---|
| 唯一ID | 推荐 | 字符串/数字 | 事件的唯一标识符(用于重复数据删除)。 |
| 价值 | 推荐 | 数量 | 事件的数值(例如订单总数、使用的积分)。映射到 Klaviyo 事件模型中的“value”顶级字段。 |
| 价值货币 | 推荐 | 字符串/文本 | 与“价值”关联的货币代码(例如“USD”)。映射到“value_currency”顶级字段。 |
事件属性
表中的所有其他列均被视为事件属性:
- 列作为扁平属性导入,列名称直接用作 Klaviyo 中的属性名称。 – 您不需要显式映射每个属性;未映射的列将作为事件属性包含在内。 – 如果需要,嵌套 JSON 可以存储在单个属性值内(例如,行项目的 JSON 对象),但属性名称本身来自顶级列。 Klaviyo 对事件属性执行尽力类型解析,并且不提供每个字段的转换逻辑作为事件导入设置的一部分。 —
常见用例
客户通常将数据仓库事件导入用于:
1) 导入离线或 POS 事件
从您的仓库引入店内或线下事件(例如,POS 购买、退货或预约),以便它们的行为与其他 Klaviyo 事件和指标类似。 示例:
- “店内购买”活动,包含订单总额、商店位置和投标类型
- 包含工作人员、服务类型和持续时间的“预约已完成”事件
2) 服务和支持互动
同步支持和服务事件,例如票证创建、解决或退货,以丰富您的客户时间表并根据服务历史记录增强消息传递。 示例:
- “已创建支持票证”和“已解决支持票证”
- “订单退回”,包含原因代码和退款金额
3) 建模或派生事件
将仓库建模行为转换为更易于在 Klaviyo 中使用的事件。 示例:
- 从仓库中的模型生成的“高流失风险”事件
- 当客户在自定义生命周期模型中移动阶段时发生“已达到生命周期里程碑”事件
—
设置数据仓库事件导入同步
1) 连接您的数据仓库
如果您尚未连接仓库:
- 在 Klaviyo 中,转至高级 KDP > 数据管理 > 同步。
- 单击添加数据仓库 并选择您的仓库连接器。
- 按照数据仓库导入概述文章中链接的适用连接指南完成平台的连接步骤。 Klaviyo 支持每个帐户一个活动数据仓库连接。
2) 创建一个新的事件导入同步
连接仓库后:
- 从高级 KDP > 数据管理 > 同步,选择您的仓库连接。
- 选择导入数据(如果您是第一次配置导入)或为现有连接单击创建同步 / 添加同步。
- 当提示输入数据类型时,选择事件(而不是配置文件)。
- 选择仓库中包含要导入的事件的表或视图。
3) 映射必填字段
接下来,您将把仓库表中的列映射到 Klaviyo 所需的事件字段。事件导入配置要求您提供以下映射:
- 事件时间戳
- 指标名称(您在配置中选择的常量或每行包含指标名称的列)
- 个人资料标识符(至少一个)
- 更改检测时间戳
您还可以映射推荐字段:
- 唯一ID
- 价值
- 价值货币
任何未明确映射到这些核心字段的剩余列都会自动成为事件属性。配置 UI 会阻止您将多个列映射到同一顶级字段,并在允许您保存之前验证所有必填字段是否都存在。
4) 选择同步节奏和历史范围
当您保存事件导入时:
- Klaviyo 安排重复同步以固定节奏(通常每小时)运行。 – 每次运行时,仅处理更改检测时间戳比上次成功运行更新的行,确保导入是增量的。对于历史回填,您可以:
- 将事件导入指向已包含所有相关历史事件的表或视图,或者
- 从专用历史表开始,然后切换到更改数据捕获支持的视图以进行持续更新。 —
导入事件在 Klaviyo 中的行为方式
导入后:
- 每行在 Klaviyo 中显示为自定义 API 指标的一个事件。 – 您映射(或配置为常量)的指标名称决定您在产品中看到的事件类型名称(例如“已下订单”)。 – 所有配置文件标识符都尽可能解析为现有配置文件;否则,Klaviyo 使用提供的标识符字段创建新的配置文件,类似于其他事件摄取路径。您可以使用这些事件来:
- 根据某人所做的事构建分段并过滤事件属性。 – 触发和过滤流。 – 分析指标中的行为并报告来自其他来源的事件。 —
限制和最佳实践
使用数据仓库事件导入时请记住以下几点:
- 事件导入的 V1 专注于仅事件数据。从事件派生的配置文件属性更新可以在以后的迭代中添加;目前,配置文件属性应通过配置文件导入或其他支持的路径进行更新。 – 更改检测时间戳必须与事件时间戳不同。对两者使用同一列可能会阻止您在首次同步后安全地导入历史事件。 – 为了获得最佳速度,请将更改检测字段设置为创建新表时的时间戳。使用此值在同步周期中对记录进行批处理,因此如果所有历史记录都具有较小范围内的更改检测时间戳(例如创建新表的作业的时间戳),则可以减少导入历史记录的时间。 – 尽可能为每个事件使用稳定的唯一 ID,以改进重复数据删除并使下游调试更容易。 – 如果您的表包含具有不同列集的多个事件类型(指标),通常可以将它们放在一起:对于 Klaviyo 中的这些事件,特定行的 NULL 列将被忽略。 – 对于复杂的嵌套对象(例如行项目数组),我们建议在可行的情况下展平为多个列,特别是对于您希望在分段或流中使用的属性。 ““