Skip to content

Personalize Klaviyo preorder emails with variables

The order, customer, product, and shipping details STOQ sends with each preorder event, and how to use them in your Klaviyo template.

Last updated

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.

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.
  1. 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.

    The Klaviyo PREORDER flow with the Preorder confirmed email action selected and the Edit button

    The Klaviyo email Message content page with the Edit email button

  2. 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.

    The Klaviyo email code editor with the event.order_name variable in the template and the Save button

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

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.price }} The price the customer paid for the first preordered product, like 29.99
{{ event.currency }} The order’s currency code, like USD
{{ 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, variant_id, price (the price the customer paid for that product), and currency.

Variable What it is
{{ event.shipping_timeline }} The offer’s shipping timeline message, like “As soon as possible” or a date
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
Variable What it is
{{ event.shop.name }} Your store’s name
{{ event.shop.domain }} Your store’s domain

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.

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.

Was this page helpful?

Still stuck? Ask Quinn or chat with support