---
title: "How to Integrate Klaviyo With Shopify: Setup Guide"
canonical: "https://shopstack.tech/how-to-integrate-klaviyo-with-shopify/"
author: "ShopStack"
published: "2026-10-19T15:53:08+06:00"
modified: "2026-10-20T12:53:53+06:00"
language: "en-US"
site: "ShopStack"
description: "Your Shopify store already knows who's buying, what they're buying, and how often. Klaviyo knows how to turn that behavior into emails and texts people…"
categories: "Email &amp; SMS Tools"
tags: "Klaviyo"
attribution: "ShopStack (https://shopstack.tech/)"
---

# How to Integrate Klaviyo With Shopify: Setup Guide

Your Shopify store already knows who’s buying, what they’re buying, and how often. Klaviyo knows how to turn that behavior into emails and texts people actually open. Connecting the two sounds like a five-minute app install.

 

In practice, the outcome depends on two early decisions most guides skip over.

 

In our research across Klaviyo’s official developer documentation and Shopify’s Help Center, the integration itself is a one-click install as of 2026. The real variable is which tracking method you choose and whether your Shopify plan supports it. Get that wrong and you’ll rebuild your setup three weeks later.

 

Here’s how to pick the right path before you touch a single setting.

 

## Quick Answer

 

To integrate Klaviyo with Shopify, install the official Klaviyo app from the Shopify App Store. Authorize it to read customers, orders, and products. Turn on onsite tracking, catalog sync, and coupon sync.

 

Backfill your order history, then verify events fire correctly. Finally, build your flows and segments inside Klaviyo.

 

## Start Here: What “Integrating Klaviyo with Shopify” Really Means

 

Integrating Klaviyo with Shopify means connecting two systems so customer and order data flows both ways in near real time. Klaviyo is a customer data platform built for email and SMS marketing. Shopify is your storefront, order system, and source of truth for who bought what.

 

Once connected, Shopify pushes events into Klaviyo automatically. That includes `Placed Order`, `Started Checkout`, `Fulfilled Order`, and `Viewed Product`. Klaviyo reads that stream and builds a live profile for every shopper.

 

You then use those profiles to trigger automated flows, build segments, and send campaigns.

 

