Klaviyo Shopify Setup: A 14-Step Implementation Checklist
Short answer. A reliable Klaviyo Shopify setup follows this order: account settings, branded sending domain, authentication and DMARC, Shopify integration, onsite tracking, subscriber sync, lists and segments, sign-up forms, priority flows, custom properties, reporting, and deliverability monitoring. Validate the Shopify events before building automation. A polished flow cannot compensate for missing or misidentified data.
Installing the Klaviyo app is not the same as completing a Klaviyo implementation. The account may appear connected while subscriber consent feeds the wrong list, a new Shopify theme has disabled the app embed, or a checkout event arrives without the properties your email needs.
Use this 14-step checklist for a new account or as an audit of an existing one. The goal is not to activate every feature. It is to leave the team with a setup it can explain, test, and maintain.
Before you begin: define the system of record
Write down which platform owns each data type before connecting anything.
| Data | System of record to define |
|---|---|
| Product, price, inventory, order | Usually Shopify |
| Email and SMS consent | Shopify, Klaviyo, or another consent platform, with sync direction documented |
| Customer profile enrichment | Klaviyo, Shopify, CDP, or warehouse |
| Transactional messages | Shopify, Klaviyo, or a dedicated transactional provider |
| Marketing campaigns and flows | Klaviyo if this implementation succeeds |
This decision prevents two tools from overwriting the same field or sending the same message.
1. Configure the account and brand defaults
Confirm the organization name, default sender, physical address, timezone, and currency in the account settings. The timezone affects scheduling and the way reports are read. The currency affects revenue displays and comparisons.
Add the logo, brand colors, standard footer, and unsubscribe experience. Use a recognizable sender name and an address on a domain the business controls. Avoid a free Gmail or Yahoo address for production marketing sends. The no-reply email address guide explains how to choose and operate a monitored Reply-To.
Before anyone builds templates, agree on:
- the default sender name and reply-to address;
- the legal business name and postal address;
- the primary button and text styles;
- who approves brand and compliance changes.
2. Set up a branded sending domain
In Klaviyo, open Settings > Domains, choose Add Domain, and follow the current guided setup. Klaviyo asks for a send type and an unused subdomain, such as send.example.com for marketing messages.
The exact DNS records depend on the routing option available to the account. Klaviyo's current guide states that setup can require CNAME or NS records plus a TXT record for ownership verification. Do not copy records from another account or a generic tutorial. Use the values generated for your domain.
Klaviyo's official branded sending domain guide is the source of truth for the current interface and record types.
3. Verify SPF, DKIM, and DMARC alignment
With a Klaviyo branded sending domain, the DNS configuration provided by Klaviyo establishes SPF and DKIM authentication for that sending setup. DMARC is managed at the organizational domain with your DNS provider.
If the domain does not have DMARC, a monitoring policy such as p=none can be an appropriate first step while the team inventories every legitimate sender. Do not move to quarantine or reject until all authorized services align correctly. A strict policy deployed too early can block legitimate mail.
Validate the final configuration from the Klaviyo domain screen and with the reporting tools used by your deliverability owner. Klaviyo explains the relationship between the protocols in its email authentication guide.
4. Install the official Shopify integration
Klaviyo's current Shopify setup starts in Integrations > Explore apps > Shopify.
- Select Shopify and click Install.
- Enter the store URL in the
store.myshopify.comformat. - Connect to Shopify, review the requested permissions, and install the app.
- Return to Klaviyo and confirm the integration.
- Configure the Shopify-to-Klaviyo and optional Klaviyo-to-Shopify sync settings deliberately.
If another ESP is still connected during a migration, map the overlap before leaving both integrations active. Two systems can send duplicate welcome or abandonment messages, and an old sign-up form can continue feeding the wrong list.
Follow the official Klaviyo Shopify integration guide rather than relying on screenshots from an older interface.
5. Configure subscriber and profile sync
In the Shopify integration settings, decide whether to sync Shopify email subscribers to Klaviyo. If enabled, select the main consented email list that triggers the welcome series. Use a separate list for SMS subscribers because email and SMS consent are not interchangeable.
Klaviyo documents that enabling the Shopify email subscriber sync also initiates a historical subscriber sync. Existing profiles are evaluated using consent status and timestamps. Ongoing behavior is not perfectly symmetrical: an unsubscribe in one platform does not automatically imply every corresponding status change in the other.
Test these cases individually:
- a new email subscriber at checkout;
- a new subscriber through a Shopify form;
- an existing customer who opts in;
- an unsubscribe in Klaviyo;
- an unsubscribe or status change in Shopify;
- a resubscription.
The official Shopify subscriber sync reference describes the current behavior. Document the result of your own tests because custom forms and consent platforms can change the path.
6. Enable the Klaviyo app embed and behavioral tracking
In Integrations > Shopify > Onsite tracking, enable Track behavioral events, then use the provided link to open Shopify's theme editor. Toggle the Klaviyo app embed on and save the active theme.
This step matters after every theme replacement. A Shopify integration can remain connected while the active theme no longer loads the app embed.
Klaviyo currently distinguishes several onsite events:
| Event | Typical source | Primary use |
|---|---|---|
| Active on Site | Klaviyo app embed | Known-site activity and engagement |
| Viewed Product | Klaviyo app embed | Browse abandonment and product affinity |
| Viewed Collection | Shopify pixel when behavioral tracking is enabled | Collection interest |
| Submitted Search | Shopify pixel when behavioral tracking is enabled | Search intent |
| Added to Cart | Shopify pixel when behavioral tracking is enabled | Cart abandonment |
| Checkout Started | Shopify integration | Checkout abandonment |
| Placed Order and Ordered Product | Shopify integration | Revenue, post-purchase, and product segmentation |
Shopify Customer Privacy settings can prevent tracking for visitors in certain regions until consent is present. A test completed without accepting the relevant cookies may correctly produce no onsite event.
Review Klaviyo's onsite tracking setup and test procedure before troubleshooting the theme.
7. Test the full Shopify event path
Wait for the integration and theme changes to propagate, then use one dedicated test profile for the full journey.
- Identify the browser using a Klaviyo form or Klaviyo's documented test method.
- View a collection and product.
- Add a product to cart.
- Start checkout with the same email address.
- Place a test order.
- Fulfill, cancel, or refund a separate test order if those events affect planned flows.
- Inspect the profile activity feed and Analytics > Metrics.
For each event, confirm the timestamp, product, variant, quantity, price, currency, checkout URL, customer locale, and order identifier that your use cases require.
Klaviyo says Shopify profile properties and metrics generally sync in real time, but customizations can affect what appears. Its Shopify data reference also notes that later changes to certain order tags may not update a metric already synced. Build segments from fields that actually remain reliable.
Common integration symptoms
| Symptom | Likely area to inspect |
|---|---|
| No Active on Site or Viewed Product | App embed, active theme, browser identification, consent |
| Viewed Product works but Added to Cart does not | Track behavioral events setting, Shopify pixel, theme or cart customization |
| Orders do not appear | Connected store, app authorization, integration health |
| Duplicate events | Old snippets, custom pixels, duplicate integrations |
| Subscriber misses welcome flow | Subscriber sync setting, selected list, consent status, flow trigger |
8. Keep lists simple and use segments for behavior
Create one primary email list for consented subscribers and a separate list for SMS consent if that channel is active. Do not create a new list for every campaign source or customer state.
Use dynamic segments for behavior:
| Segment | Starting definition |
|---|---|
| Engaged non-buyers | Recently clicked or meaningfully engaged, with no Placed Order |
| Recent buyers | Placed Order within the business's reorder window |
| Repeat customers | At least two orders, or the brand's chosen threshold |
| VIP candidates | Order count and value above a documented threshold |
| At-risk customers | Prior buyer beyond the expected reorder interval |
| Sunset candidates | No meaningful engagement or purchase over a defined period |
Treat opens carefully because privacy features can inflate or obscure them. Combine clicks, site activity, and purchases where the data is available.
Do not add every Shopify customer to a marketing list. A customer profile and permission to send marketing are different concepts.
9. Build the primary sign-up form
Create the first Klaviyo sign-up form with one clear offer and one clear consent path. Email-only in the first step often reduces friction. If SMS is part of the program, collect it in a separate step with channel-specific disclosure.
Configure:
- trigger timing or scroll depth;
- page and device targeting;
- suppression for existing subscribers;
- frequency after dismissal;
- the destination list;
- success message and incentive delivery;
- UTM or source properties needed for analysis.
An immediate full-screen interruption is not automatically the highest-converting option. Test capture rate alongside bounce, navigation, and downstream subscriber quality.
10. Launch the welcome flow
Trigger the welcome series from the main email list, not from a broad segment of all profiles.
A practical starting sequence is:
| Message | Timing | Job |
|---|---|---|
| Email 1 | Immediately | Deliver the promised offer or resource and set expectations |
| Email 2 | 1 day later | Explain the brand's point of view |
| Email 3 | 2 to 3 days later | Help the subscriber choose a product or next step |
| Email 4 | 3 to 4 days later | Address objections with proof and useful detail |
| Email 5 | Later in the first 10 days | Close the introductory offer if one exists |
Add flow filters or branches for existing customers when the message would otherwise treat them like first-time prospects. Check suppression and consent before every promotional send.
11. Build checkout abandonment and post-purchase flows
For Shopify, the checkout abandonment flow commonly uses Checkout Started. Add a flow filter requiring Placed Order zero times since starting the flow. Klaviyo rechecks flow filters before each message, so a shopper who purchases during a delay should be skipped.
Do not run Shopify's default recovery message and a Klaviyo checkout sequence without coordinating them. Klaviyo's Shopify data reference notes that disabling Shopify's own abandoned checkout notification is a manual step.
For post-purchase, trigger from the verified order metric and branch by first-time versus repeat customer only if order history supports the condition. Separate service information from promotional follow-up so customers receive operational updates regardless of marketing eligibility.
Our Klaviyo abandonment flow guide covers the hierarchy among checkout, cart, browse, and site activity.
12. Add browse abandonment and controlled profile properties
Browse abandonment uses Viewed Product. It should exclude anyone who added to cart, started checkout, or placed an order after entering the flow. Keep the message lighter than a checkout reminder because viewing a product is a weaker signal.
Create custom profile properties only when a defined system will maintain them. Useful examples may include:
acquisition_sourcefor the sign-up source;welcome_offer_usedwhen redemption data is reliable;- a lifecycle status maintained by an integration or controlled workflow.
Avoid manually maintained labels that quickly become stale. A dynamic segment is often safer than a copied vip=true property.
13. Configure reporting before launch
Document the attribution settings used by the account rather than assuming Klaviyo and GA4 should match. They use different identity signals and attribution logic, so identical revenue numbers are not a realistic QA requirement.
Create a small operating dashboard:
- campaign and flow recipients;
- clicks and conversions by message;
- revenue per recipient where attribution is appropriate;
- unsubscribe, complaint, and bounce trends;
- flow skips and the reasons behind them;
- performance by mailbox provider when available.
Keep a launch log containing the date, audience, status changes, tracking changes, and experiments. Without it, a reporting shift can look like a performance shift.
14. Monitor deliverability and flow overlap
Connect Google Postmaster Tools when the sending volume supports useful data. Review domain authentication, complaint trends, bounces, and engagement. Klaviyo's deliverability features can highlight issues, but no dashboard guarantees inbox placement.
Audit total contact pressure across campaigns and flows. A subscriber can qualify for welcome, browse, cart, checkout, and campaign messages in the same day unless the architecture prevents it.
Before moving a flow to live status:
- Preview every message with representative event data.
- Check desktop and mobile rendering.
- Validate every link and unsubscribe path.
- Use Manual status when the logic needs observation before automatic sends.
- Confirm filters with a profile that purchases during the delay.
Klaviyo documents Draft, Manual, and Live behavior in its flow setup guide.
Final implementation checklist
| # | Check | Evidence required |
|---|---|---|
| 1 | Account and brand defaults | Approved sender, address, timezone, currency |
| 2 | Branded sending domain | Domain marked active in Klaviyo |
| 3 | Authentication | SPF and DKIM aligned, DMARC monitored |
| 4 | Shopify integration | Correct store and permissions |
| 5 | Subscriber sync | Tested email and SMS consent paths |
| 6 | App embed | Enabled on the active theme |
| 7 | Event validation | Test profile shows required events and properties |
| 8 | Lists and segments | Consent lists separated from behavioral segments |
| 9 | Sign-up form | Correct list, disclosure, targeting, and suppression |
| 10 | Welcome flow | Trigger, filters, content, and links tested |
| 11 | Checkout and post-purchase | Purchase exits and service-message ownership confirmed |
| 12 | Browse and properties | Stronger intent signals excluded |
| 13 | Reporting | Attribution settings and dashboard documented |
| 14 | Deliverability | Monitoring owner and review cadence assigned |
FAQ
How do I connect Klaviyo to Shopify?
Install Shopify from Klaviyo's integrations area, enter the store's myshopify.com URL, approve the app in Shopify, configure subscriber and profile sync, then enable the Klaviyo app embed and behavioral tracking in the active theme. Finish with a profile, browsing, checkout, and order test.
Why are Shopify events missing in Klaviyo?
Check the event family separately. Onsite events depend on the app embed, behavioral tracking setting, browser identification, and consent. Checkout and order metrics depend on the Shopify integration. Subscriber-list entry depends on consent and the selected sync list.
Do I need a developer for Klaviyo on Shopify?
A standard Shopify implementation can often use the official app and app embed without custom code. A developer may be needed for headless storefronts, heavily customized carts, custom events, server-side integrations, or data transformations.
Should every Shopify customer be added to the newsletter list?
No. A customer profile records a relationship or transaction. A marketing list should contain people with the required channel permission. Keep customer behavior in profiles and segments, and keep consent explicit.
Should I enable every flow immediately?
No. Start with welcome and checkout abandonment after their data paths pass QA. Add post-purchase, cart, and browse flows in stages. This makes overlap and attribution problems easier to diagnose.
What should I retest after a Shopify theme change?
Confirm the Klaviyo app embed is active, then retest Active on Site, Viewed Product, Added to Cart, forms, checkout, and any custom theme behavior. A connected integration does not prove the new theme is loading onsite tracking.
Need a second set of eyes on the setup?
We can audit the integration, consent paths, event payloads, flow filters, and launch QA before the account starts sending at scale.
Review your Klaviyo Shopify setup with Deliver
Continue with:
Charlotte Rodrigues, CRM Lead at Deliver. Updated for Klaviyo and Shopify on July 16, 2026.
Want to apply this to your stack?
Spend 30 minutes with Charlotte to review your CRM setup, size the opportunity and leave with a practical action plan.
Book a 30-minute call →