通过测量协议使用相同的 transaction_id 重复购买事件

问题描述 投票:0回答:1

我们目前正在跟踪来自两个不同来源的购买事件:A. 我们的前端应用程序,直接将事件发送到 Google Analytics 4 (GA4) B. 我们的后端服务器,它使用测量协议将事件发送到 GA4。

两种事件类型都包含订单的 transaction_id。在正常操作下,我们注意到这些购买事件 - 以及与之相关的收入 - 在 GA4 中被计算两次,导致指标夸大。

有趣的是,当我们在调试模式下测试我们的实现时,不会发生这种重复问题 - 事件和相关收入被正确计算。 我们对 BigQuery 数据库中的 transaction_id 和 session_id 字段进行了彻底审查,没有发现任何可能导致重复计数的不一致或问题。

我们正在寻求有关可能导致正常模式和调试模式之间差异的原因以及如何纠正它的指导。任何有关如何进一步解决此问题的建议或见解将不胜感激。

注意:在 MP 代码中,我们包括

session_id
engagement_time_msec
transaction_id

google-analytics google-analytics-4 measurement-protocol
1个回答
0
投票

导致此问题的原因是 GA4 API 同时使用 CID(也称为 user_pseudo_id)和 transaction_id 来检查重复购买。但是,由于应用程序用户与 Web 用户具有不同的 CID(CID 在每个浏览器和设备之间变化),因此会显示两个购买事件。

一种可能的解决方案是在后端收集所有数据并仅使用一个来源来发送数据。另一个修复方法是使用不同的 transaction_id 来计算购买情况,以便在 BigQuery 中进行报告。

same transaction_id with different cid

© www.soinside.com 2019 - 2024. All rights reserved.