Onward pushes 16 distinct tracking events to your Klaviyo account: 12 shipment tracking events that follow the delivery lifecycle, and 4 shipping exception events that fire when something goes wrong. This article covers every event, when it fires, and the data included with each one.
The event name is exactly what you search for in Klaviyo's flow builder, and it is also the label on that event's toggle in Settings > Track. The status key is the internal shipment status the event maps to — useful for conditional logic and for matching an event to the shipment status glossary.
Shipment Tracking Events
These events fire as a shipment moves through the delivery lifecycle. Each event corresponds to a specific carrier milestone.
Event Name | Status key | When It Fires |
Onward Shipment Label Printed |
| A shipping label has been printed for the order. |
Onward Shipment Label Purchased |
| A shipping label has been purchased. |
Onward Shipment Confirmed |
| The carrier has confirmed receipt of the shipment. |
Onward Shipment Carrier Picked Up |
| The carrier has physically picked up the package. |
Onward Shipment In Transit |
| The package is in transit to the destination. |
Onward Shipment Delayed |
| The carrier has reported a delay in transit. |
Onward Shipment Out for Delivery |
| The package is on the delivery vehicle and out for delivery today. |
Onward Shipment Available for Pickup |
| The package is at a pickup location (e.g., post office, locker) waiting for the customer. |
Onward Shipment Picked Up |
| The customer has picked up the package from the pickup location. |
Onward Shipment Delivered |
| The package has been successfully delivered. |
Onward Shipment Returning to Sender |
| The carrier reports the package is on its way back to the sender. |
Onward Delivery Error |
| The carrier has reported a delivery failure (e.g., wrong address, damaged in transit, returned to sender). |
Two shipment statuses have no Klaviyo event: buyer_action_required (the carrier needs something from the customer) and ready_for_recipient_pickup. Both appear on the Track Page, but neither will trigger a flow — so don't build one expecting them.
Typical Event Sequence
For a standard delivery, events fire in this order:
Label Printed/Purchased → Confirmed → Carrier Picked Up → In Transit → Out for Delivery → Delivered
Not every shipment triggers all events — it depends on the carrier and the shipment type. For example, some carriers skip "Confirmed" and go straight from label creation to "In Transit."
Shipping Exception Events
These events fire when Onward detects a potential shipping problem. Unlike tracking events (which come from carrier data), exception events are detected by Onward's monitoring system based on elapsed business days without updates.
Event Name | Exception key | What It Means |
Onward Fulfillment Stalled |
| A shipping label was created but the carrier never picked the package up. |
Onward Shipment Stalled |
| A shipment that was moving has stopped receiving tracking updates. |
Onward Shipment Stuck |
| No tracking updates for a prolonged period — likely stuck in the carrier's network. |
Onward Attempted Delivery |
| The carrier attempted delivery but couldn't complete it (e.g., no one home, access issue). |
The exact thresholds that trigger each exception — and the rules that suppress duplicate alerts — are documented in one place: Shipping Exceptions & Alerts. They're deliberately not repeated here, so there's only one number to trust.
Event Data Properties
Every tracking event sent to Klaviyo includes a rich set of data properties you can use in your flows, templates, and segments.
Order Information
Property | Description | Example |
| The Shopify order ID. |
|
| The order number shown to the customer. |
|
| The order total amount. |
|
| The currency code of the order. |
|
| The order's Shopify tags (an array of strings, empty when the order has no tags). |
|
| The customer's first name. |
|
Shipment Details
Property | Description | Example |
| Onward's internal shipment identifier. |
|
| The carrier tracking number. |
|
| The carrier's tracking URL. |
|
| The carrier name. |
|
| The estimated delivery date (ISO 8601). |
|
| The current shipment status. |
|
| The carrier's status message. |
|
| Where the event happened (city, state, country). |
|
Additional Context
Property | Description | Example |
| Link to the customer's tracking page (if configured). |
|
| Whether the order has Onward shipping protection. |
|
| Whether the shipment is international. |
|
| The destination city. |
|
| The destination country code. |
|
Line Items
Each event also includes an array of line_items with product details:
Property | Description |
| Product name. |
| Item quantity. |
| Price per unit. |
| Product image URL. |
| Shopify product ID. |
| Shopify variant ID. |
Exception-Specific Properties
Shipping exception events include additional properties:
Property | Description |
| The type of exception ( |
| Business days since the last tracking update or fulfillment creation. |
Using Events in Klaviyo Flows
Building a Flow
In Klaviyo, go to Flows > Create Flow.
Choose "Metric Triggered" as the trigger type.
Search for the Onward event name (e.g., "Onward Shipment Delivered").
Build your flow steps — email, SMS, time delay, conditional split, etc.
Personalizing Messages with Event Data
Use Klaviyo's template variables to insert event data into your messages. For example:
{{ event.order_number }}— The order number.{{ event.tracking_url }}— A link to carrier tracking.{{ event.track_page_url }}— A link to your branded tracking page.{{ event.carrier_message }}— The latest carrier status message.{{ event.estimated_delivery_at }}— The estimated delivery date.
Example Flow Ideas
Event | Flow Idea |
Shipment Confirmed | Send "Your order is on its way!" with tracking link. |
Out for Delivery | Send "Your package arrives today!" with delivery tips. |
Delivered | Send "Your order was delivered!" with a review request or cross-sell. |
Delayed | Send "We noticed a delay" with reassurance and support contact. |
Delivery Error | Send "There was a delivery issue" with next steps and claims link (if protected). |
Shipment Stalled | Send "Your shipment update" explaining the delay and what you're doing about it. |
Fulfillment Stalled | Internal alert to your operations team to investigate unfulfilled orders. |
Enabling and Disabling Events
Each event can be individually toggled on or off in Settings > Track under the "Klaviyo Notifications" section.
Enabled (default): The event is pushed to Klaviyo whenever it occurs.
Disabled: The event is not pushed. Klaviyo flows using this event as a trigger will stop receiving new entries.
Disabling an event does not affect events that have already been sent — only future occurrences are suppressed.
