CONTENTS

    How To Use Klaviyo for Subscription Coffee Brands on Shopify

    avatar
    alex
    ·October 21, 2025
    ·8 min read

    What you’ll build (and why it works)

    If you sell coffee subscriptions on Shopify, Klaviyo can handle every lifecycle touchpoint—from new-subscriber onboarding and upcoming charge reminders to dunning, skip/swap confirmations, cancellation winbacks, and replenishment for one‑time buyers. This guide shows you exactly how to connect your data, build the core flows, keep SMS compliant in the US, and measure what matters for LTV.

    • Difficulty: Intermediate (you’ll click through Klaviyo, Shopify, and your subscription app)
    • Time: 2–4 hours for a solid v1 across all flows; 30–60 minutes per future iteration
    • Prerequisites: Shopify store access, Klaviyo account, and a subscription app (Recharge or Skio recommended)

    Why this approach works: It uses event triggers from your subscription app and Shopify so messages arrive right when customers need them—reducing churn, failed payments, and “I forgot to skip” refunds.


    Step 1) Connect Shopify and verify data in Klaviyo (15–30 minutes)

    1. In Klaviyo, go to Integrations → Explore apps → Shopify and follow the prompts to connect your store. If you need a refresher, see Klaviyo’s official setup in Getting started with Shopify — Klaviyo Help.
    2. Enable onsite tracking (app embed) if prompted.
    3. Place a test order in Shopify (use a $0 draft product or discount if needed).
    4. In Klaviyo, open Analytics → Metrics and confirm you see recent events like Placed Order with the Shopify icon.

    How to check it worked

    • You should see Placed Order populate in Analytics → Metrics within a few minutes of your test order.
    • In a campaign or flow email editor, click Preview & test → Select a recent event. Confirm dynamic fields (product title, price) render correctly.

    Pro tip

    • If events don’t appear, re-authenticate the Shopify integration and confirm the app embed/snippet is active. Ad-blockers and privacy scripts can block onsite events; test in a fresh browser session.

    Step 2) Connect your subscription app (Recharge or Skio) and send test events (20–40 minutes)

    Your subscription provider will sync lifecycle events (new subscription, upcoming charge, failed billing, skip/swap, cancel, reactivate) to Klaviyo. Use those events to trigger transactional and lifecycle flows.

    A) Recharge setup

    1. In Recharge, install/enable the Klaviyo app and connect your Klaviyo account.
    2. Use Recharge’s “Send test” for common metrics to populate sample data in Klaviyo.
    3. In Klaviyo, open Analytics → Metrics, filter by “Recharge” to confirm events (e.g., Subscription started, Upcoming order, Order transaction failed, Subscription cancelled).
    4. Plan to disable overlapping Recharge notifications once your Klaviyo versions go live to avoid duplicates. See Klaviyo — Recharge Help.

    B) Skio setup

    1. In Skio, go to Integrations → Klaviyo and connect via API/OAuth.
    2. Enable desired events and click Send test for each (Created at Checkout, Upcoming order/billing, Failed Billing Attempt, Was Skipped, Next Billing Date Changed, Was Cancelled, Was Reactivated).
    3. In Klaviyo, confirm these events appear in Analytics → Metrics under Skio.
    4. When your Klaviyo flows go live, turn off any overlapping Skio notifications to prevent duplicates. Reference Klaviyo Integration — Skio Help.

    Checkpoint: Verify exact event names in your own Klaviyo account. Names can vary by integration version—always copy from Analytics → Metrics or the Preview panel so your triggers and template variables match.


    Step 3) Build the essential coffee subscription flows

    Below are battle‑tested flow recipes. For each, I’ll list a typical trigger, timing, content tips, and how to QA.

    3.1 New subscriber welcome and onboarding (Email; optional SMS)

    • Trigger
      • Recharge: “Subscription started on Recharge” (verify name in your Metrics)
      • Skio: “Subscription Created at Checkout”
    • Timing: Immediately after the subscription starts.
    • Content
      • Thank them and set expectations: roast day, ship cadence, grind/brew guidance, and how to manage their subscription.
      • Include a prominent “Manage subscription” button that deep-links to the portal.
    • SMS compliance reminder (US)
      • If you include SMS, keep it informational and ensure the recipient has opted in. Include “Reply STOP to opt out.”
    • QA

    Why this matters

    • A clear day‑1 welcome reduces early churn and support tickets (“How do I skip?”) and sets the tone for fresh, consistent deliveries.

    3.2 Upcoming charge reminder (Email and/or SMS)

    • Trigger
      • Recharge: “Upcoming order on Recharge” (or date property)
      • Skio: Upcoming order/billing reminder or a date-triggered flow using nextBillingDate
    • Timing: 3 days before the next charge; optionally add a 24‑hour reminder.
    • Content
      • Emphasize freshness and control: skip, swap, change grind, or pause.
      • Add quick links to each action (your app provides URLs).
    • SMS compliance reminder
      • For US, respect quiet hours and ensure opt‑in. Avoid promotional copy if you mark the message as transactional.
    • QA
      • Use a test subscription with a near-term billing date; verify the delay math and links.

    Coffee‑specific tip

    • For a 12 oz bag, most households need replenishment every 14–28 days. The 3‑day heads‑up aligns expectations with roast/ship timing.

    3.3 Dunning: payment failure recovery (Email and SMS)

    • Trigger
      • Recharge: “Order transaction failed on Recharge”
      • Skio: “Failed Billing Attempt”
    • Cadence
      • Message 1: Immediately (include direct “Update payment method” link)
      • Message 2: 24 hours later
      • Message 3: 3 days later; warn that shipments will pause until payment is updated
    • Content
      • Keep it concise and helpful; reassure that the subscription resumes once the card is updated.
    • SMS compliance reminder
      • Obtain consent; include “Reply STOP to opt out.” Respect quiet hours.
    • QA
      • Trigger a failed payment test in your app (or ask support for a safe test). Confirm all three messages send to your test profile.

    3.4 Skip/swap confirmation and upsell (Email)

    • Trigger
      • Skio: “Subscription Was Skipped” or “Next Billing Date Changed”
      • Recharge: use the equivalent skip/next-date change event if available
    • Content
      • Confirm the change and suggest alternatives: a different roast, smaller bag, or add‑on (filters, mugs) that ships next time.
    • QA
      • Perform a skip or date change on a test subscription; verify the event and that personalized details render.

    3.5 Cancellation capture and winback (Email and SMS)

    • Trigger
      • Recharge: “Subscription cancelled on Recharge”
      • Skio: “Subscription Was Cancelled”
    • Branching logic
      • If reason available, branch the content (price → offer a smaller bag or frequency change; taste → suggest a different roast/grind; traveling → pause option).
    • Follow‑up
      • Winback flow 30–60 days later highlighting fresh seasonal beans and a simple re‑subscribe link.
    • QA
      • Cancel a test subscription; confirm the cancellation capture email and the scheduled winback.

    3.6 Reactivation thank‑you (Email)

    • Trigger
      • Recharge equivalent or Skio: “Subscription Was Reactivated”
    • Content
      • Welcome back, confirm next ship date, invite them to adjust grind/frequency.
    • QA
      • Reactivate a test subscription and confirm the event fires.

    3.7 Replenishment for one‑time coffee buyers (Email and/or SMS)

    • Trigger
      • Shopify: Placed Order filtered to coffee SKUs (exclude subscribers); delay based on bag size or predicted consumption.
    • Timing
      • 12 oz bag: start with 14–28 days after purchase; A/B test exact timing.
    • Content
      • One‑click reorder link; optional subscribe‑and‑save mention for convenience.
    • How‑to reference
    • QA
      • Place a one‑time test order; ensure the flow triggers and exits if the customer repurchases sooner.

    Segmentation essentials for coffee subscriptions

    Use synced events and profile properties from your subscription app.

    • Active subscribers
      • Condition example: profile hasActiveSubscription = true (Skio) or Recharge tag/property equivalent
    • Upcoming renewal window
      • nextBillingDate within the next 3–5 days
    • High‑value subscribers
      • Total subscription revenue above your LTV threshold and frequency ≥ monthly
    • Skippers vs. swappers
      • Event‑based segments for “Was Skipped” vs. “Changed Variant/Next Billing Date” to tailor messaging

    Tip

    • Always confirm field names in your own Metrics and Profiles. Copy exact property keys from the Klaviyo Preview panel to avoid typos.

    US SMS compliance and deliverability (operational checklist)

    This is practical guidance for operators, not legal advice. For official guidance, see Klaviyo’s resources on Understanding US SMS compliance laws (Klaviyo Help) and SMS/MMS quiet hours in flows (Klaviyo Help).

    • Consent and opt‑out
      • Collect prior express written consent for marketing SMS. Include “Reply STOP to opt out” in every SMS. Maintain consent records.
    • Quiet hours
      • Respect local quiet hours (commonly 8 a.m.–8 p.m. in stricter states). Configure Klaviyo Quiet Hours and Smart Sending for SMS.
    • Transactional vs. marketing
    • Sending numbers
      • Choose the appropriate number type (e.g., toll‑free or short code) and complete required verifications in Klaviyo settings.

    Operational safeguards

    • Build separate lists/consents for SMS; don’t assume email consent covers SMS.
    • Use state/region targeting if your brand has high volume in stricter jurisdictions.

    Measure what matters (churn, recovery, and LTV)

    • Flow analytics
    • Subscription KPIs to track weekly
      • Churn rate (cancel events ÷ active subs)
      • Failed payment recovery rate (dunning conversions ÷ failed attempts)
      • Skip/pause rate and swap rate (health indicators, not always “bad”)
      • Winback rate (re‑subscriptions within 30–60 days)
      • Subscriber LTV by cohort and product
    • Experiment ideas
      • A/B test timing (e.g., 3‑day vs. 2‑day upcoming charge) and reminder count (one vs. two)
      • Test copy framing (freshness/roast day vs. control/flexibility angles)

    Verification habit

    • After each launch, review flow performance after 7 and 28 days. Adjust delays and content based on conversion and unsubscribe/spam signals.

    Practical workflow example: using enriched events to recover carts (and promote subscribe‑and‑save)

    You can improve browse/cart recovery and subscription adoption by sending more granular events into Klaviyo and using them to trigger flows and segments.

    • Example setup
      • Send enriched “Added to Cart” and “Checkout Started” events to Klaviyo with product and intent details.
      • Build a cart recovery flow that branches when the item is a coffee subscription SKU or when a customer is a frequent repeat coffee buyer.
      • In that branch, include an option to start a subscription (with your best value proposition and manage‑it‑anytime messaging).
    • Tooling option
      • Attribuly can send enriched events to Klaviyo and Shopify, which you can then use to trigger these flows and to measure downstream performance.
      • Disclosure: Attribuly is our product.

    How to QA

    • Add to cart on a staging theme or test product; confirm the enriched event appears in Klaviyo Analytics → Metrics.
    • In the email editor, use Preview & test to validate event properties (SKU, variant, price) and dynamic blocks.

    Troubleshooting checklist (save this for launch day)

    • “My event isn’t showing in Klaviyo”
      • Re‑check the integration status in Recharge/Skio; resend a test event.
      • In Klaviyo, filter Analytics → Metrics by source (Recharge/Skio) and date range.
      • Re‑authenticate Shopify → Klaviyo if core events (Placed Order) are missing.
    • “Customers got two messages for the same thing”
      • Disable overlapping notifications inside Recharge/Skio once the Klaviyo flow is live.
    • “Dynamic fields show blank”
      • In the template, Preview & test against a real event instance; copy the exact event property tags.
    • “Transactional vs. marketing confusion”
      • Keep purely informational notices separate and marked as transactional. Remove promos from those messages.
    • “SMS messages sent too early/late”
      • Enable Quiet Hours and Smart Sending; schedule by recipient local time.

    Optional enhancement: Klaviyo Customer Hub for self‑serve subscription management

    If you use Recharge, Klaviyo’s Customer Hub can surface subscription indicators in account pages and link out to “Manage subscription,” reducing support load. See Klaviyo’s Customer Hub documentation for setup steps in your account.


    Next steps

    • Launch order
      1. Connect Shopify and your subscription app; verify events.
      2. Build/QA: dunning and upcoming charge (transactional), then welcome, cancellation capture, reactivation, skip/swap confirmations.
      3. Add replenishment for one‑time buyers and start simple A/B tests.
    • Soft CTA
      • If you want to experiment with enriched events and more precise attribution for lifecycle flows, connect the Klaviyo integration described here: Attribuly Klaviyo integration.

    You’re ready to reduce churn, boost recovery, and keep your beans fresh and customers happier with timely, helpful messages.

    Retarget and measure your ideal audiences