活动合约
查询期望的字段
| 字段 | 类型 | 为什么存在 |
|---|---|---|
| timestamp_utc | Timestamp | UTC 里程碑时间。 |
| session_id | Utf8 | 由旅程事件共享的已批准会话标识符。 |
| step_name | Utf8 | 受控旅程里程碑。 |
| step_order | Int64 | 稳定的基于一的里程碑订单。 |
| acquisition_source | Utf8 | 有限的获取源。 |
| environment | Utf8 | 部署环境。 |
DataFusion SQL
复制查询
sql
WITH step_counts AS (
SELECT
step_order,
step_name,
COUNT(*) AS sessions_reached
FROM product_journey_events
WHERE timestamp_utc >= now() - INTERVAL '30 days'
AND environment = 'production'
GROUP BY step_order, step_name
)
SELECT
step_order,
step_name,
sessions_reached,
100.0 * sessions_reached
/ NULLIF(FIRST_VALUE(sessions_reached) OVER (ORDER BY step_order), 0)
AS journey_completion_pct,
100.0 * sessions_reached
/ NULLIF(COALESCE(LAG(sessions_reached) OVER (ORDER BY step_order), sessions_reached), 0)
AS step_to_step_pct
FROM step_counts
ORDER BY step_order;此只读查询是针对空类型表计划和执行的 阿帕奇 DataFusion 45.2.0。确定性样本输出是综合的并单独审查;根据您自己的数据验证字段类型、阈值和业务定义。 阅读测试方法。
查询结果
会话旅程完成
五个综合会话中有两个达到第一个查询里程碑。
landing_viewed5
signup_completed4
workspace_created3
first_query_run2
| step_order | step_name | sessions_reached | journey_completion_pct | step_to_step_pct |
|---|---|---|---|---|
| 1 | landing_viewed | 5 | 100 | 100 |
| 2 | signup_completed | 4 | 80 | 80 |
| 3 | workspace_created | 3 | 60 | 75 |
| 4 | first_query_run | 2 | 40 | 66.67 |
综合示例输出。在将其用于操作决策之前,针对您自己的事件架构和阈值运行查询。
SQL 是如何工作的
- 1会话是显式的计数单位;仅当与决策匹配时才将其替换为用户或帐户。
- 2旅程完成将每个步骤与进入进行比较,而逐步转换则隔离直接转换。
- 3受控的步骤顺序可防止时间戳或标签默默地重新排列漏斗。
需要决定的边缘情况
- 在对嘈杂的生产者使用此模式之前,请对每个会话中重复的里程碑事件进行重复数据删除。
- 选择步骤是否必须按顺序并在一个会话内进行;更严格的渠道需要按会话排序。
- 记录匿名到经过身份验证的身份拼接并进行隐私审查。
推荐仪表板
- 漏斗:sessions_reached by step_name
- 条形:step_to_step_pct(按采集源)
- 趋势:first_query_run 按注册周完成
让查询示例发挥作用
相关埋点和指南
继续分析
在真实事件中运行它
创建表,调整字段并保存结果
免费开始,发送结构化事件,并将查询结果用作图表、共享仪表板小部件或警报输入。