Pular para o conteúdo

Shopify events and campaigns

Este conteúdo ainda não está disponível no seu idioma.

After you connect the app and approve Shopify’s requested permissions for order, cart, and checkout tracking (read_orders, write_pixels, read_customer_events), order, checkout, and checkout-step events start arriving without a separate Pushwoosh tracking screen. See Prerequisites and Part 1 for the approval step. Storefront browsing (product views and add-to-cart) also needs Push Init Embed ON.

Tracking covers three independent event groups. Each needs different access, so turning one off does not pause the others:

  • Order paid and checkout: arrive from Shopify even if the theme embed is off
  • Storefront browsing (product views and add-to-cart): need the theme embed ON
  • Checkout steps: need Shopify’s checkout-tracking permissions from Part 1 (write_pixels and read_customer_events), approved separately from the order-tracking permission (read_orders) above

Before you connect the app, check how Pushwoosh handles money and date attribute types for PW_OrderCreated and PW_AbandonedCart. A wrong type sent before you catch it can’t be fixed retroactively.

Order paid and checkout events

Anchor link to

Use these for post-purchase messaging (PW_OrderCreated), abandoned-checkout journeys or segments (PW_AbandonedCart / PW_AbandonedCartUpdate), and purchase conversion mapping. They arrive from Shopify even if the shopper blocks browser tracking:

Event name in PushwooshWhen it fires
PW_OrderCreatedAn order is paid
PW_AbandonedCartA shopper starts checkout
PW_AbandonedCartUpdateThe shopper adds, removes, or changes items during an existing checkout

These correspond to the order and checkout notifications Shopify sends to Pushwoosh automatically (the orders/paid, checkouts/create, and checkouts/update webhooks, listed under Synchronized entities).

Shopify’s own Flow condition, the checkouts/create webhook, and the Products block’s Cart source are three different things that all get called cart abandonment. Pick the one that matches what you’re building, using the table below.

What you want to buildWhat to use
Reminder from Shopify Flow (Shopify’s own Cart abandonment condition)Shopify Flow + Pushwoosh send notification action. Not the PW_AbandonedCart event names.
Reminder or segment in Pushwoosh from checkout started or cart changedCustomer Journey or segment on PW_AbandonedCart / PW_AbandonedCartUpdate
Show the shopper’s cart items inside an emailProducts block Cart source (uses the PW_AbandonedCartID tag at send time). Separate from which trigger started the journey.

How these events behave. checkouts/create only means a checkout was started. Shopify hasn’t decided it’s abandoned, and no order has been confirmed either.

While the shopper edits checkout, PW_AbandonedCartUpdate fires again for the same checkout and overwrites the cart stored from PW_AbandonedCart. Reminder emails that use Cart source pick up the latest items at send time. You don’t need a second journey trigger only to refresh the cart.

PW_AbandonedCart and PW_AbandonedCartUpdate set the PW_AbandonedCartID tag on the shopper, which is what Cart source reads at send time. PW_OrderCreated clears it right away, so a shopper who already checked out skips the block instead of getting a reminder for a cart they no longer have. See What happens when you send PW_OrderCreated for the exact clearing behavior.

Attributes of order and checkout events

Anchor link to

PW_OrderCreated and PW_AbandonedCart include:

AttributeDescription
orderIdThe order or checkout identifier
emailThe shopper’s email
totalPriceThe order or cart total
shippingAmountThe shipping cost
taxAmountThe tax amount
discountAmountThe discount amount
currencyThe currency code
itemsThe cart’s line items
customerIdOnly for registered customers, not present for guest checkouts
orderUrlThe order status page for PW_OrderCreated, or the abandoned checkout’s recovery URL for PW_AbandonedCart and PW_AbandonedCartUpdate. Use it to build a “Complete your purchase” link or button.
createdDateWhen the order or checkout was created
abandonedDatePW_AbandonedCart and PW_AbandonedCartUpdate only. When the cart was last touched, not when it was first created

Guest checkouts can still send order and cart events, but without a registered customer ID on the event.

PW_AbandonedCartUpdate carries the same attributes. If your account also has the Magento integration connected, its orders and abandoned carts post to these same event names, so a segment or journey built on PW_OrderCreated / PW_AbandonedCart catches both stores, and the attribute types above apply to both too. Magento has no equivalent to PW_AbandonedCartUpdate, because it doesn’t track in-progress checkout edits.

items in particular arrives from Shopify with only a few fields filled in.

Storefront browsing events

Anchor link to

Use these for browse-abandonment segments or journeys, and for email recommendation strategies that need product views (for example Based on what they viewed). See How to set up product recommendations in email.

