Klaviyo integration
Extend your Klaviyo flows with bespoke Recurly Commerce subscription events and customer properties—unlock powerful segmentation and personalized messaging.
Overview
Prerequisites
- You must have an active Klaviyo account.
- The Klaviyo Shopify app must be installed on your Shopify store before connecting to Recurly Commerce.
Limitations
- Data backfill populates historical customer properties but does not retroactively fire subscription events — only new events created after the integration is enabled will trigger metrics.
Definition
The Klaviyo integration sends Commerce-specific metrics (e.g., Commerce Subscription Started, Commerce Billing Attempt Failed) and customer properties (e.g., active subscriber count, pause status) directly to Klaviyo. These enrich subscriber profiles and power event-driven flows and customer segments tailored to your subscribers' lifecycle.
Key benefits
- Granular subscriber signals: Fire events for every lifecycle milestone — starts, pauses, cancellations, upcoming orders, and more.
- Rich customer profiles: Surface counts of active, cancelled, paused, and skipped subscriptions for precise segmentation.
- Quick Actions: Embed actionable links (skip next order, reactivate) directly in emails to drive self-service and reduce support tickets.
Key details
Install Klaviyo
Before connecting, make sure the Klaviyo Shopify app is installed on your store.
- In your Recurly Commerce merchant admin, click Integrations in the left nav.
-
Locate the Klaviyo card and select Connect.

-
On the Klaviyo Integration page, click Install.

-
You'll be redirected to Klaviyo. Log in with your Klaviyo credentials and allow Recurly Commerce to access your Klaviyo account.

