GA4 加了 transaction_id 还是重复计订单怎么办
现象#
purchase 已经带 transaction_id,GA4 里同一订单仍出现两条,次日报表订单数比 Shopify 多 12%。
原因#
- transaction_id 传了空字符串,GA4 会把所有空值视为同一笔,反而合并掉不同订单
- 前端传 #1001、服务端传 1001,字符串不一致就无法识别为同一笔交易
- 去重只覆盖网站数据流,跨天补发与离线回传不保证被合并
- 同一 transaction_id 被不同用户使用,GA4 视为异常并保留多条
处理步骤#
- 统一用纯订单号,去掉
#、空格与店铺前缀,前后端共用同一生成函数 - 在 DebugView 检查
transaction_id是否为空,空值不发 - 用
Explore → 自由格式,维度选 transaction_id、指标选事件数,筛出大于 1 的行 - 补发逻辑按
order_id做幂等,命中已发送记录就跳过 - 核对订单号是否会被手工改成重复值,改单后重新生成 ID
验收标准#
Explore 中按 transaction_id 统计,事件数大于 1 的行归零,GA4 订单数与后台差异稳定在个位数。
本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。