Your prospecting campaigns are probably spending a large share of their budget on people who already buy from you. One brand we work with found Meta delivering only 27–30% new customers despite prospecting exclusions. Its Google new-customer-only campaign came in around 29%, measured against Shopify orders.

That means the cost per purchase in Ads Manager is not your acquisition cost. If 30% of attributed buyers are new, a $50 reported CPA is a $167 new-customer CPA. The fix isn’t a new campaign type. It’s an exclusion audit, a refresh schedule for the lists behind it, and one KPI the whole team reports: new-customer share.

Key Takeaways

  • “Prospecting” and “new customer” settings don’t guarantee new customers. In one account, Meta delivered 27–30% new and Google’s new-customer-only mode about 29%, checked against Shopify.
  • Exclusion lists go stale. Static uploads, agency handovers and campaign rebuilds quietly drop them. One brand fired an agency after it dropped a single exclusion rule.
  • Meta deprecated the existing-customer budget cap in Advantage+ shopping campaigns alongside the old campaign API. Keeping past buyers out now depends on custom audiences you maintain.
  • Track new-customer share and new-customer CPA (spend ÷ first-time buyers in Shopify) weekly. Reported CPA hides the gap.
  • Don’t over-exclude. Excluding every engager can leave a cold audience too small to learn. Split retargeting into never-bought and win-back instead.

How much of your prospecting spend reaches existing customers?

More than most dashboards show, because Ads Manager counts every attributed purchase the same way. A repeat customer clicking a “prospecting” ad and reordering looks identical to a stranger’s first order. You only see the split when you match ad-attributed orders to customer history in Shopify.

Here’s what that check has turned up in our client and discovery calls this year:

Brand (anonymized)What was measuredResult
Premium tea brandNew-customer share of Meta-attributed buyers, despite prospecting exclusions27–30% new
Same tea brandGoogle campaign in new-customer-only mode, checked against Shopify~29% new
Kids’ protein supplement brandShare of Meta budget going to existing customers before the agency added exclusions~20% of budget
Large fashion retailerWhether it could separate acquisition from retention in Meta and TikTok reportingIt couldn’t
Men’s grooming brandNew-customer share of revenue over 12–18 monthsFell from 50% to ~25%

Client results are specific outcomes, not typical or guaranteed.

An operator at the grooming brand put it plainly on a March call. He wished he’d been on top of how bad new-customer acquisition had gotten twelve months earlier. Nothing in the channel dashboards flagged it, because revenue held up. Existing customers were carrying it.

A fashion brand’s team told us in August that recent Meta updates seemed to “repurpose my budget to existing audiences.” We can’t verify Meta’s intent. We can verify the outcome, and it matches what we see in accounts without maintained exclusions.

Why do “new customer” campaigns drift toward existing customers?

Because the algorithm optimizes for the cheapest conversion, and your existing customers are the cheapest conversions available. They know the brand, trust the checkout and often have a reason to reorder anyway. Unless something explicitly keeps them out, delivery drifts toward them.

Three things make the drift worse right now:

  1. Broad and Advantage+ targeting. Prospecting campaigns now run broad by default. Broad includes your customer file unless you exclude it.
  2. The budget cap went away. Advantage+ shopping campaigns used to have an existing-customer budget cap. In June 2025, Meta said the cap would be “deprecated at the same time as” the older shopping campaign API (Meta for Developers blog, June 2025). The final breaking change was slated for Q1 2026. Meta’s replacement guidance is to split existing and new customers into separate ad sets using a custom audience you define. If that audience is stale, so is your protection.
  3. Wrong optimization signals. At the tea brand, a tool that pushed predicted-LTV and new-customer events back to Meta got a higher new-customer share than Shopify-based exclusions alone. Our read was that the pixel and event setup hadn’t been audited since installation, so Meta was optimizing on the wrong events.

Retargeting adds a second layer of flattery. At the same tea brand, from mid-June to mid-August, retargeting ran around 4x ROAS on 7-day click. Prospecting spent about $6,000 and retargeting about $2,000, and the two brought in the same revenue. Blended ROAS was about 1.7. Retargeting looked like the hero, mostly by reaching people who were already coming back. As their team put it: “Retargeting is great, but it doesn’t bring new people to the table.”

Why do exclusion lists go stale?

Because exclusions are a setting someone configured once, and nothing alerts you when they stop working. We see the same failure modes across accounts:

  • Static uploads. A CSV of customers uploaded in January doesn’t include anyone who bought since. Six months later, a large slice of your recent buyers is fair game for prospecting.
  • Agency handovers. The tea brand fired its previous agency after it dropped the rule excluding customers with 3+ orders from retargeting. The rule had existed. Then it didn’t, and nobody was told.
  • Campaign rebuilds and duplicates. A new campaign built from scratch, or a seasonal duplicate, often launches without the exclusion that lived on the old ad set.
  • Broken syncs. Klaviyo- or Shopify-synced audiences stop updating when an integration disconnects. The audience still exists, so it still looks fine in the exclusion field.
  • Definitions that are too narrow. Excluding “active subscribers” leaves one-time buyers and cancelled subscribers in the pool. Excluding a 30-day purchaser window leaves everyone who bought before that.

