Register your interest: Tag @Cody, get an agent
BlogResources

Connect Shopify to Mailchimp: customers into audiences

Getting store data into Mailchimp: syncing customers and orders, tagging by purchase behaviour, keeping segments current, and handling consent properly.

Rebecca PearsonRebecca Pearson10 min read

Summarize with AI

Connect Shopify to Mailchimp: customers into audiences
On this page

This direction is the common one: store data flowing into Mailchimp so your email segments reflect what people actually bought. Customers, orders, product categories, and spend, arriving in a form you can segment on.

The official connector handles the basics. Where teams run into trouble is the segmentation they actually want, which usually depends on something the standard sync does not carry across. This page covers both. For the other direction, getting campaign results and subscriber status back into your store, see connecting Mailchimp to Shopify.

What we'll cover

What the official connector gives you

Mailchimp's Shopify integration covers the standard requirements, and for many stores it is genuinely sufficient.

It syncs customers into an audience with their subscription status, brings order data across so purchase history is available for segmentation, supports abandoned cart and product retargeting emails, and reports revenue attributed to campaigns. Product information flows through, allowing the product recommendation blocks in campaigns to work.

For a store selling a modest catalog to a general audience, this covers the useful cases: welcome sequences, abandoned carts, post-purchase follow-ups, and basic recency segmentation. Setting it up is a matter of connecting the two accounts and choosing an audience.

Start here rather than building. The reason to go further is a specific segmentation requirement the connector cannot express, and until you have one there is nothing to gain.

Where it stops being enough

Five limitations account for nearly every case where teams need more.

Segmentation on calculated values. Lifetime value, average order value, days since last order, and purchase frequency are the fields most stores actually want to segment on, and they are derived rather than stored. The standard sync carries orders, not the arithmetic over them.

Category and attribute-level behaviour. "Bought footwear in the last ninety days" or "has only ever bought on discount" requires product attributes mapped into a form Mailchimp can filter. Order data alone does not give you this.

Data from outside Shopify. Support ticket history, subscription status from a separate billing system, loyalty tier, or offline purchases. Segments combining store behaviour with any of these need a sync that knows about both.

Multiple stores into one audience. Stores running several Shopify instances by region or brand need customers consolidated with their origin preserved, which the one-to-one connector does not do.

Timing and conditionality. The standard sync runs on its own schedule. A segment that should update immediately when someone crosses a spend threshold needs the update to happen on the event rather than on the next sync.

This deserves settling before any sync is built, because a technically excellent integration that emails people who did not agree to it is a worse outcome than no integration.

Subscription status is not a customer record. Someone having bought from you is not someone having agreed to marketing email. Shopify tracks marketing consent separately from the customer record, and only the consenting subset should reach a marketing audience.

Sync the status, not just the address. The consent state and the date it was given are what you need, and the date matters in jurisdictions where consent expires or must be evidenced.

Make unsubscribes flow back. Somebody unsubscribing in Mailchimp should be reflected in Shopify, so a later sync does not helpfully resubscribe them. This is the most common and most damaging failure in this integration, and it is covered in the Mailchimp to Shopify direction.

Treat transactional and marketing separately. Order confirmations and shipping notifications rest on a different basis from campaigns. Keep them in different systems or at minimum different audiences, so a marketing unsubscribe never suppresses a delivery notification.

Record where consent came from. Checkout opt-in, a signup form, an import from elsewhere. When someone asks why they are receiving email, the answer should be available rather than reconstructed.

The tags worth maintaining

Tags are how segmentation actually gets done in Mailchimp, and a small deliberate set beats a large accumulated one.

Purchase recency. Bought in the last thirty days, ninety days, year, or longer ago. The single most useful dimension, and the one that changes without anyone doing anything, which is exactly why it needs automating.

Value band. Grouping customers by total spend or average order value. Bands rather than raw numbers, since Mailchimp segments on tags more comfortably than on arbitrary values.

Purchase count. First-time, repeat, and frequent. The behavioural difference between a one-purchase customer and a four-purchase customer is large enough to warrant different email.

Category affinity. Which parts of the catalog someone buys from, which requires mapping products to categories in whatever grouping matters commercially rather than however the store happens to be organized.

Discount behaviour. Whether someone buys at full price or only during promotions. Commercially significant and rarely tracked, and it changes who should receive a sale announcement.

Lifecycle state. New, active, lapsing, lapsed, won back. Derived from recency and frequency together, and the most useful tag for deciding what to send.

Keep the set small enough that anyone can explain each tag. Tag sprawl makes segments unreliable, because nobody is certain what a given tag currently means.

Keeping segments current

A tag applied once is wrong within weeks, and stale tags are worse than none because people trust them.

Update on the event where it matters. A customer crossing into a new value band should be retagged when the order arrives, not at the next scheduled sync. Anything driving an immediate campaign needs event-driven updating.

