售后页面上的像素代码跟踪
如果您的商店已安装可向商店结账流程中添加售后页面的应用,那么您在商店中使用的任何自定义像素代码跟踪都可能不会获取特定跟踪事件。添加到商店的自定义脚本框中的自定义跟踪像素代码仅跟踪订单状态页面上的事件,该页面在结账流程中的售后页面之后显示。如果客户从售后页面离开您的商店,则系统不会跟踪订单状态页面上的事件。
为确保正确获取转化事件,您可以添加一个脚本,用于跟踪售后页面上的事件。此脚本还可以跟踪通过售后页面进行的其他购买,例如增销。添加售后页面脚本后,您需要调整订单状态页面脚本,以忽略售后页面脚本已获取的事件。
只有使用自定义跟踪像素代码时,您才需要更改商店跟踪事件的方式。例如,如果您通过在线商店>偏好设置来设置 Google Analytics,那么 Google Analytics 将已经开始正确获取售后页面上的事件。
本页相关主题
注意事项
售后页面自定义脚本与订单状态页面自定义脚本类似,但存在几项重要差异:
- 售后页面自定义脚本将添加到售后页面,而不是订单状态页面。
- 此字段仅允许输入 JavaScript。不接受 Liquid 代码。
- 唯一允许使用的 HTML 标签是
< >脚本
。 - 脚本在沙盒中运行,而未包含在主页上。
- 只有当您的商店已安装可向结账流程中添加售后页面的应用时,您才能添加售后页面脚本。
在沙盒中运行脚本可确保脚本的安全以及可将其用于预期目的。
Shopify 支持团队无法提供售后页面脚本的相关帮助。如果您需要帮助,您可以在Shopify 社区中发帖或聘请Shopify 专家。
订单状态页面上脚本的兼容性
为确保像素代码正确跟踪所有转化事件,请在售后页面和订单状态页面上均设置跟踪脚本。为避免将转化事件计数两次,您可以在订单状态页面上运行的脚本中使用post_purchase_page_accessed
Liquid 变量。
如果客户到达售后页面并导航到订单状态页面,post_purchase_page_accessed
变量将返回true
。如果客户未到达售后页面,变量将返回false
。
例如,您可以在订单状态页面上对脚本使用以下格式:
可用 API
您可以使用 JavaScript 全局变量为跟踪脚本提供所需的数据访问权限。可访问的数据在window.Shopify
下提供。
跟踪售后页面上的购买
若要跟踪通过售后页面进行的其他购买,您可以订阅Shopify.on
事件。
订阅后,只要成功应用售后更改集,就会触发以下操作:
- 系统使用两个
Order
类型的参数order
和outdated order
来调用您的处理程序。 window.Shopify
下的全局变量将更新,以便脚本可以使用更新的数据。
订阅了此活动的处理程序可能只有 500 毫秒的执行时间。请确保提前加载您需要的任何依赖项。
添加售后页面脚本
- 在 Shopify 后台中,转至设置>结账。
- 在售后自定义脚本字段中,输入您的脚本。
- 点击保存。
示例脚本
您可以使用以下基本脚本模板来协助您构建自己的售后页面脚本。此示例脚本使用 Google Analytics 跟踪初始转化,并说明如何跟踪其他购买。此示例非常简单,您的最终脚本可能与它不同。
示例脚本文件
订单状态页面的示例脚本:
售后页面的示例脚本:
参考
下表包含通过window.Shopify
向售后自定义脚本公开的属性的类型定义:
字段 | 定义 |
---|---|
window.Shopify | |
shop | 下单商店的详细信息。 |
order | 订单的详细信息。 |
pageUrl | 当前页面的 URL。 |
wasPostPurchasePageSeen | 客户是否在此结账流程中查看了售后页面。如果该页面是第一次显示,则为false ,否则为true ,例如重新加载此页面时。 |
on(event: string, handler: function): void | 订阅事件 。目前仅支持CheckoutAmended 事件。 |
off(event: string, handler: function): void | 为处理程序 取消订阅给定事件 。目前仅支持CheckoutAmended 事件。 |
Shop | |
id | 商店的 ID。 |
currency | 商店货币采用ISO 4217格式,例如 USD。有关更多详细信息,请参阅shop.currency。 |
Order | |
id | 订单的内部识别码。 |
number | 订单名称的整数表示形式,例如 1025。 |
checkoutToken | 结账的内部识别码。 |
customer | 与订单关联的客户。 |
lineItem | 订单的订单项目。 |
subtotalPrice | 应用订单项目和购物车折扣后订单中所有商品的小计价格。小计不包含税费(除非税费已包含在价格中)、发货成本或小费。 |
totalPrice | 订单的总价。 |
currency | 订单所用货币的ISO 4217代码。 |
discounts | 应用于订单的折扣总额。 |
Customer | |
id | 客户的 ID。 |
客户的邮箱。 | |
acceptsMarketing | 客户是否已接受营销。如果客户接受营销,此值将为true ,否则为false 。 |
hasAccount | 客户邮箱是否与客户账户关联。如果邮箱已在客户账户中列出,此值将为true ,否则为false 。有关详细信息,请参阅customer.has_account。 |
firstName | 客户的名字。 |
lastName | 客户的姓氏。 |
ordersCount | 客户所下订单总数。 |
totalSpent | 客户在所有订单上花费的总金额。 |
LineItem | |
finalLinePrice | 订单项目中所有商品的总计价格。这等于line_item.final_price 乘以line_item.quantity 。 |
finalPrice | 订单项目的价格,包括所有订单项目级别的折扣金额。 |
lineLevelTotalDiscount | 专门应用于订单项目的所有折扣的总额。这不包括添加到购物车的折扣。 |
optionsWithValues | 商品的产品选项中所选值的数组。有关更多详细信息,请参阅line_item.options_with_values。 |
originalLinePrice | 应用折扣之前订单中包含的所有商品的总计价格。这等于line_item.original_price 乘以line_item.quantity 。 |
originalPrice | 应用折扣前订单项目的原始价格。 |
price | 订单项目的单价。该价格反映应用于订单项目的任何折扣。仅适用于位于德国或法国的商店。 |
product | 订单项目的产品。 |
properties | 已添加到购物车的商品的一组自定义信息。有关详细信息,请参阅line_item.properties。 |
quantity | 订单项目的数量。 |
title | 订单项目的标题。有关详细信息,请参阅line_item.title。 |
variant | 订单项目的多属性。 |
Product | |
id | 产品的 ID。 |
type | 产品的类型。 |
ProductVariant | |
id | 多属性的 ID。 |
sku | 多属性的SKU。 |
CartDiscount | |
id | 折扣应用程序的内部识别码。 |
code | 折扣码(如果有)。 |
type | 折扣的类型。可能的值为:automatic 、discount_code 、manual 和script 。 |
amount | 通过折扣所节省的订单价格的总金额。 |