
By Roy · Marketing manager at Subi · Published
Connect Klaviyo to your Shopify subscription store through Subi in about 15 minutes: create a Klaviyo Private API Key with profiles:write, paste it into Subi, and turn on Tag Management so subscriber tags flow into Klaviyo. You'll need a Subi paid plan (Tag Management is on the $4.99/mo Subi tier) and a Klaviyo account on any plan. Once connected, Subi pushes subscriber and order tags into Klaviyo so your existing flows, segments, and campaigns can target subscribers by lifecycle stage instead of treating them like one-time buyers.
Estimated setup time: 15 minutes. Requires: a Subi account on the $4.99 plan or higher (for Tag Management), a Klaviyo account, and admin access to your Shopify store.
Install the Klaviyo integration on Subi
The Klaviyo Shopify integration on Subi pushes subscription tags from Shopify into Klaviyo, so every flow, segment, and campaign can target subscribers by lifecycle stage instead of treating them like one-time buyers.
Klaviyo is an email and SMS marketing platform built for ecommerce that lets Shopify stores trigger automated flows, build behavioral segments, and send broadcast campaigns from a single customer profile.
The Subi–Klaviyo integration is a tag-and-event sync that applies Subi's subscription tags to Shopify customers and orders so Klaviyo can fire flows and build segments on subscription state — active, paused, cancelled, first order, recurring order N — without custom code.
Two data paths:
Subi Subscriber, Has Active Subscription, Has Paused Subscription, Has Canceled Subscription) and orders (Subi Subscription, First Subscription Order, Recurring Order #N) (source).Subscription contract created trigger you can wire to Klaviyo's Track Event step (source).Klaviyo's existing Shopify integration handles order placed, profile sync, and product catalog. Subi adds the subscription layer on top.
Subscription merchants on Shopify who already use — or are about to start using — Klaviyo for lifecycle email. The integration earns its keep when you want at least three subscription-specific flows: a first-month welcome series, an upcoming-charge reminder, and a winback for cancelled subscribers. Solo founders running 50–5,000 active subscribers get the most leverage.
If all you run today is a single welcome email, the native Shopify ↔ Klaviyo connection is enough — you don't need this. Come back when you have subscription flows worth building.
Three accounts and one settings change. Confirm each before you begin so you don't stall halfway through.
Five steps, ~15 minutes. The slow part is generating the Klaviyo API key with the right scope; the rest is a few clicks.
Install Subi from the Shopify App Store and finish onboarding. In Subi, open Settings and turn on Tag Management — the switch that tells Subi to start writing customer and order tags into Shopify (source).
What you'll see when it works: Any new subscription created from this point forward gets the Subi Subscriber and Subi Subscription tags in your Shopify admin.
In Klaviyo, go to Account → Settings → API Keys and click Create Private API Key. Choose Custom Key, name it Subi Integration, and under Profiles set the permission to Full Access. Save and copy the key.
The profiles:write permission is non-negotiable. Per Subi's help center: "Without this permission, Subi cannot create or update contacts in Klaviyo" (source).
What you'll see when it works: Klaviyo lists the new key under Private API Keys with the Profiles scope set to Full Access.
Back in Subi, open Integrations, find Klaviyo, paste the Private API Key, and save. Subi handshakes with Klaviyo and starts syncing customer profiles for new subscription orders.
What you'll see when it works: Klaviyo shows as Connected in Subi's Integrations panel, and the test subscriber's profile appears in Klaviyo with the Subi Subscriber Shopify tag attached.
In Klaviyo, go to Flows → Create Flow and pick the Placed Order trigger. Add a Time Delay step before the filter — Subi needs a few seconds to apply tags, and "without a delay, the flow may fail" (source). Then add a Trigger Filter: Shopify Tags → contains → Subi Subscriber (or First Subscription Order for a welcome series). Add your email, set it live, and test with a real subscription.
What you'll see when it works: A test subscription order shows the profile passing the filter, the email sends, and Klaviyo logs the activity.
If you want to fire Klaviyo events the moment a subscription contract is created — rather than waiting for the next Placed Order — install Shopify Flow, import Subi's template, and click Track an Event. Paste your Klaviyo Public API Key and confirm the event name (subscription contract is created by default) (source).
What you'll see when it works: A subscription contract is created metric appears in Klaviyo and is usable as a trigger inside any flow.
Three subscription flows pay back the setup time on day one. Wire these first.
Welcome series for new subscribers. Trigger: Klaviyo Placed Order with a First Subscription Order tag filter and a one-minute delay. Three emails over 14 days explaining how the subscription works, when the next charge hits, and how to manage it from the portal. Stops "wait, am I on a subscription?" tickets before they're filed.
Upcoming-charge reminder. Trigger: a segment of profiles tagged Has Active Subscription, sent three days before the recurring order date. Subi's Recurring Order #N tags let you branch messaging by renewal count. The reminder reduces involuntary churn and chargebacks at the same time.
Winback for cancelled subscribers. Trigger: profiles tagged Has Canceled Subscription, segmented by days since cancel. A 14, 30, and 60-day cadence with a small incentive on the second touch is the standard pattern.
Three issues cover the vast majority of integration tickets. Start here before opening a support ticket.
Three checks: does your Private API Key include profiles:write? Did you reconnect Subi after creating the key (a key with the wrong scope still appears connected, but no data syncs)? Are you testing with a new subscription rather than historical data? Existing customers are not retroactively tagged (source).
Almost always the missing time delay. Klaviyo evaluates the trigger filter the instant the order lands, but Subi needs a beat to apply the Shopify tag. Drop a 1-minute Time Delay step before the filter and re-test. If the delay is in place, check the tag spelling — Klaviyo's tag match is case-sensitive.
Klaviyo blocked the write because the key lacks the Profiles permission. Create a new Private API Key with Profiles set to Full Access and reconnect from Subi → Integrations → Klaviyo.
The integration is free. You need the Subi $4.99/mo plan or higher because Tag Management — the feature that powers it — is gated to the paid tier (source). On Klaviyo's side, the free plan supports it; no Klaviyo upgrade required.
Two channels. Through the native integration, Subi writes Shopify tags (Subi Subscriber, Has Active Subscription, Has Paused Subscription, Has Canceled Subscription on customers; Subi Subscription, First Subscription Order, Recurring Order #N on orders) that Klaviyo reads as filterable properties. Through Shopify Flow, Subi exposes a subscription contract created trigger as a custom event (source).
Yes — and you should. Klaviyo's existing Shopify integration syncs customer profiles, order data, and the product catalog; Subi adds subscription tags on top. The integrations operate on different layers.
Flows keep running, but new subscribers stop getting tagged, so any filter that depends on a Subi tag won't fire for new orders. The flows themselves stay intact. Reinstall Subi and re-enable Tag Management to resume.