(03) 8832 8005

Your customer list says 41,000. Your Klaviyo account says 38,400. Your accountant’s LTV model uses a third number nobody can trace. None of them are right, and every retention decision you make this quarter is being made on top of that mess.

Most Aussie founders treat the customer list as a thing that just accumulates. Orders come in, profiles get created, tags get added by whoever was doing the campaign that month, and nobody ever goes back through it. The list grows, so it feels like progress. Then repeat purchase rate flatlines, deliverability slips, and the win-back campaign that should have printed money lands in spam.

The brands that get retention right do something boring first. They clean the data. Gartner puts the average annual cost of poor data quality at 12.9 million US dollars across the organisations it studied, and MIT Sloan research pegs revenue lost to bad data at 15 to 25 percent. You are not running a Fortune 500, but the proportion holds. If a quarter of your customer records are wrong, a quarter of your retention spend is going somewhere useless.

This is the six-check audit I run with members before we touch a single flow. It takes about 90 minutes the first time. Do it once a quarter after that.

Check 1: Find the Duplicate Profiles Splitting Your Best Customers in Half

This is the single biggest source of bad retention data on Shopify, and almost nobody looks for it.

Here is how it happens. A customer buys as a guest with sarah.chen@gmail.com. Six months later she buys again but types sarah.chen+shop@gmail.com, or she uses her work address, or she creates an account with a slightly different email. Shopify now has two customer records. Each one shows a single order. Your dashboard counts her as two one-time buyers instead of one repeat customer with two orders.

Multiply that across a few thousand orders and your repeat purchase rate is understated, your customer lifetime value is understated, and your win-back flow is emailing your best customer as though she has never come back.

How to find them. Export your Shopify customer list to CSV (Customers, then Export, then All customers). Open it in Google Sheets and run three passes:

Duplicate Shopify customer profile pairs matched on phone number and normalised email
Duplicates split one repeat customer into two one-time buyers. On this store, merging 218 pairs corrected the repeat purchase rate by 4.8 points.

Shopify added a native merge function in the customer admin. Open the profile you want to keep, click the three-dot menu, choose Merge customers, and select the duplicate. Order history, spend totals, and tags carry across. Do the merges in Shopify first, then re-sync Klaviyo, not the other way around.

Set the expectation now: on a store doing 300 to 800 orders a month, finding 3 to 8 percent of records duplicated is normal. On stores that have run a platform migration, I have seen 15 percent.

Ask most founders how big their email list is and they give you one number. Ask them how many of those people actually consented and the answer gets vague fast.

Every profile sits in one of four states, and they are not interchangeable:

Email and SMS consent state breakdown across 41,208 Shopify customer profiles
Four consent states, not one list size. Note the SMS gap: 28,940 phone numbers on file, only 6,117 with actual marketing consent.

In Klaviyo, build a segment for each state and write the four numbers down. That is your real marketable list. If subscribed is under 60 percent of total profiles, your opt-in capture is broken somewhere upstream and no amount of flow optimisation will fix it.

SMS is a separate consent record. This trips up more Aussie stores than anything else. Email consent does not grant SMS consent, and the Spam Act treats each channel independently. If your checkout collects a mobile number for delivery updates, that is not marketing consent. Check that your SMS subscriber count matches the count of people who actively opted into SMS, not the count of people with a phone number on file.

While you are in there, confirm you can produce a consent record for any given subscriber: the date, the source, and the wording they agreed to. If you cannot, you have a compliance gap, not just a data gap. We cover the full regulatory picture in the Spam Act playbook.

Check 3: Run a Sunset Policy Before the Inbox Providers Run One for You

Email lists decay at roughly 2.1 percent per month, which compounds to about 22.5 percent a year. People change jobs, abandon addresses, and switch providers. A list you built in early 2025 is meaningfully broken by now whether you like it or not.

The instinct is to keep emailing everyone because a bigger send feels like a bigger opportunity. That instinct is expensive. Since February 2024, Gmail and Yahoo have required bulk senders to keep user-reported spam complaints below 0.3 percent and recommend staying under 0.1 percent. Klaviyo’s own guidance is to hold bounce rate under 2 percent. Blast a list full of dead addresses and you blow through both, and the damage lands on your entire sending domain, including the flows that were working.

The sunset ladder I use. Build these three segments in Klaviyo and treat them differently:

Engagement tier sunset ladder with bounce rate and spam complaint rate against inbox provider thresholds
The sunset ladder keeps the sending domain healthy. Bounce under 2 percent and spam complaints under 0.3 percent are the lines that matter.

Founders hate this step because the list number goes down. Watch what happens to open rate, click rate, and revenue per recipient over the following four weeks instead. On a 40,000 profile list, suppressing 6,000 dead addresses typically lifts inbox placement enough that total revenue goes up, not down. There is more on the technical side in the deliverability playbook.

Check 4: Clear the Tag Sprawl That Makes Segmentation Guesswork

Open your Shopify customer tag list. If you have more than 40 tags and you cannot explain what each one does in a sentence, you have sprawl.

What sprawl looks like in practice: VIP, vip, VIP-2024, vip customer, High Value, and Gold all sitting in the same account, applied at different times by different people, each covering a slightly different group. Now build a segment for your top customers. Which tag do you use? You cannot answer, so you guess, and the campaign goes to the wrong people.

Fix it with a naming convention. Every tag gets a prefix that says what kind of tag it is:

