Marketing 9 min read

Klaviyo Shopify Email Flows: Welcome, Cart & Post-Purchase (2025)

Build the highest-ROI Klaviyo email automations for Shopify: welcome series, abandoned cart, browse abandonment, post-purchase, and win-back flows.

Common Questions

What are the best Klaviyo flows for Shopify?

Start with welcome series, abandoned cart, post-purchase, and win-back. Add browse abandonment once onsite tracking is verified.

How many emails should a welcome series have?

A common starting point is 3-5 emails over 7-10 days. Then adjust based on your open rate, click rate, and first-purchase conversion.

If you’ve already connected Klaviyo to Shopify, flows are where most stores see the fastest payback. This article focuses on the core email automations. For setup, see our main guide: Klaviyo Shopify integration. For text messages, see Shopify Klaviyo SMS.

Klaviyo
integrates with
Shopify
Marketing 4.6
TOP PICK

Klaviyo: Email Marketing & SMS

Marketing Integration for Shopify
4.6
2561 reviews
Price
Free plan available
Active Users
Last Updated
2025-12-19
KEY FEATURES:

How Shopify Data Triggers Flows

Once your integration is live, Shopify events (like Checkout Started, Placed Order, and Product Viewed) become triggers in Klaviyo. That lets you send emails that match customer intent.

Data Flow
%%{init: {'theme': 'base', 'themeVariables': { 'primaryColor': '#e0f2fe', 'primaryTextColor': '#0369a1', 'primaryBorderColor': '#0369a1', 'lineColor': '#64748b', 'secondaryColor': '#f0fdf4', 'tertiaryColor': '#fef3c7'}}}%% graph LR A[Shopify Store] -->|Customer Data| B[Klaviyo] A -->|Order History| B B -->|Segments & Tags| C[Shopify] C -->|Campaigns| D[Email/SMS] D -->|Engagement| A
Real-time sync Scheduled sync

Flow Priority (What to Build First)

PriorityFlowTriggerWhy it matters
1Abandoned cartCheckout Started + no orderHighest purchase intent
2Welcome seriesSubscribed to listConverts new subscribers to first order
3Post-purchasePlaced OrderDrives retention, reviews, and cross-sell
4Win-backNo order in X daysRecovers lapsed customers
5Browse abandonmentViewed product + no checkoutCaptures mid-intent shoppers (needs tracking)

Flow Settings (Set Once)

Before you build 10 versions of the same automation, lock in a few defaults:

  • Smart sending / frequency caps: Prevent someone from receiving too many emails in a short window.
  • Exit conditions: For cart and browse flows, exit immediately when the customer purchases.
  • Timezones: Send based on the recipient’s local timezone if possible (especially for time-sensitive promos).
  • UTM tags: Add consistent UTMs so you can compare flows in analytics (source/medium/campaign).
  • Holdouts (optional): If you want to measure true incremental lift, keep a small control group for your biggest flows.

A Simple Email Template Structure That Works

Most high-performing flow emails share the same structure:

BlockPurposeNotes
Subject + previewGet the openBe specific and benefit-led
Hero product / offerGet attention fastKeep it above the fold
One clear CTADrive the clickOne primary CTA is enough
Trust proofReduce anxietyReviews, guarantees, shipping/returns
Secondary content (optional)Increase relevanceAlternatives, bundles, FAQs

If you keep layout consistent across flows, you’ll spend less time designing and more time improving targeting.

Flow Templates (Copy/Paste Starting Point)

1) Welcome Series (3-5 messages)

Subscribed to list
├── Email 1 (Immediate): Welcome + value prop + incentive (optional)
├── Wait 2 days
├── Email 2: Best sellers + social proof
├── Wait 3 days
└── Email 3: Education + brand story + CTA

Keep it simple at first: one offer, one CTA, and consistent branding.

Useful filters (optional):

  • Split first-time vs returning customers
  • Exclude anyone who purchased in the last 7 days (they can go to post-purchase instead)

What to test:

  • Incentive vs no incentive
  • Social proof vs founder story
  • Best sellers vs category-based recommendations

2) Abandoned Cart (2-3 messages)