-
After accepting, you're redirected back to Recurly Commerce. Your existing customer properties will begin backfilling automatically.
Klaviyo flows and campaigns
Recurly Commerce sends customer and subscription data to Klaviyo, so you can communicate with subscribers when it matters most. There are two ways to use this data in Klaviyo:
- Flows: Automated email or SMS notifications triggered by specific subscription events — for example, when a subscriber cancels or an upcoming order is three days away. Commerce sends event metrics to Klaviyo that you use as flow triggers.
- Campaigns: One-time emails sent to a segment of customers. Use Commerce customer properties to build the segment and target your message.
Transactional vs. marketing emails
You can use Klaviyo to send both transactional and marketing emails.
Transactional emails are triggered by a specific subscriber action — for example, a flow that sends an order confirmation when Commerce fires the Commerce Order Placed metric.
Marketing emails are strategic communications not tied to a single event — for example, a monthly newsletter or a seasonal promotion sent to all active subscribers.
Note: if using Klaviyo for Transactional emails make sure to disable all Notifications in Commerce.
Available Recurly Commerce Metrics
The table below lists every Recurly Commerce metrics sent to Klaviyo.
| Commerce metric in Klaviyo | When it triggers |
|---|---|
| Commerce Billing Attempt Failed | A billing attempt fails. |
| Commerce Contract Order Skipped | An upcoming order is skipped. |
| Commerce Gift Confirmation | A gift subscription is created or purchased by the shopper. |
| Commerce Gift Confirmation Recipient | A gift recipient opens the subscription. |
| Commerce Gift Opened | A gift recipient opens the subscription. |
| Commerce Gift Order Placed | A gift subscription was purchased. |
| Commerce One Time Add-on Created | A one time add-on was added to a subscription. |
| Commerce One Time Add-on Removed | A one time add-on was removed from a subscription. |
| Commerce Order Placed | A renewal order is successfully placed. |
| Commerce Out Of Stock | A product variant is deleted or has zero quantity remaining. |
| Commerce Payment Failed | A subscription had a payment failure. |
| Commerce Payment Failed Retry | A subscription with a payment failure was retried. |
| Commerce Revoked Payment Method | A subscription has a revoked payment method. |
| Commerce Status Update | A subscription's status changes. |
| Commerce Subscription Cancelled | A subscription is cancelled by the merchant in the admin or by the customer in the customer portal. |
| Commerce Subscription Started | A subscription is created or purchased by the shopper. |
| Commerce Upcoming Order | Three calendar days before the scheduled upcoming order. |
Recurly Commerce metric properties
Each event includes a rich set of properties for granular segmentation.
| Metric(s) | Property | Type | Description |
|---|---|---|---|
| All metrics | charge_amount | Number (e.g. 50) | Total amount the shopper paid when the subscription started, including shipping and tax. |
| … | product_title | String | Shopify product title. |
| … | product_id | Number | Shopify product ID. |
| … | variant_id | Number | Shopify variant ID. |
| … | variant_title | String | Shopify variant title. |
| … | line_items | Array<object> | Subscription contract line items. |
| … | addonItems | Array<object> | Subscription contract add-on items. |
| … | nextBillingDate | String | Subscription contract next billing date. |
| … | order_interval_frequency | Number | Number relating to "Order Interval Unit" for subscription renewal cadence. |
| … | order_interval_unit | String | "DAY", "WEEK", "MONTH", or "YEAR". |
| … | order_interval_days | Number | Number of days between renewals. |
| … | isPrepaid | Boolean | True if the subscription is prepaid; false otherwise. |
| … | isGift | Boolean | True if the subscription is a gift; false otherwise. |
| … | $value | Number | Subscription contract total charged amount, including taxes and shipping. |
| … | price | Number | Subscription contract price before discounts. |
| Commerce Subscription Cancelled | cancel_reason | String | Reason captured from the cancellation survey. |
| Commerce Status Update | new_status | String | The new status of the subscription. |
| Commerce Billing Attempt Failed | total_retries | Number | Number of dunning retry attempts, excluding the initial failure. |
| Commerce Upcoming Order | isPrepaidUpcomingCharge | Boolean | True if the upcoming order is a fulfillment only; false if it includes a charge. |
| Commerce Upcoming Order | daysBeforeBilling | Number | Number of days before the next order. |
| Commerce Order Placed | order_number | Number | The number of completed orders at the time the metric fires. |
Use case: Use these events to create custom segments in Klaviyo. For example, "All subscribers with paused subscriptions and billing failures in the last seven days", and trigger tailored flows.
Commerce Gift Confirmation includes additional properties:
| Metric(s) | Property | Type | Description |
|---|---|---|---|
| Commerce Gift Confirmation | sender_email | String | The gifter's email address. |
| … | sender_first_name | String | The gifter's first name. |
| … | sender_last_name | String | The gifter's last name. |
| … | sender_phone | Number | The gifter's phone number, if available. |
| … | recipient_email | String | The gift recipient's email. |
| … | recipient_first_name | String | The gift recipient's first name. |
| … | recipient_last_name | String | The gift recipient's last name. |
| … | recipient_phone | Number | The gift recipient's first phone number, if available. |
| … | number_of_deliveries | Number | The number of gifted deliveries. |
| … | gift_message | String | The message associated with the gift. |
| … | order_number | Number | The order number of the gift. |
| … | order_name | String | The name associated with the order. |
| … | order_internal_id | Number | The internal ID of the gift order. |
| … | shipping_method | String | The shipping method of the gift subscription. |
| … | shipping_price | Number | The shipping price of the gift subscription. |
| … | shipping_address | String | The shipping address of the gift subscription. |
Available Recurly Commerce customer properties
These properties are written to each Klaviyo profile under Custom Properties and updated as new events are sent.
| Recurly Commerce customer property | Type | Description |
|---|---|---|
| commerce_is_active_subscriber | Boolean | True if the customer has one or more active subscriptions; false otherwise. |
| commerce_active_subscription_count | Number | Total number of active subscriptions for this customer. |
| commerce_status_active_subscriptions | Number | Alias for active subscription count. |
| commerce_status_cancelled_subscriptions | Number | Total number of cancelled subscriptions for this customer. |
| commerce_status_paused_subscriptions | Number | Total number of paused subscriptions for this customer. |
| commerce_status_skipped_subscriptions | Number | Total number of skipped subscriptions for this customer. |
Quick Actions
Quick Actions generate unique URLs that let subscribers self-serve common tasks directly from email — no login to the customer portal required. Once configured, Commerce sends the required data to Klaviyo and the link is ready to embed in a campaign or flow.
Available Quick Action types
| Quick action type | Description |
|---|---|
| Skip Next Order | Allows the subscriber to skip their next scheduled order |
| Reactivate Subscription | Allows the subscriber to reactivate a cancelled subscription |
| Send Reset Payment Method Email | Sends the subscriber an email to update their payment method |
| Place Order Now | Allows the subscriber to place their next order immediately |
| View Portal | Directs the subscriber to their customer portal |
| Add on product | Allows the subscriber to add a one-time product to their next order |
| Add on subscription | Allows the subscriber to add a product as a recurring subscription |
| Add discount on product | Allows the subscriber to apply a discount to a product |
Set up Quick Actions
-
In your Recurly Commerce merchant admin, click Quick Actions in the left nav.
-
Under Select quick action type, choose the action you want to configure (e.g., Skip Next Order, Reactivate Subscription).

-
Under Configure quick action, enter a name in the Quick action name field (e.g.,
SKIP). This name becomes the variable key used in Klaviyo.
- Click + Add Quick Action to configure additional actions.
- Click Save.
Use Quick Actions in Klaviyo
Once saved, Commerce generates two variables per action, shown in the Copy output panel:
| Klaviyo context | Variable format |
|---|---|
| Campaign | {{person|lookup:'ACTION_NAME'}} |
| Flow | {{event.ACTION_NAME}} |
Copy the relevant variable and paste it into a URL field in your Klaviyo campaign or flow. It's common to surface these as buttons in emails (e.g., "Skip my next order").
Once a subscriber clicks the link, the action executes immediately and they see a confirmation message.
Frequently asked questions
Is there a payload size limit for events sent to Klaviyo?
Recurly Commerce doesn't enforce a payload size limit on its side. Klaviyo's own API
enforces a 75KB limit by default. If an event exceeds this, Klaviyo may reject it.
Keep this in mind when building flows that rely on large event payloads (e.g., orders
with many line items).
Does Commerce send upcoming order events to Klaviyo at a specific time?
Yes, Commerce sends upcoming order events to Klaviyo at 6:30 PM UTC. After Commerce sends the events, Klaviyo handles delivery, which may introduce additional timing variation.
Does the Klaviyo integration support SMS?
The integration sends email events to Klaviyo only. SMS notifications are supported in
Commerce but are handled separately and do not route through Klaviyo.
Updated 15 days ago