指南更新于 2026-10-30
GA4 电商跟踪:Shopify 和 WooCommerce 怎么接
GA4 电商跟踪,就是按 Google 推荐的电商事件把购物行为发给 GA4,每个事件带上该带的参数。这篇讲要发哪些事件、Shopify 和 WooCommerce 分别怎么接,以及在相信数据之前怎么核对。想整体检查已有的设置,用 GA4 审计清单,里面还有媒体资源设置、关键事件和引荐流量。
要点
- 事件名照 Google 的推荐事件写,从
view_item_list到purchase,每个都带items。 value和currency一起带,value只算「单价 × 数量」,不含运费和税。- 每个
purchase的transaction_id都要每单不同、不能为空。 - 一个店铺只用一套设置:Shopify 用 Google & YouTube 应用或自定义像素,WooCommerce 用 Google Analytics for WooCommerce 扩展。
- 先在 DebugView 里核对事件,再相信报告。
GA4 电商事件:购物路径上的 8 步
Google 的电商指南给购物路径的每一步都定了推荐事件,事件名照抄,不要自己改。一般的店铺,从分类页到下单完成用这 8 个就够了:
- 1分类页或搜索结果
view_item_list - 2商品详情页
view_item - 3加入购物车
add_to_cart - 4打开购物车
view_cart - 5开始结账
begin_checkout - 6填写配送信息
add_shipping_info - 7提交付款信息
add_payment_info - 8订单完成
purchase
Google 的指南里还有几个,店铺用得上再加:
| 事件 | 什么时候发 |
|---|---|
select_item | 有人在列表里点了某个商品。 |
remove_from_cart | 商品从购物车移除。 |
refund | 订单退款。带上和 purchase 相同的 transaction_id。 |
view_promotion、select_promotion | 促销位展示时、被点击时。 |
add_to_wishlist | 商品加进收藏夹。 |
GA4 电商事件的必填参数
Google 的推荐事件参考文档列出了每个事件的参数,其中标为必填的是这些:
| 参数 | 哪些事件必填 | 怎么传 |
|---|---|---|
items | 从 view_item_list 到 purchase 的每个事件 | 这次涉及的商品,一个事件最多 200 个。每个商品要带什么见下一张表。 |
value | 流程图里除 view_item_list 外的每一步,另加 remove_from_cart | 所有商品「单价 × 数量」之和,不含运费和税。Google 说 value 一般都要带,报告才有意义。 |
currency | 同上,另加 view_item_list | 3 位 ISO 4217 代码,比如 USD、EUR。带了 value 就必须带 currency,否则收入指标算不准。 |
transaction_id | purchase 和 refund | 这笔交易的唯一编号。Google 说它能避免同一笔购买被重复记录。 |
items 里的每个商品,至少要有 ID 或名称:
| 商品参数 | Google 的说法 |
|---|---|
item_id、item_name | 两个至少带一个,Google 建议都带。 |
price | 选填。商品单价,币种跟事件的 currency 一致。 |
quantity | 选填。不带时按 1 算。 |
几个常用的选填参数:
| 选填参数 | 用在哪些事件 |
|---|---|
coupon | 结账各步和 purchase |
shipping_tier | add_shipping_info |
payment_type | add_payment_info |
shipping、tax | purchase |
gtag('event', 'purchase', {
transaction_id: 'ORDER-1001',
value: 58.00,
currency: 'USD',
tax: 4.64,
shipping: 5.00,
items: [
{
item_id: 'SHIRT-BLUE-M',
item_name: 'Linen shirt',
price: 29.00,
quantity: 2,
},
],
});value = 2 × 29.00 = 58.00,税和运费用各自的参数传。Shopify:用 Google & YouTube 应用接 GA4
Shopify 的 GA4 帮助页让你装 Google & YouTube 销售渠道,再照 Google 的设置指南操作。开始前要先有一个带网站数据流的 GA4 媒体资源,Shopify 提醒新建媒体资源需要 Google Analytics 账号的编辑者权限。
- 1
安装应用
登录 Shopify,安装 Google & YouTube 应用。
- 2
开始设置 GA4
在应用的 Overview 页找到「Just want to set up Google Analytics 4」这一块,点「Get started」。
- 3
连接媒体资源
选中你的 GA4 媒体资源,点「Connect」,再点「Confirm」。Google 说强烈建议用这种做法,而不是在应用设置里手动添加代码。
不用自己写事件代码。Google 的 Shopify 事件参考列出了应用会发的事件:流程图里的 8 个都有,另加 page_view 和 search。其它事件表里的,它只发 remove_from_cart。
应用发的 purchase 带齐了必填参数,另有税、运费和优惠码,还带一个 shopify_event_name,可以在 GA4 里拿来建过滤条件。
GA4 只接一处
要么用这个应用,要么按下一节在自定义像素里自己写,不要两个都上,免得同样的事件发两遍。
Shopify:用自定义像素发 GA4 事件
想自己发 GA4 事件 (比如通过 Google Tag Manager),Shopify 给的做法是自定义像素 (Custom pixel)。自定义像素跑在宽松沙盒 (Lax sandbox) 里,Shopify 说明并不是所有像素功能都能在沙盒里用。Shopify 也不为自定义像素的添加和使用提供支持,出了问题要自己排查。
- 1
先清掉已有像素
Shopify 要求添加自定义像素之前,先删掉或改掉已有的像素,免得客户事件被算两次。如果 Google & YouTube 应用已经在发 GA4 事件,再加自定义像素就是第二个发送方。
- 2
添加像素
在 Shopify 后台进「设置 (Settings) → 客户事件 (Customer events)」,添加一个自定义像素,贴上代码,保存。
- 3
连接
点「Connect pixel」。没连接之前它什么都不跟踪。
Shopify 事件和 GA4 事件怎么对应
代码里订阅 Shopify 的客户事件,再换成 GA4 的事件名发出去。Shopify 的 Google Tag Manager 教程是这样对应的:
| Shopify 客户事件 | GA4 事件 |
|---|---|
collection_viewed | view_item_list |
product_viewed | view_item |
product_added_to_cart | add_to_cart |
product_removed_from_cart | remove_from_cart |
cart_viewed | view_cart |
checkout_started | begin_checkout |
checkout_address_info_submitted | add_shipping_info |
payment_info_submitted | add_payment_info |
checkout_completed | purchase |
checkout_completed 什么时候触发
每次结账只触发一次,通常在感谢页 (Thank you page)。有购后加购 (post-purchase upsell) 时,改在第一个加购页触发;那个页面没加载出来,就完全不触发。
同一份教程里,purchase 的参数从这些结账字段取:
| GA4 参数 | 教程里取的 Shopify 字段 |
|---|---|
transaction_id | checkout.order.id,只有 checkout_completed 才有值 |
currency | checkout.currencyCode |
value | checkout.totalPrice.amount |
value 传哪个金额要自己定
Shopify 对 totalPrice 的定义是含关税、税费和折扣,subtotalPrice 是还没加关税、运费和税的价格。GA4 的 value 不含运费和税,上线前核对一下你的像素传的是哪个字段。
WooCommerce:用 Google Analytics for WooCommerce 扩展
WooCommerce 官方的 GA4 扩展叫 Google Analytics for WooCommerce。按它的文档设置:
- 1
安装扩展
安装并启用 Google Analytics for WooCommerce。
- 2
填衡量 ID
进「WooCommerce → Settings → Integration → Google Analytics」,填 G- 开头的衡量 ID (Measurement ID)。
- 3
打开需要的跟踪选项
其中有:购买交易、加购和移出购物车、列表页的商品展示和点击、商品详情浏览、开始结账。
purchase 要靠跳回订单页
要跟踪 purchase,支付网关付款后必须跳回感谢页 / 订单完成页 (order received)。看订单数之前,先确认你的网关会跳回来。
删掉其它 Google Analytics 插件和代码。扩展的常见问题里写着:重复的 Google Analytics 代码会造成跟踪冲突。
意见征求模式 (Consent mode) 方面,扩展默认把欧洲经济区 (EEA) 访客的所有同意项设为拒绝。它自己不带 Cookie 横幅,但接入了 WP Consent API。访客点同意后,横幅插件必须更新同意状态,否则数据到不了 Google Analytics。
在实时报告和 DebugView 里核对 GA4 电商事件
- 1
看实时报告
打开「报告 (Reports) → 实时 (Realtime)」,它显示过去 30 分钟的活动。「按事件名称统计的事件数」卡片能看出事件到底有没有进来。
- 2
打开调试模式
用 Google Tag Assistant (tagassistant.google.com) 或 Tag Manager 的预览模式,也可以在 gtag 的 config 命令里加
debug_mode: true。以后要关掉,得把这个参数整个删掉,设成 false 关不掉。 - 3
打开 DebugView
进「管理 (Admin) → 数据显示 (Data display) → DebugView」。秒流显示过去 60 秒的事件,调试设备 (Debug device) 下拉框可以选自己的设备。
- 4
走一遍购物路径
依次打开商品页、加购、购物车、结账,每个事件应该按顺序各出现一次。
- 5
看参数
点开事件看参数,和必填参数对一遍。
DebugView 里什么都没有?
Google 说明:用了意见征求模式而你没同意分析 Cookie,或者浏览器端的隐私控制拦了,事件都不会出现。测试时自己先点同意。
两个平台测试时各有一个坑:
| 平台 | 要注意什么 |
|---|---|
| WooCommerce | 扩展不记录登录状态下管理员的网页浏览,要退出登录再测。标准报告里暂时看不到数据,文档建议等 24 小时或先看实时报告。 |
| Shopify 自定义像素 | 用不了 Tag Assistant 的 Troubleshoot tag 功能。Shopify 推荐用它自己的 Shopify Pixel Helper,看事件有没有顺利进到沙盒。 |
Pixel Audit 在我们的服务器上做同样的事。它打开你的店铺,走一遍首页、商品、购物车、结账,报告 GA4 触发了哪些事件、带了什么参数,另外 7 种跟踪代码也一起查。它不下单,看不到 purchase,也看不到 Measurement Protocol 发的事件。
GA4 电商跟踪的常见错误
| 问题 | 怎么处理 |
|---|---|
| 两套设置同时发 GA4 事件 | 只留一套。Shopify 要求添加自定义像素之前先删掉或改掉已有像素,WooCommerce 扩展的常见问题也写明重复的 Google Analytics 代码会造成跟踪冲突。 |
没带 transaction_id | 加上:Google 说电商事件要带 transaction ID,才能对同一用户的交易去重、正确处理退款。去重只对网站数据流有效,应用数据流不行。 |
transaction_id 是空字符串 | 传动态的订单号。Google 说 transaction_id="" 的 purchase 会被全部去重,真实订单就丢了。 |
| 不同订单用了同一个 ID | 每单用不同的 ID,Google 提醒重复使用可能会严重少算关键事件。ID 也不能跨用户重复使用,不能包含能认出顾客的信息。 |
带了 value 没带 currency | 两个一起带。带 value 就必须带 currency,否则收入指标算不准。 |
value 里算进了运费或税 | value 只算商品「单价 × 数量」之和,运费和税用各自的参数传。 |
缺 items,或商品没有 ID 和名称 | 从 view_item_list 到 purchase 的事件都要带 items。每个商品至少要有 ID 或名称,见商品参数表。 |
| 数据层里残留上一个事件的数据 | 用 Google Tag Manager 时,Google 的示例在推送每个新的电商事件之前,都先用 dataLayer.push({ ecommerce: null }) 清掉上一个 ecommerce 对象。 |
| 用 WooCommerce 管理员账号登录着测试 | 退出登录或用无痕窗口。扩展不跟踪管理员的访问,跟踪正常也什么都看不到。 |
一次看清商品页、购物车、结账页上 GA4 发了哪些电商事件、带了什么参数。
常见问题
- GA4 电商跟踪要发哪些事件?
- 购物路径的每一步对应一个事件,从分类页的
view_item_list到下单完成的purchase,8 个事件的完整列表在第一节。每个事件都要带items,purchase还要带transaction_id。 - GA4 里还有增强型电子商务 (Enhanced Ecommerce) 吗?
- 增强型电子商务是 Universal Analytics 的功能,Google 的相关帮助文章现在标为旧版 (Legacy)。标准版 Universal Analytics 媒体资源从 2023 年 7 月 1 日起停止处理数据。GA4 里要做的就是发这篇讲的推荐电商事件。
- Shopify 用了 Google & YouTube 应用,还要自己加 GA4 代码吗?
- 不用。Google 的 Shopify 事件参考列出了应用会发的事件,从
view_item_list、view_item到结账各步和purchase都有。如果还要在自定义像素里自己写 GA4,Shopify 要求先删掉或改掉已有像素,免得客户事件被算两次。 - WooCommerce 店铺的订单为什么在 GA4 里看不到?
- 确认扩展里打开了购买交易跟踪、支付网关付款后会跳回订单完成页、测试时没登录管理员账号。用了 Cookie 横幅的话,要横幅更新了同意状态,数据才会到 Google Analytics。
- GA4 的
value要不要算上运费和税? - 不要。Google 说明
value是所有商品「单价 × 数量」之和,不含运费和税。purchase事件另有shipping和tax参数。
相关指南
资料来源
- Google for Developers:Measure ecommerce (GA4)
- Google for Developers:Measure ecommerce (Tag Manager)
- Google for Developers:Recommended events reference
- Analytics 帮助中心:Minimize duplicate key events with transaction IDs
- Analytics 帮助中心:Monitor events in DebugView
- Analytics 帮助中心:Realtime report
- Analytics 帮助中心:Google Analytics 4 has replaced Universal Analytics
- Analytics 帮助中心:About Enhanced Ecommerce (Universal Analytics 旧版)
- Google Ads 帮助中心:Shopify: Set up your Google tag
- Google for Developers:Shopify event parameters
- Shopify 帮助中心:Migrating to Google Analytics 4
- Shopify 帮助中心:Custom pixels
- Shopify 帮助中心:Manage your custom pixels
- Shopify 帮助中心:Create a Google Tag Manager custom pixel
- Shopify.dev:Standard events
- Shopify.dev:checkout_completed
- WooCommerce:Google Analytics for WooCommerce 文档
- WooCommerce GitHub:Google Analytics for WooCommerce 意见征求模式说明
- WooCommerce GitHub:Google Analytics for WooCommerce readme 与常见问题