Checkout Started + No Order
├── Wait 1-4 hours
├── Email 1: Cart reminder + product(s) + clear CTA
├── Wait 24 hours
└── Email 2: Objection handling (shipping/returns) + reviews

Add a discount only if you need it. Many stores start without a discount and add it later for specific segments (e.g., first-time shoppers).

Common filters to add:

  • Exclude “VIP” customers from heavy discounts
  • Exclude carts under a low value threshold (optional)
  • Stop the flow immediately after purchase

Discount strategy (simple):

  • Email 1: no discount, pure reminder + reassurance
  • Email 2: add proof (reviews, returns, shipping clarity)
  • Email 3 (optional): discount only for non-buyers or first-time shoppers

3) Browse Abandonment (2 messages)

Viewed Product + No Checkout Started
├── Filter: Has email + viewed 2+ products
├── Wait 2 hours
├── Email 1: Viewed product(s) + alternatives
└── Email 2 (next day): Best sellers + category recommendations

Browse abandonment is only worth it if onsite tracking is working reliably.

Make browse email feel personal:

  • Show the exact product viewed
  • Include 2-4 alternatives (same category, same price band)
  • Use a softer CTA (“Continue browsing”) vs “Buy now”

4) Post-Purchase (Retention)

Placed Order
├── Day 3: Product tips / how-to
├── Day delivered + 5 days: Review request
└── Day 14-30: Cross-sell or replenishment

For replenishment, use a longer wait time for products with a normal repeat cycle (e.g., 30-60 days).

Quick wins inside post-purchase:

  • Add a how-to / care guide email (reduces returns)
  • Ask for a review after delivery (not immediately after purchase)
  • Cross-sell based on what they bought (accessories, refills, upgrades)

5) Win-Back (3 messages)

Placed Order + No Order (60-90 days)
├── Email 1: New arrivals since last purchase
├── Wait 7 days
├── Email 2: Best sellers + UGC
└── Email 3: Offer + "last chance" (optional)

Win-back doesn’t have to be a discount:

  • Showcase what’s new since their last purchase
  • Highlight your guarantee and shipping policies
  • Offer a bundle that increases perceived value

Benchmarks (Keep One North Star)

Klaviyo’s published benchmarks highlight a large gap between one-time campaigns and abandoned cart flows on revenue per recipient:

Message typeAvg revenue per recipient
Email campaigns$0.11
Abandoned cart flows$3.65

Metrics to Watch (So You Know What to Fix)

Use these metrics as a simple diagnostic:

MetricIf it’s low…What to try
Deliverability / delivered rateYour list quality is lowTighten targeting to Engaged, reduce frequency
Open rateSubject line or timing problemTest subjects, send time, preview text
Click rateCTA and content mismatchOne CTA, clearer offer, better product relevance
Conversion rateLanding page or offer problemImprove product page, shipping clarity, trust proof
Unsubscribe / spam rateToo frequent or irrelevantAdd smart sending, segment better, reduce promos

Example Result (Shopify Brand)

Brava Fabrics (Shopify) reports 60% of email revenue coming from automated emails (a good reminder that flows and targeting can dominate email revenue once set up correctly).

Common Mistakes (Quick Fixes)

  • No exclusions: Always exit a flow after purchase. Otherwise, customers get irrelevant reminders.
  • Too many branches early: Start with one clean path, then add splits after you have data.
  • Re-using campaign creative in flows: Flows should feel contextual to the trigger (cart, browse, purchase).
  • Discounting everyone: Save discounts for segments that need it, or you train customers to wait.

A Simple 30-Day Flow Roadmap

If you’re building from scratch, this pacing keeps things manageable:

  • Week 1: Welcome + abandoned cart live (with clean exits after purchase)
  • Week 2: Post-purchase education + review request
  • Week 3: Win-back for 60-90 day lapsed customers
  • Week 4: Browse abandonment (only if onsite tracking is stable) + one optimization test per flow

Once those are stable, you can add more flows (back-in-stock, price drop, replenishment) without overwhelming your list.

