求助:餐厅网站订单交易追踪自定义GTM变量及GA4转化设置
餐厅网站订单追踪与GA4转化配置方案
一、自定义变量与订单追踪实现
1. 确定核心追踪数据
先明确需要采集的订单关键变量,这些是后续追踪的基础:
order_id:唯一订单ID(必须唯一,避免重复统计同一订单)order_total:订单实际支付金额(纯数值,不要带货币符号)order_items:订单菜品明细(用JSON字符串存储,方便GA4解析)customer_type:用户类型(新客/老客,根据用户是否有历史订单判断)
2. 前端埋点实现(最常用方式)
在支付成功后的订单确认页,通过JavaScript将订单数据发送至GA4。假设后端已将订单数据渲染为页面全局变量,代码示例:
// 从页面全局变量获取订单数据(实际项目中根据后端渲染逻辑调整) const orderInfo = window.orderData; // 发送GA4事件,推荐使用官方预定义的purchase事件,兼容性更好 gtag('event', 'purchase', { 'order_id': orderInfo.order_id, 'value': orderInfo.order_total, 'currency': 'CNY', // 根据实际货币类型调整 'items': JSON.parse(orderInfo.order_items), 'customer_type': orderInfo.customer_type });
若需自定义事件名(如restaurant_order_complete),直接替换purchase即可,后续GA4转化配置对应此名称。
3. 服务器端补传(防止前端数据丢失)
如果担心前端埋点因网络问题丢失数据,可通过GA4 Measurement Protocol从后端直接发送数据,Python示例:
import requests import json # 替换为你的GA4测量ID和API密钥 MEASUREMENT_ID = "G-XXXXXXXXX" API_SECRET = "YYYYYYYYYYYYYY" def send_ga4_purchase(client_id, order_data): url = f"https://www.google-analytics.com/mp/collect?measurement_id={MEASUREMENT_ID}&api_secret={API_SECRET}" payload = { "client_id": client_id, "events": [ { "name": "purchase", "params": { "order_id": order_data["order_id"], "value": order_data["order_total"], "currency": "CNY", "items": order_data["order_items"], "customer_type": order_data["customer_type"] } } ] } response = requests.post(url, json=payload) return response.status_code == 204
注意:client_id需与前端GA4的client_id保持一致,可通过前端传递给后端。
二、GA4转化配置步骤
1. 创建转化事件
- 登录GA4后台,进入管理 → 转化 → 新建转化事件
- 若使用官方
purchase事件,直接在事件名称输入框填写purchase,点击创建转化事件 - 若使用自定义事件名,填写对应名称完成创建
2. 优化转化设置
- 点击转化列表中的目标转化,选择编辑
- 开启使用事件值作为转化价值,GA4会自动将订单
value参数作为转化价值统计 - 可添加过滤条件,例如仅将订单金额≥30的订单算作转化,或仅统计新客订单
3. 验证转化数据
- 提交一笔测试订单,在GA4实时报告中查看对应事件是否触发
- 等待24小时后,在转化报告中查看订单转化的详细数据,包括转化次数、总价值、用户类型分布等
三、关键注意事项
order_id必须唯一,否则会导致转化重复统计- 所有数值型参数(如
order_total)不能包含非数字字符,否则GA4无法正确解析 - 若有多种支付方式,可添加
payment_method自定义参数,方便后续分析不同渠道的转化效果
内容的提问来源于stack exchange,提问作者gabe
相关产品推荐
相关产品推荐