Both events are collected by the same theme embed. Nothing else to add to the theme once Push Init Embed is ON:

  • PW_ProductViewed: the shopper opens a product page.
  • PW_AddToCart: the shopper adds an item to cart without reloading the page, which is how most Shopify themes do it.

Attributes of storefront browsing events

Anchor link to

Both events include:

AttributeDescription
itemsThe viewed or added product(s), each with productId, name, sku, quantity, price
totalPriceThe combined price of items
productUrlThe page the shopper was on
currencyOnly when the storefront exposes it

A message that shows totalPrice needs a fallback for when currency is missing, since the number alone doesn’t say which currency it’s in.

Neither event carries email or customerId as an attribute. The shopper is identified the same way the rest of the theme embed does it, through the SDK session tied to the metafield User ID (see Part 2), not through the event payload.

PW_ProductViewed and PW_AddToCart’s items carry the same fields Shopify sends before enrichment: productId, name, sku, quantity, price. Pushwoosh doesn’t fill in the rest of the catalog fields for these two events, the way it does for PW_AbandonedCart’s items (see Cart items are enriched from your Product Catalog above).

A recommendation strategy that needs full product details, like Based on what they viewed, looks them up from your Product Catalog by productId when the message renders. See How to set up product recommendations in email for what each strategy needs.

Checkout step events

Anchor link to

Use these to see where people drop off before purchase, and to message people who started checkout but did not reach a paid order.

  • PW_CheckoutContactInfo: the shopper entered their contact information.
  • PW_PaymentInfoSubmitted: the shopper submitted their payment details.

A completed sale is PW_OrderCreated from the section above, not these two events.

PW_AbandonedCart only tells you a checkout started. These two events mark two later points in the same checkout, in that order: contact info first, payment details second. A shopper who reached PW_PaymentInfoSubmitted and never got a following PW_OrderCreated got further than one who only triggered PW_AbandonedCart, so a message built on that stage can address a stalled payment specifically, instead of a generic cart reminder.

Attributes of checkout step events

Anchor link to

Both events include:

AttributeDescription
itemsThe checkout’s line items, each with productId, name, sku, quantity, price
orderIdThe checkout token, or the Shopify order ID once the checkout has one
totalPriceThe checkout total
emailOnly when the checkout has one. A phone-based checkout (no email entered) sends the event without it.
currencyOnly when the checkout has one

Check that it works

Anchor link to

Do the matching action in the store, then confirm the event name shows up in Pushwoosh. The event itself is processed in real time, but the two places you’d check it react differently to a name Pushwoosh hasn’t seen before:

  • In the Event dropdown when you create a segment by events, a new name appears right away.
  • In the Event dropdown when you add a Customer Journey trigger, a new name can take up to 10 minutes to show up (that dropdown is cached). If you don’t see it yet, wait rather than assume the integration is broken.
Test actionEvent
Pay a test orderPW_OrderCreated
Start a checkoutPW_AbandonedCart
Change items in that checkoutPW_AbandonedCartUpdate
Open a product page (Push Init Embed ON)PW_ProductViewed
Add an item to cartPW_AddToCart
Enter contact info at checkoutPW_CheckoutContactInfo
Submit payment info at checkoutPW_PaymentInfoSubmitted

Use the events

Anchor link to

After you know which event you need, use it in two places:

For paid orders, you can also map PW_OrderCreated as a conversion event so Shopify purchases feed RFM segmentation, journey attribution, and Product block statistics.

Example campaigns

Anchor link to

Each one fires at a different point in the shopper’s path, so they reach different audiences: how far someone got before dropping off, or whether they reached checkout at all, decides which one applies.

  • Abandoned-cart reminder. Catches every shopper who started checkout, no matter how far they got: the widest audience here. Build it as a Customer Journey: trigger on PW_AbandonedCart, wait for PW_OrderCreated, then send an email with a Cart source block to whoever hasn’t paid. See How to set up an abandoned cart campaign for the full setup.
  • Follow-up for stalled checkouts. Catches only shoppers who got as far as entering contact info but never paid, a narrower slice of the audience above. Segment on PW_CheckoutContactInfo, then exclude anyone who also has PW_PaymentInfoSubmitted or PW_OrderCreated.
  • Recovery for a stalled payment. Catches shoppers who reached payment but never completed the order, further along than the follow-up above and mutually exclusive with it. Segment on PW_PaymentInfoSubmitted, then exclude anyone who also has PW_OrderCreated.
  • Browse recommendation email. Catches shoppers who looked at products but never started checkout at all, a different audience from the reminders above. Use PW_ProductViewed with the Products block’s Based on what they viewed strategy. See How to set up product recommendations in email.