Then do the cleanup in three moves. First, list every existing tag and how many customers carry it. Second, map each old tag to a new one, or mark it for deletion if fewer than 20 people have it and nobody remembers why. Third, apply the new tags in bulk using a saved customer segment plus the bulk edit action, then delete the old tags.

Write the convention down in a one-page doc and put it wherever your team looks. Tag sprawl is not a one-off problem, it is a discipline problem, and it comes straight back if the rule lives only in your head.

Check 5: Reconcile Shopify Against Klaviyo, Line by Line

Nearly every store I audit has a gap between the two systems, and nearly every founder assumes the sync “just works”.

Pull four numbers and put them side by side in a sheet:

  1. Total customers in Shopify.
  2. Total profiles in Klaviyo.
  3. Customers in Shopify with email marketing accepted.
  4. Klaviyo profiles with email consent set to subscribed.

Lines 1 and 2 will never match exactly, because Klaviyo also holds popup signups who never bought. That is fine and expected. Lines 3 and 4 should match within about 2 percent. If the gap is wider, something is broken.

The usual culprits, in the order I check them:

Fix the mapping first, then trigger a full historical sync from the Klaviyo integration settings, then re-pull the four numbers. Do not build a single new segment until those numbers reconcile. Everything downstream inherits the error.

Check 6: Fill the Fields That Actually Drive Segments

Clean data is not the same as complete data. Once the duplicates are gone and the sync is honest, ask a harder question: what do I know about these people that I could act on?

Most Shopify stores hold name, email, shipping address, and order history. That is the bare minimum and it only supports crude segmentation. The fields that actually move retention numbers are the ones you have to ask for.

Collect these through a two-question welcome email, a post-purchase survey on the thank you page, and a preference centre linked from your email footer. Do not try to gather all four at once. One question per touchpoint, then write the answer back to a Klaviyo profile property. There is a fuller version of this approach in the zero-party data playbook.

Set a target of 40 percent coverage on your top two fields within 90 days. Below that, the segments are too small to matter. Above 60 percent and you can start running genuinely personalised campaigns rather than personalised-looking ones.

What Changes When the Six Checks Compound

Run these in isolation and each one gives you a modest lift. Run them together and the effect is different in kind, because they feed each other.

Merging duplicates corrects your repeat purchase rate. The average Shopify store sits at about 28.2 percent, and repeat buyers generate roughly 44 percent of revenue while making up only 21 percent of customers. If duplicates were hiding 5 percent of your repeat buyers, you were not just under-reporting, you were under-investing in the segment that pays for everything else.

Sunsetting dead addresses lifts inbox placement, which lifts open rates on every flow you already built, which means your welcome sequence and your replenishment flow both start earning more without a single edit to the copy.

Clean tags plus reconciled sync plus filled fields means the segment you build actually contains the people you intended. That sounds obvious. It is also the difference between a win-back campaign at 2 percent conversion and the same campaign at 6 percent, because the second one only went to people who had genuinely lapsed.

And the reporting finally tells the truth. When your cohort curves are built on merged profiles and complete order history, you can see which acquisition month actually produced good customers. Most founders are optimising against numbers that are wrong by 10 to 20 percent and cannot work out why the decisions are not landing. The cohort retention report only works once this audit is done.

The 90-Minute Quarterly Routine

Here is the checklist. Block it in the diary for the first week of each quarter and work straight down the list.

  1. Duplicates (20 minutes). Export customers, sort by phone and normalised email, merge everything obvious in the Shopify admin. Record how many you merged.
  2. Consent states (10 minutes). Pull the four segment counts. Confirm subscribed is above 60 percent of profiles and that SMS consent is a separate, evidenced record.
  3. Sunset ladder (15 minutes). Refresh the engaged, lapsing, and sunset segments. Move the 180-day-plus group to suppressed. Check bounce rate is under 2 percent and spam complaints are under 0.1 percent.
  4. Tags (15 minutes). List all tags with counts. Map to the src, seg, pref, ops convention. Delete anything with under 20 customers that nobody can explain.
  5. Sync reconciliation (20 minutes). Pull the four Shopify and Klaviyo numbers into a sheet. Investigate any gap over 2 percent on the consent lines. Trigger a historical sync if order events are missing.
  6. Field coverage (10 minutes). Check the percentage of profiles with your two priority custom properties filled. If it is under 40 percent, add one question to the welcome flow this quarter.

Keep the numbers in the same sheet each quarter. Four quarters in, you will have a trend line showing whether your data is getting cleaner or dirtier, and that trend predicts your retention performance better than almost anything else on your dashboard.

None of this is glamorous work. It is also the reason two stores with identical products and identical ad spend end up with completely different repeat purchase rates. One of them knows who its customers are. The other has a spreadsheet full of ghosts. For the segmentation layer that sits on top of clean data, start with the customer segmentation playbook.

Inside eCommerce Circle, customer data health is one of the first things we look at with every member, because it changes the answer to almost every other question. If you want a second opinion on yours, let’s talk.

The Customer Data Health Audit: The 6-Check System That Cleans Up a Messy Shopify Customer List
Team eCommerce Circle

Written by

Team eCommerce Circle

Helping Shopify brand owners scale smarter through the eCommerce Circle coaching community.

Leave a Reply

Your email address will not be published. Required fields are marked *

Thank You

Your application for the eCommerce Circle was successfully submitted.
We’ll get back to you through your provided details shortly.

Thank You

Your enrolment was successfully submitted, and we’ve added you to the waitlist for your preferred cohort.

Not a Circle Member Yet?
Only members can join cohorts!
Join here.