Skip to Content
DestinationsOneSignalPush Notification Examples
How-to guideDestinationsAvailable

OneSignal Push Notification Examples

Build and test OneSignal campaigns with the Shopify events and customer tags Vendo sends to your OneSignal workspace.

Last reviewed July 13, 2026

These examples show how to use the Shopify events and customer tags Vendo sends to OneSignal. Treat them as starting points: confirm the event payload, consent rules, timing, links, and message wording in your own workspace before activating a campaign.

Personalization syntax: Inside a OneSignal Journey, reference event properties with double braces (e.g. {{order_id}} for a Journey triggered by an event) and user tags with {{tag.first_name}}. Always set a sensible default for tags that may be missing.

Before you start

  • Complete OneSignal setup and send a test event.
  • Confirm the required events and tags in Events and Properties.
  • Apply your consent, quiet-hour, frequency, and unsubscribe rules in OneSignal.
  • Use test customers and orders before sending to a production audience.

Recovery campaigns

Abandoned checkout recovery

Bring shoppers back to a checkout they started but didn’t complete. Vendo’s pipeline sends cart_abandoned once Shopify marks the checkout as abandoned (roughly one hour after the last activity). The payload includes the recoverable Shopify checkout URL.

Trigger: cart_abandoned (Journey) Timing: send immediately on event, then optionally 24h and 72h follow-ups.

Title: You left something behind, {{tag.first_name | default: 'there'}} Body: {{product_count}} item(s) worth {{currency}} {{cart_total_amount}} are still in your cart. Launch URL: {{checkout_url}}

Browse abandonment

Nudge identified shoppers who viewed a product but didn’t add it to cart. Requires the shopper to be identified (push subscriber, logged-in customer, or newsletter signup) so OneSignal can target them.

Trigger: product_viewed (Journey) + wait step + exit condition on product_added_to_cart.

Title: Still thinking it over? Body: Take another look at {{product_title}} — {{currency}} {{product_price}}. Launch URL: {{url}}

Post-add-to-cart nudge

For shoppers who add to cart but don’t start checkout within a short window.

Trigger: product_added_to_cart (Journey) + wait 30 min + exit on checkout_started.

Title: Ready to check out? Body: Your {{product_title}} is waiting. Complete the order before it sells out.

Transactional updates

Order confirmation

Confirm the purchase after the order event arrives from Shopify.

Trigger: order_received

Title: Thanks for your order, {{tag.first_name | default: 'customer'}}! Body: Order #{{order_id}} totaling {{currency}} {{cart_total_amount}} is confirmed. We'll let you know when it ships.

Shipped

Tracking-number-aware shipped notification.

Trigger: order_fulfilled

Title: Your order is on the way Body: Order #{{order_id}} just shipped. Tracking: {{tracking_number}}.

Delivered

A friendly delivery confirmation — useful for driving review requests or repeat-purchase flows afterwards.

Trigger: order_delivered

Title: Your order has arrived Body: Order #{{order_id}} was delivered today. Hope you love it — tap to leave a review.

Refund issued

Keep customers informed when money is returned to their card.

Trigger: order_refunded or order_partially_refunded

Title: Your refund is on its way Body: We've refunded {{currency}} {{refund_amount}} for order #{{order_id}}. It may take 5–10 business days to appear.

Lifecycle & re-engagement

Welcome the new subscriber

Fires the moment someone opts in to web push — subscribers come through OneSignal’s own subscription event (no Vendo event required), but you can enrich the message with any tags Vendo has already synced for that user.

Trigger: OneSignal built-in “Subscribed to Push” event.

Title: Welcome to {{tag.first_name | default: 'the club'}} 🎉 Body: Thanks for subscribing. Tap to browse what's new.

First-order thank-you

Target the customer’s first purchase specifically (not every order).

Trigger: order_received with Journey filter tag.order_count = "1".

Title: Welcome to the family, {{tag.first_name | default: 'there'}}! Body: Your first order is confirmed — use code WELCOME10 for 10% off next time.

Win-back lapsed customers

Re-engage customers whose last purchase was more than 90 days ago.

Trigger: scheduled Journey with segment filter tag.last_order_date older than 90 days.

Title: We've missed you, {{tag.first_name | default: 'there'}} Body: Here's 15% off to welcome you back. Tap to shop what's new.

Segmentation recipes

OneSignal segments let you target users by the tags Vendo syncs. Build these once, then reuse them as Journey filters or broadcast audiences.

SegmentFilter criteria
VIP customerstotal_spent (numeric) > 500
Repeat buyersorder_count (numeric) > 1
First-time buyersorder_count = 1
Recent purchasers (30d)last_order_date within the last 30 days
Lapsed customerslast_order_date older than 90 days
Newsletter subscribersemail_marketing_consent = subscribed
Tagged “VIP” in Shopifycustomer_tags contains VIP
Paid-search shoppersutm_source = google and utm_medium = cpc
Facebook-first shoppersinitial_utm_source = facebook
Members of a Shopify segmentshopify_segment_{id} = true

Numeric tag filters: total_spent and order_count are strings in OneSignal, but OneSignal parses them as numbers when you pick the “Numeric” comparison operator. Always use the numeric comparator for amounts and counts.

Personalization cheat sheet

Use these variables in supported OneSignal messages. User-tag values work across channels; event-property values resolve only inside a Journey triggered by that event.

VariableSourceNotes
{{tag.first_name}}User tagFall back with | default: 'there' for unidentified users.
{{tag.email}}User tagCustomer email when available.
{{tag.total_spent}}User tagString; use numeric comparators for segments.
{{tag.last_order_date}}User tagISO 8601 timestamp.
{{order_id}}Event propertyOrder number on order_received, order_fulfilled, order_delivered, and refund events.
{{cart_total_amount}}Event propertyAvailable on supported order and checkout events.
{{currency}}Event propertyISO currency code, such as USD.
{{checkout_url}}Event propertyAvailable on cart_abandoned; use it as the launch URL.
{{tracking_number}}Event propertyAvailable on order_fulfilled when the fulfillment contains tracking.
{{product_count}}Event propertyAvailable on supported order and checkout events.

Testing before you launch

  1. Send a test push to yourself from the Journey editor before activating it.
  2. For event-triggered Journeys, use OneSignal’s “Message preview with event” option and paste a sample payload from the Events & Properties reference.
  3. Trigger a real event end-to-end (for example, place a test order or abandon a checkout) and confirm the Journey fires in OneSignal’s Delivery tab.
  4. Check that user tags resolve as expected — if {{tag.first_name}} is blank, the user probably wasn’t identified before the event fired.
Need help?

Include your workspace, integration or job ID, and the first error message when you contact support.

support@vendodata.com
Last updated on