# cPixel 如何做到每笔购买只计一次 {#doc-title}

作者：[B2B Gold](/about/#how-we-write) 更新于 2026年9月25日 [使用 AI 工具从英文翻译](/docs/cpixel/deduplication/) [cPixel 页面](/shopify/cpixel/) [Shopify App Store 上的 cPixel](https://apps.shopify.com/cpixel?utm_source=b2bgold.app&utm_medium=referral&utm_campaign=docs&utm_content=zh-cn/docs/cpixel/deduplication&utm_term=docs-header)

## cPixel 如何防止一笔购买被计算两次？ {#how-does-cpixel-stop-a-purchase-counting-twice}

cPixel 会向每个已连接的账户各发送一次 Shopify 购买事件，使用一个由您的店铺和结账信息构建的事件 ID，并在其服务器端发送处于活动状态时关闭 Meta 的浏览器端 Purchase。其他事件来自浏览器或服务器，或者两者共用一个事件 ID。剩下的重复通常来自另一个应用或代码。

这个 ID 是您店铺 myshopify.com 地址与结账令牌的哈希值，而不是订单 ID，因此买家的浏览器和 cPixel 的服务器会各自独立地得出相同的值。您在某个平台上连接的每个账户都会获得这个 ID，cPixel 也不会重复连接同一个像素。大多数其他事件携带的是 Shopify 自身的事件 ID。当您开启了结账流程之外的订单跟踪时，这些订单会获得来自订单本身的 ID；仅发送给 GA4 的退款事件则拥有自己的 ID。

## 每个平台按哪个 ID 去重？ {#which-id-does-each-platform-deduplicate-on}

每个平台都有各自的键：Meta、TikTok、OpenAI Ads、Pinterest 和 Snapchat 使用事件 ID，GA4 和 Google Ads 使用事务 ID。cPixel 会向每个平台各发送一次事件，或者在该平台匹配的键下发送两次。

| 平台 | 按什么去重 | 时间窗口 | cPixel 发送的内容 |
| --- | --- | --- | --- |
| Meta | 事件名称和事件 ID，同一像素；通常保留最先收到的 | 48 小时 | 浏览和结账事件来自双方，共用一个 ID；Purchase 仅来自服务器 |
| TikTok | 事件和事件 ID；保留最先收到的 | 48 小时 | 全部来自服务器，除了 Pageview，双方会在同一个 ID 下发送 |
| GA4 | 事务 ID，仅限 Web 数据流 | 未说明 | 购买事件来自服务器，以订单 ID 作为事务 ID；其余来自浏览器 |
| OpenAI Ads | Pixel ID、事件名称和 `id`；最先收到的为准 | 未说明 | 结账和购买事件来自服务器；其余来自浏览器代码 |
| Pinterest | 事件名称和事件 ID；保留最先捕获的 | 48 小时 | 结账和购买事件来自服务器；其余来自浏览器代码 |
| Snapchat | 其去重 ID；购买事件也按订单 ID | 48 小时；按订单 ID 为 30 天 | 结账、付款信息和购买事件来自服务器；其余来自浏览器代码 |
| Google Ads | 事务 ID，限同一个转化操作内 | 未说明 | 购买事件来自感谢页上的浏览器代码，携带订单 ID |

来源，核查于 2026 年 9 月 24 日：[Meta](https://developers.facebook.com/documentation/ads-commerce/conversions-api/deduplicate-pixel-and-server-events)、[TikTok](https://ads.tiktok.com/help/article/event-deduplication)、[GA4](https://support.google.com/analytics/answer/12313109)、[OpenAI](https://developers.openai.com/ads/conversions-api)、[Pinterest](https://developers.pinterest.com/docs/track-conversions/track-conversions-in-the-api/)、[Snap](https://developers.snap.com/marketing-api/Conversions-API/Deduplication)、[Google Ads](https://support.google.com/google-ads/answer/6386790)。

在**实时**中，一次已完成的服务器端发送的详情会注明其键，例如“通过事件 ID 去重”：这是该平台用于匹配副本的键，而不是证明它确实合并了一对重复事件。

## 为什么 Meta 只从服务器接收购买事件？ {#why-does-meta-get-the-purchase-from-the-server-only}

因为 Meta 是唯一一个 cPixel 有能力从双方同时发送购买事件的平台，而同一份数据不能被计算两次。服务器端副本由 Shopify 订单构建而成，不依赖买家的浏览器，并且携带更多 Meta 用来匹配客户的信息。

Meta 的浏览器端 Purchase 只会在 cPixel 向该像素的服务器端发送未处于活动状态时触发：该账户没有访问令牌、Meta 拒绝了该令牌、**从我们的服务器发送事件**已关闭，或者 Free 套餐已暂停服务器端发送。无论哪种情况，Meta 都只会收到一次 Purchase。

在实时中，Meta 出现在该购买事件的**服务器**行，而不是**浏览器**行。在 Meta Events Manager 中，Purchase 通过 Conversions API 到达，而其他事件由于双方都会发送，因此显示为“Multiple”。

## 哪些情况仍会重复计数？ {#what-can-still-double-count}

另一个正在向同一像素发送数据的工具，以及在平台的时间窗口关闭之后进行的重新发送。cPixel 无法对另一个应用的事件去重：每个应用都会创建自己的事件 ID，因此平台会看到两笔购买。

常见的第二发送方包括某平台自己的 Shopify 应用（如 Facebook & Instagram 或 Google & YouTube）、另一个跟踪应用或自定义像素，以及粘贴在您主题中的像素代码。用 cPixel 自己通知中的话说，重复通常表现为“页面浏览量翻倍，而订单收入看起来仍然正确”，因此除了购买事件，也要检查页面浏览量。解决方法是每个像素只保留一个发送方：[将 cPixel 与 Facebook and Instagram 应用配合使用](/zh-cn/docs/cpixel/official-channel-apps/)。

## 我该如何找到第二个发送方？ {#how-do-i-find-a-second-sender}

先从 cPixel 的**目的地**页面入手，再到对应平台中确认。cPixel 每天会读取一次您的店铺前台，查找写入主题的代码和在 Shopify 中注册的像素，并在**另一个应用也为 cPixel 发送的某个平台设置了跟踪**下列出任何重叠项。

1. 在 cPixel 中打开**目的地**，阅读每条检测结果下的**该怎么处理**。
2. 在 Shopify 中前往 **Settings** → **Customer events**，记录每一个可能向同一平台发送数据的应用像素和自定义像素。
3. 在 cPixel 中打开**实时**，点击**开始会话**，下一笔真实订单，查看 cPixel 把它发送给了哪些账户。
4. 在该平台中检查这笔订单是否只生成了一笔购买。在 Meta Events Manager 中，如果一笔 Purchase 既通过浏览器又通过 Conversions API 到达，说明存在第二个发送方，因为当 cPixel 向该像素的服务器端发送处于活动状态时，其浏览器端 Purchase 是关闭的。

该扫描报告的是已配置的内容，而不是实际发生的事情，也无法读取受密码保护的店铺，因此没有出现提示并不能排除存在第二个发送方。关于主题代码、标签管理器和 Meta 的事件设置工具，请参阅[为什么 Meta 会把 Shopify 购买计算两次](/blog/duplicate-purchases-meta-shopify/)。

## 重新发送一笔购买时会发生什么？ {#what-happens-when-a-purchase-is-resent}

它会保留原始的事件 ID，因此仍记得第一份副本的平台只会保留一份。发送失败后的重试、Free 套餐暂停期间被搁置订单的重放、每晚对未收到 Webhook 的订单的修复，以及实时中的**重新发送事件**，都会重复使用这个 ID。

平台的时间窗口是限制所在。Meta 在 48 小时内去重，因此一旦订单超过这个时长，cPixel 对被搁置订单的重放就会跳过 Meta，而每晚的修复也只覆盖昨天的订单，处于 Meta 和 TikTok 的窗口之内。

**重新发送事件**在付费套餐上可用，会以原始 ID 向每个已连接账户重新发送一笔购买。请把它用于确实未到达的购买，而不是用来凑数：超过 48 小时后重新发送，在 Meta 上可能会被计算两次。

## 相关内容 {#related}

- [为什么 Meta 会把 Shopify 购买计算两次](/blog/duplicate-purchases-meta-shopify/)
- [将 cPixel 与 Facebook and Instagram 应用配合使用](/zh-cn/docs/cpixel/official-channel-apps/)
- [在实时中查看每次发送](/zh-cn/docs/cpixel/live-events/)
- [购买未显示](/zh-cn/docs/cpixel/purchases-missing/)

[cPixel Facebook Pixel CAPI GA4](/shopify/cpixel/)

[从 Shopify App Store 免费安装](https://apps.shopify.com/cpixel?utm_source=b2bgold.app&utm_medium=referral&utm_campaign=docs&utm_content=zh-cn/docs/cpixel/deduplication&utm_term=card) [套餐和价格](/shopify/cpixel/#pricing)

需要 cPixel 方面的帮助？请发送电子邮件至 [support@b2bgold.app](mailto:support@b2bgold.app)。
