Shopify 分析与像素

GA4 加了 transaction_id 还是重复计订单怎么办

现象#

purchase 已经带 transaction_id,GA4 里同一订单仍出现两条,次日报表订单数比 Shopify 多 12%。

原因#

  • transaction_id 传了空字符串,GA4 会把所有空值视为同一笔,反而合并掉不同订单
  • 前端传 #1001、服务端传 1001,字符串不一致就无法识别为同一笔交易
  • 去重只覆盖网站数据流,跨天补发与离线回传不保证被合并
  • 同一 transaction_id 被不同用户使用,GA4 视为异常并保留多条

处理步骤#

  1. 统一用纯订单号,去掉 #、空格与店铺前缀,前后端共用同一生成函数
  2. 在 DebugView 检查 transaction_id 是否为空,空值不发
  3. 用 Explore → 自由格式,维度选 transaction_id、指标选事件数,筛出大于 1 的行
  4. 补发逻辑按 order_id 做幂等,命中已发送记录就跳过
  5. 核对订单号是否会被手工改成重复值,改单后重新生成 ID

验收标准#

Explore 中按 transaction_id 统计,事件数大于 1 的行归零,GA4 订单数与后台差异稳定在个位数。

本文由 风格技术 技术团队整理,适用于 Shopify 标准版与 Plus 店铺。Shopify 平台能力迭代较快,具体操作路径与字段以官方文档和店铺后台实际版本为准。