Notifications - Klaviyo
Route Timesact events into Klaviyo so your existing flows, templates, and segments do the sending. For an overview of all channels, see Notifications Overview.
Connect Klaviyo
- In the app, open Billing & Account from the main sidebar.
- Click the Integrations tab.
- On the Klaviyo card, click Connect.
- You are redirected to Klaviyo's OAuth screen. Sign in, or pick the account if you have several.
- Review the requested permissions and approve.
- You return to the Timesact admin and the card shows Connected with the date.
To disconnect, click Disconnect on the same card. Events already in Klaviyo are unaffected; new events stop firing. One Klaviyo account per shop; to switch accounts, disconnect then reconnect.
Permissions Timesact requests
- accounts:read — required by Klaviyo on every install.
- events:write — emit Timesact events into your Klaviyo metrics.
- metrics:read — verify our metrics exist (used by the admin status display).
- profiles:write — create or update customer profiles when emitting events and subscribing newsletter signups.
- subscriptions:write — record marketing consent when a customer ticks the newsletter checkbox.
Timesact does not access your subscriber lists, campaign performance, or billing.
Enabling
In the experience's Notifications, set the feature's channel to Klaviyo and Save. The Available events panel shows what that feature emits.
Events Timesact emits
- Back in Stock Subscribed — shopper signs up via Notify Me.
- Back in Stock Ready — subscribed variant restocked (once per subscriber).
- Preorder Confirmed — customer places an order with a pre-order item (once per order).
Each becomes a Klaviyo Metric (tagged source timesact). Use them as flow triggers and reference event properties as {{event.property_name}}.
Event properties
Copy the value from the first column straight into your Klaviyo template.
Back in Stock Subscribed and Back in Stock Ready share the same properties:
Copy this into your template | What it contains | Available on |
|---|---|---|
{{event.customer_email}} | The shopper's email address | Both |
{{event.customer_name}} | The shopper's name (empty today) | Both |
{{event.product_id}} | The product's Shopify ID | Both |
{{event.variant_id}} | The variant's Shopify ID | Both |
{{event.product_title}} | The product's title | Both |
{{event.variant_title}} | The selected variant, for example size or color | Both |
{{event.product_handle}} | The product's URL handle | Both |
{{event.product_image_url}} | Link to the product image | Both |
{{event.product_url}} | Link to the product page | Both |
{{event.price}} | The variant price | Both |
{{event.inventory_quantity}} | Current inventory for the variant | Both |
{{event.shop_name}} | Your store's name | Both |
{{event.shop_domain}} | Your store's domain | Both |
{{event.subscribe_to_newsletter}} | Whether the shopper ticked the newsletter box | Subscribed only |
Preorder Confirmed has its own set:
Copy this into your template | What it contains |
|---|---|
{{event.customer_email}} | The customer's email address |
{{event.customer_name}} | The customer's name |
{{event.order_id}} | The order's Shopify ID |
{{event.order_number}} | The order number, for example #1234 |
{{event.order_total}} | The order total |
{{event.order_currency}} | The order's currency |
{{event.product_count}} | Number of pre-order items in the order |
{{event.shop_name}} | Your store's name |
{{event.shop_domain}} | Your store's domain |
{{event.preorder_products}} | An array of the pre-order items, loop it in your template (see below) |
The preorder_products array holds one entry per pre-order item. Loop it in your template and reference each item's fields:
{% for item in event.preorder_products %}
{{ item.product_title }} - {{ item.variant_title }} x{{ item.quantity }}
{% endfor %}
Each item exposes: product_id, variant_id, product_title, variant_title, price, quantity, and preorder_information.
How to use the events in Klaviyo
The events above arrive in Klaviyo as Metrics. You act on them inside Klaviyo by building a new flow, or editing a flow you already use:
- In Klaviyo, go to Flows and either Create flow or open an existing flow you want this to drive.
- Set the flow trigger to Metric, then select the Timesact metric (for example Back in Stock Ready, Back in Stock Subscribed, or Preorder Confirmed).
- Add an Email (or SMS) action and select or build the template you want to send.
- Personalize it with the event's data, referenced as {{event.property_name}}, for example {{event.product_title}} or {{event.product_url}}.
- Add any filters or conditional splits you need, then turn the flow live.
If you already run Klaviyo, there is nothing extra to install, just point a flow's trigger at the Timesact metric, or add it onto an existing flow. Keep in mind a metric-triggered flow runs every time the event fires, so a subscriber re-enters it on each qualifying restock.
Testing and troubleshooting
Trigger the event on a test shop, then check Klaviyo → Analytics → Metrics → the metric's Activity Feed (appears within about a minute; the first fire can take a moment to create the metric). If events stop, the usual cause is a disconnected integration, reconnect from Billing & Account → Integrations. Properties are snake_case.
Updated on: 07/01/2026
Thank you!