Microsoft Ads在WooCommerce中添加订单价值追踪的技术问题
解决Microsoft Ads订单价值追踪问题
你已经实现了Microsoft Ads的订单数量追踪,但订单价值无法获取,核心是要将代码中的Replace_with_Variable_Revenue_Function()替换为能获取结账页实际订单金额的逻辑,具体方案如下:
核心思路
revenue_value需要的是结账成功页的实际订单总金额(数值类型),你需要根据自己的网站架构选择对应的获取方式:
1. 第三方电商平台场景(如Shopify、WooCommerce)
这类平台通常在结账成功页内置了全局变量,直接调用即可:
- Shopify:使用
window.Shopify.checkout.total_price(注意该值单位为分,需除以100转为元) - WooCommerce:使用
wc_checkout_params.order_total(已处理为元单位的数值)
示例代码(Shopify为例):
<script> window.uetq = window.uetq || []; // 把分转成元,确保是数值类型 const revenue = window.Shopify.checkout.total_price / 100; window.uetq.push('event', '', {'revenue_value': revenue, 'currency': 'USD'}); </script>
2. 自定义开发的结账页场景
如果是自己开发的网站,后端会在结账成功页渲染订单金额的变量,你需要找到这个前端可访问的变量:
- 比如后端渲染了全局变量
window.orderTotal(直接存储订单总金额数值) - 或者页面元素中包含订单金额(比如
<span id="order-total">99.99</span>)
直接调用全局变量示例:
<script> window.uetq = window.uetq || []; window.uetq.push('event', '', {'revenue_value': window.orderTotal, 'currency': 'CNY'}); </script>
从页面元素获取示例:
<script> function GetRevenueValue() { // 从页面元素提取金额并转为数值 const totalElement = document.getElementById('order-total'); return totalElement ? parseFloat(totalElement.textContent) : 0; } window.uetq = window.uetq || []; window.uetq.push('event', '', {'revenue_value': GetRevenueValue(), 'currency': 'CNY'}); </script>
验证步骤
- 打开结账成功页,按F12打开浏览器控制台
- 调用你写的函数或直接访问变量(比如输入
GetRevenueValue()),确认返回的是正确的订单金额数值 - 触发Microsoft Ads的事件追踪,检查事件参数中的
revenue_value是否正确
内容的提问来源于stack exchange,提问作者Mark
相关产品推荐
相关产品推荐

