Skip to content

Klaviyo

Connect Klaviyo to send subscription events and subscriber profile properties for flows, segments and campaigns.

Subrise sends your subscription events and subscriber details to Klaviyo. Use them to trigger flows, such as a reminder before each charge or a win-back after a cancellation, and to build segments of active subscribers.

Connect Klaviyo

  1. Go to Settings > Integrations.
  2. On the Klaviyo card, click Connect.
  3. Click Connect with Klaviyo. Klaviyo opens in a new window.
  4. Log in to Klaviyo if asked, choose the account and approve access.
  5. Close the window when it says the connection worked. The card shows Connected.

If nothing opens, allow pop-ups for the Shopify admin in your browser and try again.

Subrise asks Klaviyo for permission to read your account and profiles, write events and profiles, and write lists.

Existing subscribers

Right after you connect, Subrise copies the subscription details of every existing subscriber to their Klaviyo profile. The card shows Syncing profiles while this runs. It can take a while for a large store, and your events start flowing straight away.

Connected with an API key

Stores that connected before Klaviyo sign-in was available used a Klaviyo private API key. Those connections keep working. The card shows Upgrade available: click Edit, then Upgrade to OAuth to switch.

If the Klaviyo form asks for an API key instead of showing Connect with Klaviyo, create a private API key in Klaviyo with full access to Events and Profiles, paste it into API key and click Connect.

Reconnect or disconnect

If Klaviyo revokes access, the card shows Disconnected and a Reconnect button. Click it to approve access again.

To stop sending data, click Disconnect on the card, then Disconnect again to confirm.

Events Subrise sends

Subrise sends two sets of events. Both show under Analytics > Metrics in Klaviyo once each event has happened at least once in your store.

Subscription lifecycle events

These use names Klaviyo recommends for subscription apps, so they fit Klaviyo's own flow templates.

MetricSent whenExtra properties
Subscription StartedA subscription is created.None
Subscription PausedA subscription is paused.pause_reason
Subscription ResumedA paused or cancelled subscription is resumed.None
Subscription CancelledA subscription is cancelled.cancellation_reason, cancellation_details
Subscription SkippedThe next order is skipped in the admin, the customer portal or Gorgias.old_next_charge_date, new_next_charge_date
Next Charge Date ChangedThe next order date changes.old_next_charge_date, new_next_charge_date
Frequency ChangedThe subscription moves to another plan or frequency.old_plan, new_plan
Upcoming ChargeBefore each order, on the schedule of your upcoming order email.days_until_charge
Charge FailedA renewal charge fails.retry_number, retries_left, is_final_retry, error_message
Recurring Order ProcessedA renewal is charged and its order is created.order_id, order_total. The event value is the order total.
Payment Method ExpiringThe card saved on a subscription is about to expire.days_until_expiry, card_brand, card_last_4, update_payment_url

Every lifecycle event also carries:

PropertyWhat it holds
subscription_contract_idThe subscription contract ID.
itemsOne entry per product: ProductID, VariantID, SKU, ProductName, Quantity, ItemPrice, RowTotal, ImageURL, ProductURL.
next_charge_dateThe next order date, as a Unix timestamp in seconds.
interval, interval_unitThe billing frequency, such as 1 and MONTH.
currency, totalThe subscription's currency and the price of one order.
portal_urlThe customer's link to manage the subscription.

Subrise events

Subrise also sends the subrise_* events it sends to every email and SMS integration, such as subrise_new_subscription and subrise_failed_transaction. In Klaviyo their fields sit under one property named data, so you reference them as data.customer_email, data.subscription_id and so on.

See Integration events for every subrise_* event and its fields.

Tip

Build new flows on the lifecycle events. They carry product details in Klaviyo's format and their names never change.

Profile properties

After each lifecycle event, Subrise updates the customer's Klaviyo profile with these properties:

PropertyWhat it holds
subrise_active_subscriberTrue when the customer has at least one active subscription.
subrise_active_subscription_countHow many active subscriptions they have.
subrise_cancelled_subscription_countHow many of their subscriptions are cancelled.
subrise_active_product_titlesThe products on their active subscriptions.
subrise_active_variant_idsThe variant IDs on their active subscriptions.
subrise_next_charge_dateThe soonest next order date across their active subscriptions, as a Unix timestamp in seconds.
subrise_first_charge_atWhen their first subscription started, as a Unix timestamp in seconds.
subrise_charge_countHow many subscription orders they have been charged for.
subrise_portal_urlThe portal link for their active subscription that bills soonest.

Use them to build segments, for example subrise_active_subscriber is true, to exclude subscribers from a subscribe-and-save campaign.

Troubleshooting

  • No events in Klaviyo. Klaviyo only lists a metric after the first event of that kind. Create a test subscription on your store to send Subscription Started.
  • The card shows Disconnected. Click Reconnect and approve access again. Events that happened while disconnected are not resent.
  • A profile is missing properties. Profiles update after the customer's next lifecycle event. Customers with no subscription activity since you connected keep the values from the first sync.