Personalize Klaviyo preorder emails with variables
When you send preorder notifications through Klaviyo, STOQ passes order, customer, product, and shipping details as properties on the preorder event. This is the full reference of what's available, so you can personalize your Klaviyo flow's email or SMS beyond the basics.
Before you begin
| Requirement | Detail |
|---|---|
| Preorders routed through Klaviyo | This applies once you've connected Klaviyo and set up the preorder flows. See Send preorder notifications through Klaviyo. |
| A verified flow | Each preorder notification has its own Klaviyo metric and flow: Preorder confirmed (STOQ), the shipping update, and the payment failed notification. Open the flow's action in your Klaviyo dashboard to edit its template. |
Insert a variable
Open the flow template in Klaviyo
In your Klaviyo dashboard, open the flow for the preorder notification you want, then open its Email (or SMS) action to edit the template.
Add the variable to a block
Click into a text block and type the variable using its property name from the tables below, for example {{ event.order.name }}. The same properties are available whether the action sends email or SMS.
Order variables
| Variable | What it is |
|---|---|
{{ event.order.name }} | The order name, like #1001 |
{{ event.order.number }} | The order number |
{{ event.order.id }} | The Shopify order ID |
Product variables
A preorder can contain more than one product, so STOQ sends both summary fields and a list you can loop over.
| Variable | What it is |
|---|---|
{{ event.products }} | All preordered product titles as one comma-separated string |
{{ event.first_product }} | The first preordered product's title |
{{ event.products_count }} | How many preordered products are in the order |
{{ event.other_count }} | The count beyond the first product, for wording like "and 2 others" |
{{ event.products_data }} | A list of each product, for looping (fields below) |
To loop over each product in Klaviyo:
{% for product in event.products_data %}
{{ product.title }}
{% endfor %}Each item in products_data has: title, product_title, variant_title, image_url, product_handle, product_id, and variant_id.
Shipping variable
| Variable | What it is |
|---|---|
{{ event.shipping_timeline }} | The offer's shipping timeline message, like "As soon as possible" or a date |
Customer variables
| Variable | What it is |
|---|---|
{{ event.customer.name }} | The customer's full name |
{{ event.customer.first_name }} | The customer's first name |
{{ event.customer.last_name }} | The customer's last name |
{{ event.customer.phone }} | The customer's phone number |
{{ event.customer.locale }} | The customer's locale code, like en |
{{ event.customer.country }} | The customer's country code |
Shop variables
| Variable | What it is |
|---|---|
{{ event.shop.name }} | Your store's name |
{{ event.shop.domain }} | Your store's domain |
Check your setup
In your flow's action, use Klaviyo's preview or send yourself a test to confirm each variable renders with real data instead of literal text. If a variable prints as {{ event.property_name }}, double check the name matches one of the tables above exactly.
FAQ
Why is a variable showing up blank?
The property may be empty for that event, or the name may be misspelled. Compare it against the tables above, and remember nested names use a dot, like event.customer.name.
How do I list every product in a multi-item preorder?
Loop over event.products_data as shown above, or use event.products for a simple comma-separated string of titles.
Do these work in the subject line and SMS too?
Yes. The same event properties are available in the subject line, preview text, email body, and SMS action of the flow.
Are these the same as STOQ's built-in preorder template variables?
They carry the same data, but Klaviyo templates read them as event properties with the event. prefix. STOQ's built-in editor uses its own variable set. See Send preorder confirmation and update emails.
Related guides
Send preorder notifications through Klaviyo
Connect Klaviyo and set up the preorder flows these variables come from.
Personalize Klaviyo back in stock emails
The variable reference for back in stock alerts through Klaviyo.
Preorder confirmation email
Edit STOQ's built-in preorder confirmation instead of a Klaviyo flow.
Preorder shipping update email
Keep customers posted on when their preorder ships.