The common thread is that exclusions erode quietly. That’s why this is an audit you schedule, not a fix you make once.

Data quality matters here too. One operator spent six months cleaning his brand’s data and found returning customers were 33% of the business, not the 55% everyone believed. Strategy had been built on the wrong number. If you haven’t reconciled platform numbers to Shopify, start with our platform revenue vs. Shopify reconciliation.

How do you run the exclusion audit?

Run it monthly, and after every agency change or campaign rebuild. Work from the ad set level, because that’s where exclusions live.

  1. List every active prospecting ad set on Meta, and every Google campaign using a new-customer goal.
  2. Record the exclusions on each. Which audiences, what they’re built from and when they last updated. Flag any ad set with no customer exclusion at all.
  3. Check audience freshness. For customer-list audiences, note the last upload date. For synced audiences, confirm the integration is connected and the audience size moved in the past week.
  4. Check the definition. Your “existing customers” audience should include every past purchaser, not just subscribers or the last 30 days.
  5. Measure new-customer share. Export the last 28 days of orders from Shopify with UTM source and campaign. For each prospecting campaign, count orders from first-time customers versus returning ones.
  6. Compute new-customer CPA. Campaign spend divided by first-time customers from that campaign. Compare it with reported CPA.
  7. Write down the owner. One named person is responsible for exclusion lists, with the refresh date in the weekly report.

UTMs are a prerequisite for step 5. Without them, Shopify books paid traffic as direct or organic and you can’t attribute anything to a campaign.

Why should new-customer share be the paid KPI?

Because it turns a vague complaint (“acquisition feels worse”) into a number you can track weekly. And it converts reported CPA into the acquisition cost your unit economics actually depend on.

New-customer share = first-time customers from a campaign ÷ all customers attributed to it.

New-customer CPA = campaign spend ÷ first-time customers from that campaign = reported CPA ÷ new-customer share.

A $50 reported CPA at different new-customer shares Bar chart. With a $50 reported cost per purchase, the true cost per new customer is $50 at 100 percent new-customer share, about $71 at 70 percent, $100 at 50 percent, and about $167 at 30 percent. $0 $40 $80 $120 $160 Reported CPA $50 $50 $71 $100 $167 100% new 70% new 50% new 30% new New-customer share of attributed buyers Cost per new customer
Same campaign, same reported CPA. At the 27–30% new-customer share we measured in one account, a $50 CPA is roughly a $167 new-customer CPA. Source: Finsi Growth calculation.

Compare that number with your break-even CAC, not with last month’s CPA. If you haven’t set one, our break-even CAC guide for small DTC brands shows the math from contribution margin. A campaign that looks comfortably under target on reported CPA can be three times over it on new customers.

Operators who run this well already work this way. One functional-edibles brand makes no kill-or-keep call until an ad has spent more than $500. Its scale signal is new-customer CPA, around $40–50, not reported CPA or ROAS.

This is also why channel reports where “everything is green” deserve suspicion. If the agency’s KPI is reported ROAS, existing customers make it easy to hit. We covered that incentive problem in agency KPIs where everything is green.

Can you exclude too much?

Yes. Exclusions shrink the audience, and a small audience is one of the causes Meta lists for learning limited. At the tea brand, in-house tests struggled because excluding existing customers and 30-day ad engagers left a cold audience. Smaller brands hit the floor faster. Check the weekly budget math in our learning-phase post before you add more exclusions to a thin account.

The answer is to segment, not to exclude everything:

AudienceTreatment in paidWhy
Past purchasers (all time, or your full repurchase window)Exclude from prospectingThey’re the cheapest conversions and inflate reported CPA
Repeat buyers (e.g. 3+ orders)Exclude from retargeting tooEmail and SMS already reach them for free
Lapsed buyers (e.g. 6+ months since last order)Separate win-back ad set, own budgetNot cold, not active; judge on reactivation, not new-customer CPA
Site visitors and engagers who never boughtRetargeting ad set, never-bought onlyThe legitimate job of retargeting
Bargain hunters and day-0 cancellersSuppress across Meta and GoogleThey convert on discounts and leave

The last row is worth a moment. We build suppression lists of discount-only buyers and people who subscribe during a big sale and cancel right away, then push them to Meta and Google. In one demo account, about 12% of customers fell into that “bad customer” group. Pair suppression with a seed audience of your highest-LTV customers, so Meta learns from buyers worth finding.

What to do this week

  1. Export 28 days of Shopify orders with UTM source, campaign and customer order count. Tag each order new or returning.
  2. Calculate new-customer share for every prospecting campaign on Meta and Google. Anything under 70% gets investigated first.
  3. Open every prospecting ad set and record its exclusions, their source and their last update date.
  4. Rebuild the existing-customer audience from all past purchasers, synced daily from Shopify or Klaviyo, not uploaded once.
  5. Split retargeting into never-bought and win-back ad sets, and exclude 3+ order customers from both.
  6. Add new-customer CPA to the weekly report, next to reported CPA, with the exclusion refresh date beside it.
  7. Name an owner for exclusions and add a check to every agency handover and campaign rebuild.

Reported CPA tells you what Meta charged per purchase. New-customer share tells you how many of those purchases were actually acquisition. Run the audit, fix the lists, and report the second number every week.