Re-evaluate time-based tags on a schedule. Recency tags decay silently: someone tagged "bought in the last thirty days" is still carrying it ninety days later unless something re-runs. A nightly pass over time-derived tags handles this.

Remove tags as well as adding them. The frequent bug, and the one that quietly corrupts every segment. A customer moving from active to lapsing needs the old tag removed, or they match both segments and receive both campaigns.

Reconcile periodically. A weekly comparison of what Mailchimp holds against what Shopify says should be true catches drift from failed syncs and manual edits. Report the differences rather than silently correcting them, at least initially, because the differences are informative.

Handle deletions. A customer deleting their account or exercising a data request needs removing from Mailchimp too, and this is a legal obligation rather than a tidiness matter.

Building the sync you actually want

Where the standard connector falls short, the shape of what you need is usually: listen for store events, compute the derived values, and update the audience accordingly.

On CodeWords you describe that in plain language: which events matter, what to calculate, which tags to apply and remove, how to handle consent, and what to do when a customer record is incomplete. Cody, the automation builder, builds it, connects it to Shopify and Mailchimp, and deploys it. Automations connect to more than 3,000 integrations, which covers the support, billing, and loyalty tools whose data you may want in the same segments. The free plan covers light use, with Pro at $39 per month and Business at $100 per month as usage grows; details are on the pricing page.

Three things worth specifying carefully when you describe it. What happens when an order arrives for an email address that is not in the audience. Whether a customer who unsubscribed should still have their tags maintained, so the data is right if they return. And how to handle the same person appearing with two email addresses, which happens more than store owners expect.

Segments worth building first

Rather than designing a comprehensive scheme up front, these five earn their keep in most stores and can be built in an afternoon once the tags exist.

New customers, first thirty days. Everyone who bought for the first time recently. The welcome and onboarding sequence goes here, and it is usually the highest-performing email a store sends.

Repeat buyers. Two or more orders. Worth treating differently in tone and offer, because they have already demonstrated the thing you are trying to persuade everyone else of.

Lapsing. Bought before, nothing recently, where "recently" depends on your purchase cycle. A store selling coffee should worry after six weeks; one selling furniture should not worry for a year. Getting this window right for your own catalog matters more than any other segment decision.

High value, any recency. Your top customers by lifetime spend, regardless of when they last bought. A small list deserving different treatment, and often the one segment worth a person rather than an automation.

Full-price buyers. Those who buy without a discount. Worth separating before a sale announcement, since discounting to people who would have paid full price is the most expensive mistake in ecommerce email.

Build these five, run them for a quarter, and look at which actually perform differently from the whole list. Segments that behave identically to the average are not doing anything, and removing them is as useful as adding new ones.

Frequently asked questions

Should I use the official connector or build something?

Start with the connector. Build only when you have a specific segmentation requirement it cannot express, and consider running both, with the connector handling the standard sync and an automation adding the derived tags on top.

How often should customer data sync?

Order events immediately, since those drive timely campaigns. Derived and time-based tags nightly, which is frequent enough for recency bands and cheap to run. Continuous full syncing gains little and costs API calls.

What happens to customers who unsubscribe?

They should stop receiving marketing immediately and remain in your data with their status recorded. Deleting them loses the record that they unsubscribed, which risks re-adding them on a later import.

Can I sync several Shopify stores into one audience?

Yes, and it needs deliberate handling: a tag or field recording which store each customer came from, and a decision about what to do when the same person shops at two of them. The official connector is built around one store to one audience.

Will this work with Shopify Plus?

Yes. The larger differences with Plus are volume and the presence of multiple storefronts, both of which favour a purpose-built sync over the standard connector for the reasons above.

How do I avoid double-counting a customer with two email addresses?

Decide on an identity rule before building: usually the email on the most recent order, with the others recorded. Perfect deduplication is not achievable, and a consistent rule with the alternatives kept is enough for reliable segmentation.

What breaks most often in this integration?

Tags that are added and never removed, which corrupts every segment built on them, and consent status drifting out of step between the two systems. Both are avoidable by design rather than by vigilance: re-evaluate derived tags on a schedule, and treat the consent write-back as a required part of the build.

Should product data sync as well as customers?

Only if you use it. Product recommendation blocks and category-based segments need it; otherwise it is volume for no return. Syncing categories rather than the full catalog covers most segmentation needs at a fraction of the size.

How many tags is too many?

Once nobody can explain what each tag means without looking it up, segments built on them stop being trustworthy. A dozen deliberate tags with clear definitions serve better than forty accumulated ones, and pruning is as valuable as adding.

Does the sync direction matter for performance?

It matters for API limits rather than speed. Store-to-email syncs are usually the heavier direction because order volume exceeds email event volume for most businesses, which makes batching and incremental updates worth getting right on this side first.

Get started today

Your first workflow is free to build.

Describe what you need. Cody handles the build, the connections, and the deployment.