![how to integrate klaviyo with shopify](https://shopstack.tech/wp-content/uploads/2026/10/how-to-integrate-klaviyo-with-shopify-mvffng0w.webp)

 

Image source: Web (Bing) / apps.shopify.com (Web image (fair-use with source credit))

 

Here’s what actually syncs, and how fast.

 

| Data type | Direction | Typical timing |
| --- | --- | --- |
| Customer profiles | Shopify to Klaviyo | Near real time |
| Orders and line items | Shopify to Klaviyo | Seconds to a few minutes |
| Product catalog | Shopify to Klaviyo | Syncs on change, small lag |
| Coupon codes | Two-way | On generation in Klaviyo |
| Onsite browsing events | Browser to Klaviyo | Live, subject to consent |

 

Everything downstream depends on this pipe being clean. Duplicate profiles, missing consent, or a broken event means your flows will fire on bad data. Fix the pipe first, then build.

 

## The Two Decisions That Change Everything (Plan Tier & Tracking Method)

 

Two variables decide your entire setup path. Get these right and everything else is straightforward.

 

![Klaviyo JavaScript (klaviyo.js)](https://shopstack.tech/wp-content/uploads/2026/10/klaviyo-javascript-klaviyo-js-mvffnh11.webp)

 

Image source: Web (Bing) / community.klaviyo.com (Web image (fair-use with source credit))

 

### Decision 1: Which Shopify plan are you on?

 

Shopify’s Checkout Extensibility is a newer checkout framework that lets apps add tracking and customization at checkout. It’s fully available on all plans, but the depth of customization differs. If you’re on Basic or Shopify, you get standard extensibility.

 

If you’re on Shopify Plus, you unlock multi-store sync, custom checkout apps, and deeper API access.

 

If you’re on Basic, Shopify, or Advanced: the standard Klaviyo integration covers everything you need. No special configuration.

 

If you’re on Shopify Plus: check whether your checkout uses custom scripts. Legacy `checkout.liquid` overwrites can conflict with Web Pixels. Migrate those before installing Klaviyo.

 

If you’re headless (Hydrogen or custom storefront): skip the standard onsite snippet. You’ll wire Klaviyo.js manually and use the Admin API for order data.

 

### Decision 2: Client-side or server-side tracking?

 

Client-side tracking loads Klaviyo.js in the browser. Server-side tracking sends events from your server or Shopify’s Web Pixels API. Each has a place.

 

| Method | Best for | Main weakness |
| --- | --- | --- |
| Client-side (Klaviyo.js) | Most standard Shopify stores | Blocked by ad blockers, cookie consent |
| Server-side (Web Pixels API) | Shopify Plus, Hydrogen, high-traffic stores | More setup, needs developer time |

 

Our research shows most stores start client-side and stay there. Server-side matters when you’re running heavy paid traffic or need attribution that survives iOS privacy changes.

 

## The Setup Workflow, Step by Step

 

Follow these phases in order. Skipping validation is the fastest way to launch broken flows.

 

### Phase 1: Install and authorize the Klaviyo app

 

Go to the Shopify App Store and install “Klaviyo: Email Marketing & SMS.” Click Install, then approve the permission scopes Klaviyo requests. These cover customers, orders, products, and checkout. Shopify requires apps accessing protected customer data to pass its review, so Klaviyo’s permissions are pre-vetted.

 

### Phase 2: Turn on onsite tracking, catalog sync, and coupon sync

 

Inside Klaviyo, go to Integrations and open your Shopify settings. Toggle on onsite tracking. Enable catalog sync so product blocks in emails pull live data.

 

Turn on coupon sync if you generate discount codes inside Klaviyo. Each toggle saves without a page reload.

 

### Phase 3: Backfill historical orders and customers

 

Klaviyo will offer to import past orders. Confirm it. Historical data powers predictive analytics like customer lifetime value and churn risk.

 

The backfill window depends on your order volume and Shopify’s API rate limits. Large stores may see sync take several hours.

 

### Phase 4: Validate events before you build anything

 

Place a real test order in your store. Then check Klaviyo’s activity feed for that profile. You should see `Placed Order`, `Ordered Product`, and `Fulfilled Order` events land within a few minutes.

 

If they don’t, stop. Don’t build flows on a broken pipe.

 

## Branching Flows: What to Build Once the Data Is Flowing

 

With clean data, you can automate the emails that actually drive revenue. Here’s the order most successful stores follow.

 

![Klaviyo Flows](https://shopstack.tech/wp-content/uploads/2026/10/klaviyo-flows-mvffnhkc.webp)

 

Image source: Web (Bing) / stewartgauld.com (Web image (fair-use with source credit))

 

### Abandoned cart, browse abandonment, and welcome series

 

Build these three first. They recover revenue you’d otherwise lose and convert new subscribers. A welcome series should trigger the moment someone joins a Klaviyo list from a Shopify form.

 

Cart abandonment should fire within an hour of an abandoned checkout.

 

### Post-purchase, winback, and VIP segments

 

These run on order history and segmentation. A post-purchase flow thanks the buyer and offers a review or upsell. A winback flow triggers after 60 to 90 days of no purchase.

 

[VIP segments use Shopify tags](https://shopstack.tech/how-to-automatically-add-a-tag-in-klaviyo/) or lifetime spend thresholds.

 

### Headless and Shopify Plus-specific branches

 

If you’re headless, you’ll fire these flows from server-side events instead of Klaviyo.js. If you’re on Shopify Plus with multiple stores, keep separate Klaviyo accounts per storefront. Merging them creates profile chaos and breaks attribution.

 

## Mistakes That Break the Integration (and How to Fix Them)

 

Most integration failures come from four issues. Each is fixable if you catch it early.

 

![Shopify Customer object](https://shopstack.tech/wp-content/uploads/2026/10/shopify-customer-object-mvffnigq.webp)

 

Image source: Bing (Web (fair-use with source credit))

 

### Duplicate profiles and consent mismatches

 

Klaviyo keys profiles on email first, then phone. Guests who check out twice with different emails get two profiles. Fix this by enabling Shopify’s customer accounts, so logins are consistent.

 

Consent mismatches happen when someone unsubscribes in Shopify but stays subscribed in Klaviyo. Sync consent rules in the Shopify integration settings.

 

### Double-firing events and stale product feeds

 

If Klaviyo.js and Shopify Web Pixels both push the same event, flows fire twice. Disable the manual snippet if the app handles tracking. Stale product feeds show old prices and out-of-stock items in emails.

 

This usually means catalog sync paused. Re-trigger it manually.

 

### Attribution gaps you can’t fix, and the ones you can

 

Klaviyo and Shopify Analytics will never match exactly. Different attribution windows produce different numbers. What you can fix: mismatched UTM parameters, missing consent, and timezone errors.

 

What you can’t: Shopify’s default attribution reporting is closed, so Klaviyo’s numbers will always be its own model.

 

### When to stop and check Before Building Flows

 

Before you launch a single flow, confirm four things:

 

- Events are firing without duplicates
- Consent is syncing in both directions
- Product feed reflects current inventory
- Test profiles show expected properties

 

If any of these fail, fix them first. A flow built on bad data is worse than no flow at all.

 

## Consent, Compliance, and Data Rules You Can’t Skip

 

Email and SMS marketing is regulated in ways that don’t care whether your integration is technically clean. If your consent capture is wrong, you’re exposed regardless of how well the sync runs.

 

GDPR in the EU requires a lawful basis for holding personal data. PECR in the UK covers email and SMS consent separately. CAN-SPAM in the US governs commercial email, and the FCC enforces TCPA rules for SMS, which require prior express written consent.

 

That last one carries per-message statutory damages, so it’s not a soft rule.

 

Shopify classifies customer data as protected, and apps that touch it must pass a review. That’s why the Klaviyo app asks for specific scopes rather than blanket access.

 

If you’re in the EU or UK: load Klaviyo.js only after cookie consent fires. Loading it early is a compliance failure, not just a tracking quirk.

 

If you run SMS in the US: confirm opt-in language on every signup form, and keep the timestamp on file. Klaviyo stores consent timestamps in the profile, so use them.

 

A double opt-in flow for cold lists is still the safest default. Re-importing a rented list is the fastest way to get your sending domain flagged, and no integration fix will save it.

 

For the official frameworks, the FTC publishes CAN-SPAM compliance guidance at ftc.gov, and the UK’s ICO covers PECR at ico.org.uk.

 

## Klaviyo vs. Shopify Email and Other Alternatives: When to Pick What

 

Klaviyo isn’t the only option, and it isn’t always the right one. Matching the tool to your volume and complexity saves both money and setup time.

 

Shopify Email is Shopify’s native tool. It’s cheap, it lives inside your admin, and it covers basic campaigns. Klaviyo is a full customer data platform with predictive analytics, deep segmentation, and SMS.

 

Here’s how the main options stack up.

 

| Tool | Best for | Main trade-off |
| --- | --- | --- |
| Klaviyo | Data-driven stores with real segmentation needs | Monthly cost scales with profiles |
| Shopify Email | Small stores sending occasional campaigns | Limited automation and targeting |
| Omnisend | Stores wanting email and SMS in one mid-tier tool | Weaker predictive analytics than Klaviyo |
| Mailchimp | Brands already using it for non-Shopify channels | Clunkier Shopify sync and slower profile updates |
| Attentive / Postscript | SMS-first brands with high text volume | Email side is thinner |

 

If you’re under roughly 2,000 contacts and sending manually: Shopify Email may be enough. If you’re running abandoned cart recovery, winback flows, or segmented campaigns: Klaviyo pays for itself quickly.

 

If SMS is your primary channel: Postscript or Attentive in front of Klaviyo is a common stack. Klaviyo SMS works, but SMS-first tools tend to be sharper for text-heavy programs.

 

The honest answer: match the tool to your data needs, not your budget ceiling. A cheap tool that can’t segment wastes money on campaigns that don’t convert.

 

## FAQs

 

### How long does Klaviyo Shopify integration take?

 

The app install takes about five minutes. Full sync, including historical order backfill, usually completes within a few hours for small stores. High-volume Shopify Plus stores can take longer because of API rate limits.

 

### Do I need Shopify Plus to use Klaviyo?

 

No. Klaviyo works on every Shopify plan, including Basic. Shopify Plus only adds multi-store sync and deeper checkout extensibility.

 

Standard stores get the full email and SMS feature set.

 

### Why are my Klaviyo and Shopify revenue numbers different?

 

They use different attribution models. Klaviyo credits revenue based on its own click and open windows. Shopify reports on its own closed model.

 

Small gaps are expected, and full parity isn’t achievable.

 

### Can I sync past customers and orders into Klaviyo?

 

Yes. Klaviyo’s Shopify integration backfills historical orders and customer profiles during setup. Enabling it is optional but recommended, because predictive metrics need order history to work.

 

### What causes duplicate profiles in Klaviyo?

 

Klaviyo keys profiles on email, then phone. Guest checkouts with different emails create separate profiles. Enabling Shopify customer accounts and enforcing login reduces this significantly.

 

### Does Klaviyo tracking work with cookie consent banners in the EU?

 

Yes, if you delay loading Klaviyo.js until after consent fires. Loading it before consent is a GDPR and PECR violation. Most consent platforms integrate with the Klaviyo snippet.

 

## Final Decision Guide: Your Setup Path by Store Type

 

Where you land depends on three things: plan tier, order volume, and channel mix. Here’s the short version.

 

If you’re a small Shopify store under 2,000 contacts: install the Klaviyo app, enable client-side tracking, backfill orders, and build a welcome and abandoned cart flow. Stop there. You don’t need more.

 

If you’re a mid-size store with active paid traffic: add browse abandonment, post-purchase, and winback flows. Enable coupon sync. Review attribution monthly against Shopify Analytics, and don’t chase parity.

 

If you’re on Shopify Plus with multiple storefronts: keep separate Klaviyo accounts per store. Wire server-side tracking through the Web Pixels API. Migrate legacy checkout scripts before installing anything.

 

If you’re headless on Hydrogen: skip the standard onsite snippet. Wire Klaviyo.js manually, use the Admin API for order data, and plan for a developer on standby during launch.

 

The core truth: the integration is the easy part. What breaks stores is bad data, not bad installs. Validate events, sync consent, and keep the product feed fresh.

 

Then build flows.

 

One last check before you go live. Load a real product page, add to cart, start checkout, and abandon it. If Klaviyo shows all four events on your test profile within ten minutes, your setup is solid.

 

If not, fix the pipe before you touch another flow.
