Route Returns × Klaviyo: Template Variable Reference
Last updated: April 27, 2026
Overview
This article details the return events and payloads that Route sends to Klaviyo via the Route Returns integration. When a return reaches a key milestone, Route fires an event to Klaviyo saved as a custom metric on the corresponding customer profile — enabling merchants to build triggered flows, SMS notifications, and segments based on real-time returns data.
How to build a Klaviyo flow using the Route Returns integration
1. Enable the Klaviyo Integration
See here for more information on how to enable the Frate Returns Klaviyo integration.Once the Frate Returns integration is enabled within Klaviyo, you can build a flow just like you normally would.
2. Create a New Flow
Go to Flows in Klaviyo.
Click Create Flow.
Choose Create from Scratch.
Name the flow whatever you’d like.
3. Choose the Route Returns Trigger
When selecting a trigger, you will see events sent from Frate Returns by going to Your Metrics -> API.
4. Add the Email Action
After saving the trigger:
Click Add Action
Select Email
Edit email to work in the event data
Metric naming: All events are prefixed with Frate Returns - in Klaviyo. For example, the Return Confirmation event appears in Klaviyo as Frate Returns - Return Confirmation. Use this prefix when searching for metrics in your Klaviyo flow builder.
Events must have occurred at least once (so the webhook has fired to Klaviyo) before they appear as available metrics to select when building flows in Klaviyo.
Events
Route sends 9 return events to Klaviyo. Each event corresponds to a milestone in the returns lifecycle. All fields are strings unless otherwise noted.
# | Klaviyo Metric Name | When it fires |
|---|---|---|
1 | Return Confirmation | Customer submits a return request |
2 | Return Canceled | A return is canceled, either by the customer or merchant |
3 | Return Delivered Confirmation | Carrier marks the return shipment as delivered to the warehouse |
4 | Refund Confirmation | A refund has been successfully processed for the return |
5 | Exchange Processed | An exchange order has been placed and is being fulfilled |
6 | Ship Back Request | Customer is sent their return label / ship-back instructions (including resends) |
7 | Ship Back Warning | Return label is nearing its expiry deadline and the item has not yet been shipped |
8 | Ship Back Confirmation | Carrier has scanned the return shipment — package is in transit back to the warehouse |
9 | Image Verification Reupload | Merchant has requested the customer resubmit product images for verification |
Return Confirmation
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| e.g. #1234 |
|
| |
|
| Boolean — True if customer uses their own label |
|
| Refund quote amount (number) |
|
| e.g. USD |
items[ ] — one object per returned line item
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Product name |
|
| Variant name |
|
| Presentment price (number) |
|
| e.g. USD |
|
| Product image URL |
Return Canceled
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| |
|
| Boolean |
|
| |
|
|
items[ ] — one object per canceled return item
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
Return Delivered Confirmation
Only items with a delivered status are included in items[].
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Always |
|
|
items[ ] — delivered returns only
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
Refund Confirmation
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Total refunded (number, presentment currency) |
|
| e.g. USD |
|
| Array of strings — empty if no gift cards issued |
|
| Breakdown lines per refund group |
|
| |
|
|
items[ ] — non-canceled returned line items
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
transactions[ ] — one per payment method refunded
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Gateway name + masked account number |
|
| Amount for that transaction |
|
|
Exchange Processed
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| |
|
|
exchange_line_items[ ] — outbound items being sent to customer
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Product name |
|
| Variant name |
|
| Discounted presentment price |
|
| |
|
| Nullable |
|
| Product metafields array |
Ship Back Request
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Null on first send, populated on resends |
|
| ISO 8601 → nullable — wrap in |
|
| |
|
|
shipments[ ] — one per return shipment
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| Shipment name / method label |
|
| Printable return label URL |
|
| |
|
| Plain text, HTML already stripped |
|
| Plain text, HTML already stripped |
|
| Drop-off location details array |
|
| Via nested loop |
|
| Via nested loop |
exchange_line_items[ ] — outbound exchange items (if applicable)
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
kept_line_items[ ] — items the customer is keeping
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| |
|
| |
|
| |
|
| |
|
| |
|
| Boolean — always True in this array |
Ship Back Warning
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| ISO 8601 → nullable |
|
| Boolean — use to differentiate warning vs expired |
|
| |
|
|
shipments[ ] — one per return shipment
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
exchange_line_items[ ] — outbound exchange items (if applicable)
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
Ship Back Confirmation
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| |
|
|
shipments[ ] — confirmed in-transit shipments
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Image Verification Reupload
Field | Klaviyo Variable | Notes |
|---|---|---|
|
| JWT-authenticated deep link — expires |
|
| Nullable — merchant's note to the customer |
|
| |
|
|
items[ ] — items requiring image review
Field | Klaviyo Variable |
|---|---|
|
|
|
|
|
|
|
|
|
|