Shopify 事件与营销活动
在您连接应用并批准 Shopify 请求的订单、购物车和结账跟踪权限(read_orders、write_pixels、read_customer_events)后,订单、结账和结账步骤事件将开始到达,无需单独的 Pushwoosh 跟踪界面。批准步骤请参阅前提条件和第一部分。店面浏览(产品浏览和加入购物车)还需要开启 Push Init Embed。
跟踪涵盖三个独立的事件组。每个都需要不同的权限,因此关闭一个不会暂停其他的:
- 订单支付和结账: 即使主题嵌入代码已关闭,也会从 Shopify 到达
- 店面浏览(产品浏览和加入购物车):需要主题嵌入代码处于开启状态
- 结账步骤: 需要来自第一部分的 Shopify 结账跟踪权限(
write_pixels和read_customer_events),需与上面的订单跟踪权限(read_orders)分别批准
在连接应用之前,请查看 Pushwoosh 如何处理 PW_OrderCreated 和 PW_AbandonedCart 的金额和日期属性类型。在您发现之前发送的错误类型,事后无法修正。
订单支付和结账事件
Anchor link to将这些用于购买后消息(PW_OrderCreated)、放弃结账的 journey 或细分(PW_AbandonedCart / PW_AbandonedCartUpdate)以及购买转化映射。即使购物者阻止了浏览器跟踪,它们也会从 Shopify 到达:
| Pushwoosh 中的事件名称 | 触发时机 |
|---|---|
PW_OrderCreated | 订单已支付 |
PW_AbandonedCart | 购物者开始结账 |
PW_AbandonedCartUpdate | 购物者在现有结账过程中添加、移除或更改商品 |
这些事件对应于 Shopify 自动发送给 Pushwoosh 的订单和结账通知(orders/paid、checkouts/create 和 checkouts/update webhook,列在同步的实体下)。
Shopify 自身的 Flow 条件、checkouts/create webhook,以及 Products 模块的 Cart 来源,是三种不同的东西,但都被称为购物车放弃。请使用下表选择与您要构建的内容相匹配的那个。
| 您想构建什么 | 应该使用什么 |
|---|---|
| 来自 Shopify Flow 的提醒(Shopify 自身的 Cart abandonment 条件) | Shopify Flow + Pushwoosh send notification 操作。不是 PW_AbandonedCart 事件名称。 |
| Pushwoosh 中基于结账开始或购物车变化的提醒或细分 | 基于 PW_AbandonedCart / PW_AbandonedCartUpdate 的 Customer Journey 或细分 |
| 在 email 中展示购物者的购物车商品 | Products 模块的 Cart 来源(在发送时使用 PW_AbandonedCartID 标签)。与启动 journey 的触发器无关。 |
这些事件的行为方式。 checkouts/create 仅表示已开始结账。Shopify 尚未判定其为放弃状态,也没有订单被确认。
当购物者继续编辑结账时,PW_AbandonedCartUpdate 会再次为同一结账触发,并覆盖从 PW_AbandonedCart 存储的购物车。使用 Cart 来源的提醒邮件会在发送时获取最新的商品。您不需要为了刷新购物车而设置第二个 journey 触发器。
PW_AbandonedCart 和 PW_AbandonedCartUpdate 会在购物者身上设置 PW_AbandonedCartID 标签,这正是 Cart 来源在发送时读取的内容。PW_OrderCreated 会立即清除该标签,因此已完成结账的购物者会跳过该模块,而不是收到一个他们已不再拥有的购物车的提醒。有关确切的清除行为,请参阅发送 PW_OrderCreated 时会发生什么。
订单和结账事件的属性
Anchor link toPW_OrderCreated 和 PW_AbandonedCart 包含:
| 属性 | 描述 |
|---|---|
orderId | 订单或结账的标识符 |
email | 购物者的 email |
totalPrice | 订单或购物车总额 |
shippingAmount | 运费 |
taxAmount | 税额 |
discountAmount | 折扣金额 |
currency | 货币代码 |
items | 购物车的商品项 |
customerId | 仅适用于已注册客户,访客结账时不存在 |
orderUrl | PW_OrderCreated 的订单状态页面,或 PW_AbandonedCart 和 PW_AbandonedCartUpdate 的放弃结账恢复 URL。可用它来构建「完成购买」链接或按钮。 |
createdDate | 订单或结账的创建时间 |
abandonedDate | 仅适用于 PW_AbandonedCart 和 PW_AbandonedCartUpdate。购物车最后一次被操作的时间,而非首次创建的时间 |
访客结账仍然可以发送订单和购物车事件,但事件中不会带有已注册的客户 ID。
PW_AbandonedCartUpdate 携带相同的属性。如果您的账户还连接了 Magento 集成,其订单和放弃的购物车会发布到相同的事件名称,因此基于 PW_OrderCreated / PW_AbandonedCart 构建的细分或 journey 会同时捕获两个店铺,上述属性类型也同样适用于两者。Magento 没有与 PW_AbandonedCartUpdate 对应的事件,因为它不跟踪正在进行中的结账编辑。
特别是 items,从 Shopify 到达时只填充了少数几个字段。
店面浏览事件
Anchor link to将这些用于浏览放弃细分或 journey,以及需要产品浏览数据的 email 推荐策略(例如 Based on what they viewed)。请参阅如何在 email 中设置产品推荐。
两个事件都由同一个主题嵌入代码收集。一旦 Push Init Embed 开启,无需在主题中添加其他任何内容:
PW_ProductViewed:购物者打开一个产品页面。PW_AddToCart:购物者在不重新加载页面的情况下将商品加入购物车,这是大多数 Shopify 主题的做法。
店面浏览事件的属性
Anchor link to两个事件都包含:
| 属性 | 描述 |
|---|---|
items | 被浏览或添加的产品,每个都带有 productId、name、sku、quantity、price |
totalPrice | items 的合计价格 |
productUrl | 购物者所在的页面 |
currency | 仅当店面提供该信息时才有 |
显示 totalPrice 的消息需要在 currency 缺失时有一个后备方案,因为数字本身并不能说明它是哪种货币。
这两个事件都不携带 email 或 customerId 作为属性。购物者的识别方式与主题嵌入代码其余部分相同——通过绑定到元字段 User ID 的 SDK 会话(参阅第二部分),而不是通过事件负载。
PW_ProductViewed 和 PW_AddToCart 的 items 携带的字段与 Shopify 在丰富化之前发送的字段相同:productId、name、sku、quantity、price。与 PW_AbandonedCart 的 items(参阅上文的购物车商品会从您的产品目录中得到丰富)不同,Pushwoosh 不会为这两个事件补全其余的目录字段。
需要完整产品详情的推荐策略,例如 Based on what they viewed,会在消息渲染时通过 productId 从您的产品目录中查找这些详情。请参阅如何在 email 中设置产品推荐,了解每种策略所需的内容。
结账步骤事件
Anchor link to将这些用于查看人们在购买前于哪个环节流失,并向已开始结账但未完成付费订单的人发送消息。
PW_CheckoutContactInfo:购物者输入了联系信息。PW_PaymentInfoSubmitted:购物者提交了支付信息。
完成的销售是上文中的 PW_OrderCreated,而不是这两个事件。
PW_AbandonedCart 只能告诉您结账已经开始。这两个事件按顺序标记同一结账中稍后的两个节点:先是联系信息,然后是支付信息。到达 PW_PaymentInfoSubmitted 但从未获得后续 PW_OrderCreated 的购物者,比只触发了 PW_AbandonedCart 的购物者走得更远,因此基于这一阶段构建的消息可以专门针对停滞的支付进行处理,而不是发送通用的购物车提醒。
结账步骤事件的属性
Anchor link to两个事件都包含:
| 属性 | 描述 |
|---|---|
items | 结账的商品项,每个都带有 productId、name、sku、quantity、price |
orderId | 结账 token,一旦结账拥有 Shopify 订单 ID,则为该 ID |
totalPrice | 结账总额 |
email | 仅当结账拥有该信息时才有。基于电话的结账(未输入 email)发送事件时不带该字段。 |
currency | 仅当结账拥有该信息时才有 |
检查是否正常工作
Anchor link to在店铺中执行相应的操作,然后确认该事件名称出现在 Pushwoosh 中。事件本身是实时处理的,但您可以检查的两个位置对 Pushwoosh 尚未见过的名称反应不同:
- 在按事件创建细分时的 Event 下拉菜单中,新名称会立即出现。
- 在添加 Customer Journey 触发器时的 Event 下拉菜单中,新名称最多可能需要 10 分钟才会出现(该下拉菜单有缓存)。如果您还未看到它,请耐心等待,而不要认为集成出了问题。
| 测试操作 | 事件 |
|---|---|
| 支付一个测试订单 | PW_OrderCreated |
| 开始一次结账 | PW_AbandonedCart |
| 在该结账中更改商品 | PW_AbandonedCartUpdate |
| 打开一个产品页面(Push Init Embed 开启) | PW_ProductViewed |
| 将商品加入购物车 | PW_AddToCart |
| 在结账时输入联系信息 | PW_CheckoutContactInfo |
| 在结账时提交支付信息 | PW_PaymentInfoSubmitted |
使用这些事件
Anchor link to在您知道需要哪个事件后,可在两个地方使用它:
- 作为触发器或细分条件:在按事件创建细分或添加 Customer Journey 触发器时,在 Event 下拉菜单中选择它。
- 在消息文本中:在消息步骤中开启 Personalize message with event attributes 并选择属性(例如来自
PW_OrderCreated的订单总额)。您也可以使用 Liquid 占位符插入该属性。请参阅 journey 中的动态内容和 Liquid 模板。
对于已支付的订单,您还可以将 PW_OrderCreated 映射为转化事件,以便 Shopify 的购买行为纳入 RFM 细分、journey 归因以及 Product 模块统计数据。
营销活动示例
Anchor link to每种活动都在购物者路径的不同节点触发,因此覆盖不同的受众:某人在流失前走了多远,或是否到达了结账环节,决定了哪种活动适用。
- 放弃购物车提醒。 捕获所有开始结账的购物者,无论他们走了多远——这是这里覆盖面最广的受众。将其构建为 Customer Journey:以
PW_AbandonedCart触发,等待PW_OrderCreated,然后向尚未付款的人发送带有 Cart 来源 模块的 email。完整设置请参阅如何设置放弃购物车营销活动。 - 停滞结账的跟进消息。 仅捕获输入了联系信息但从未付款的购物者,这是上述受众中更窄的一部分。按
PW_CheckoutContactInfo建立细分,然后排除同时拥有PW_PaymentInfoSubmitted或PW_OrderCreated的人。 - 停滞支付的挽回消息。 捕获到达支付环节但从未完成订单的购物者,比上述跟进消息走得更远,且与其互斥。按
PW_PaymentInfoSubmitted建立细分,然后排除同时拥有PW_OrderCreated的人。 - 浏览推荐邮件。 捕获浏览过产品但从未开始结账的购物者,这与上述提醒的受众不同。将
PW_ProductViewed与 Products 模块的 Based on what they viewed 策略配合使用。请参阅如何在 email 中设置产品推荐。