Flow QA Checklist (Before You Turn It On)

  • The flow status is Live (and you tested with a real email).
  • Every path has an exit on purchase where it makes sense.
  • Filters match reality (e.g., you are not excluding all customers by accident).
  • Emails have one primary CTA, and the CTA matches the trigger intent.
  • Smart sending / frequency caps are on (so flows don’t stack on top of campaigns).
  • UTMs and naming are consistent (so reporting stays clean).
  • You previewed the email on mobile and confirmed links work end-to-end.

If one of these fails, keep the flow in draft and fix it first.

Next Steps

  1. Launch welcome + abandoned cart flows first
  2. Add post-purchase and win-back
  3. Build better segments and personalization: Segmentation & personalization guide

Shopify + Klaviyo implementation checklist (2025)

This section adds practical “make it stable” steps you can use after you install the app/connector. It’s intentionally lightweight: the goal is fewer sync surprises, cleaner reporting, and easier troubleshooting.

1) Quick setup checklist

  • Permissions first: grant only the scopes you need (orders/customers/products as required) and document who owns the admin credentials.
  • Data mapping: confirm how email, phone, currency, and SKU are mapped between Shopify and Klaviyo.
  • Historical import: decide how far back to import orders/customers (avoid importing years of data if you don’t need it).
  • Deduplication rules: pick one unique identifier per object (usually email for customers, order ID for orders) to prevent doubles.
  • Alerts: set a lightweight alert path (email/Slack) for failed syncs, auth expiry, and API rate limits.

2) Data you should verify after connecting

Most integration issues show up in the first hour if you test the right things. Use the table below as a QA checklist (create a test order if needed).

Data objectWhat to checkWhy it matters
CustomersEmail/phone format, marketing consent fields, duplicatesPrevents double messaging and broken segmentation
OrdersOrder total, tax, discount, shipping, currencyKeeps revenue reporting and automation triggers accurate
Line itemsSKU, variant ID, quantity, refunds/returns behaviorAvoids inventory and attribution mismatches
FulfillmentStatus changes + timestamps, tracking numbers, carrier fieldsDrives customer notifications and post-purchase flows
CatalogProduct titles, handles, images, collections/tagsEnsures personalization and reporting match your storefront

3) Automation ideas for Marketing

  • Welcome series: new subscriber → educational sequence + first-purchase offer in Klaviyo.
  • Abandoned cart: cart started but not purchased → reminder email/SMS from Klaviyo (timing based on your AOV).
  • Post-purchase: order created → delivery/usage tips + cross-sell for complementary products in Klaviyo.
  • Win-back: no purchase in 60–90 days → reactivation campaign using Klaviyo segments.
  • VIP: customer hits LTV threshold → move into VIP tier and trigger perks via Klaviyo.

API sanity check (Shopify Admin API)

If your integration UI says “connected” but data isn’t flowing, a quick API call helps confirm whether the store is accessible and returning the objects you expect.

# List the 5 most recent orders (GraphQL)
curl -X POST "https://your-store.myshopify.com/admin/api/2025-01/graphql.json" \
  -H "X-Shopify-Access-Token: $SHOPIFY_ADMIN_TOKEN" \
  -H "Content-Type: application/json" \
  -d "{\"query\":\"{ orders(first: 5, sortKey: CREATED_AT, reverse: true) { edges { node { id name createdAt totalPriceSet { shopMoney { amount currencyCode } } customer { email } } } } }\"}"

Tip: keep tokens/keys in environment variables, and test in a staging store/site before rolling changes to production.

4) KPIs to monitor (so you catch problems early)

  • Sync freshness: how long it takes for a new order/customer event to appear in Klaviyo.
  • Error rate: failed syncs per day (and which object types fail most).
  • Duplicates: number of merged/duplicate contacts or orders created by mapping mistakes.
  • Revenue parity: weekly spot-check that Shopify totals match downstream reporting (especially after refunds).
  • Attribution sanity: confirm that key events (purchase, refund, subscription) are tracked consistently.

5) A simple 30-day optimization plan

  1. Week 1: connect + map fields, then validate with 5–10 real orders/customers.
  2. Week 2: enable 1–2 automations and measure baseline KPIs (conversion, AOV, repeat rate).
  3. Week 3: tighten segmentation/rules (exclude recent buyers, add VIP thresholds, handle edge cases).
  4. Week 4: document the setup, create an “owner” checklist, and set a recurring monthly audit.

Sources