NEW CUSTOMER ACQUISITION

How to Send Cleaner Signals and Lower nCAC

Your ad platforms don’t know who’s already visited your brand, unless you tell them. Without that signal, brands count returning buyers as new acquisitions and inflate nCAC. Real nCAC starts here.

BRANDS THAT MEASURES NCAC WRONG

90%

Total spend ÷ Total Purchases

RETURNING BUYERS IN "NEW CUSTOMER" DATA

40–60%

Industry Average

REAL NCAC VS REPORTED

2–3X

Higher than you think

THE CORE PROBLEM

01 Two broken signals. One inflated nCAC.

Exclusions that don't exclude

Your "prospecting" is re-targeting last month's buyers.

nCAC math that isn't nCAC

Total spend ÷ first-time orders isn't acquisition cost.

Why do your exclusions fail now?

Training the algorithm means telling the algorithm to find the newer audience and not somebody who knows the brand. Ideally, it should be completely new. How would you do that? Exclusion is the only way.

You exclude the entire visitors and customer database on ad platforms pretty much realtime.

Platform built-in exclusions does not actually exclude

Audiences expire after 28 days.

Meta and Google don't store inactive visitors beyond that. Relying on platform-native exclusions means you're missing everyone who bought more than a month ago.

Lists go stale before they protect you.

Someone buys at 2pm. Nightly upload catches them tomorrow. Tonight they see an ad, click, convert, another false signal the algorithm already learned from.

Historical data stays contaminated.

Even if exclusions run perfectly from today, the model was already trained on returning buyers. It keeps finding people who look like your existing base.

02 nCAC Isn’t Total Spend ÷ Total Purchases. Stop Measuring It That Way.

“Picking overall purchasers, splitting into new and repeat, dividing by total spend and calling it nCAC is almost the most bizarre thing human mankind has seen.”

Real nCAC = spend on new audience ÷ purchases from new audience. That’s it. Calculated per segment, not blended.

Most of the brands do not have stitched data to breakdown and measure the nCAC rightly.

THE SOLUTION

First-Party Data Server-Side Tracking with zero expiration for cookies

Platform exclusions use cookies. Cookies expire. First-party IDs don’t.

CustomerLabs matches every visitor using external IDs, across sessions, emails, and ad clicks. Returning buyers get flagged before the signal ever reaches CAPI.

Event includes fbp and external_id

We save both fields and try to find a match. external_id is always favored, since it offers improved performance.

ID resolution is the mother of all signals

Build your first-party data audience of your website visitors of 90 or 180 days. Feed them back to the ads and measure the exact spend for the newer audience capture and conversions. In this case, the actual nCAC is 254 at 7.20 ROAS.

Meta Ads Manager audience-segments performance table. Five rows: Unknown, Existing customers, Engaged customers, New audience (highlighted), Uncategorised. New audience row shows 921,594 reach, 2,877,038 impressions, 3.12 frequency, ₹229,482.99 spend, 901 website purchases, ₹254.70 cost per purchase, ₹1,651,370.17 conversion value, 7.20 ROAS.

Industry best first-party audience match rate on Meta and Google

Unfortunately, Meta lifecycle strategy cannot help, it is only as good as the audience you feed it.

But with CustomerLabs’ patented audience activation technology, enabling anonymous and non-purchaser audience activation beyond 180 or 300 days on ad platforms with one of the industry’s best match rates.

This helps in the right exclusions and inclusions as the cookies are intact.

CustomerLabs audience list with three entries — website_product_viewd_not_pur90days (62,900–74,100, Ready), prd_view_3d (6,700–7,900, Ready), prd_view_not_pur_90d (110,500–130,000, Ready). The first and third size ranges are red-circled.
Google Ads Customer Match dashboard showing 54% match rate, eligibility check across Search, YouTube, Display and Gmail, and a size chart over time.

How clean signals help measure and optimize for real conversions

Once signals are engineered server-side, every connected platform reports on them natively. No separate dashboard. No manual reconciliation. The split you’ve been trying to reverse-engineer in spreadsheets is now a column in every tool your team opens.

Campaign performance table with cl_new_customer_purchase, cl_repeat_purchase, cl_purchase_high_aov, cl_purchase_low_aov, and cl_purchase_mid_aov columns across 11 campaign rows. Total results: 346 / 273 / 72 / 29 / 173 / 126.
Google Ads-style campaign list showing per-campaign avg. cost, cost, CL new-customer purchases, and ROAS by Conv Time. Total row 'All but removed campaigns in your customer list' highlighted with +24.02% lift in avg cost, +117.78% lift on CL new-customer purchases.

CLIENT RESULTS

Proof that signal engineering drives growth across every business model

Real results from brands using the same signal infrastructure you can deploy for your clients.

86% Smars — Case Study

Smars ditched Shopify CAPI, 86% of their purchases are now first-time buyers — at 14% lower CPP

Read full story
19% Bartos Nutrition — Case Study

How Bartos Nutrition Cut New Customer Acquisition Cost by 19% Using First-Party Data Signals

Read full story
CustomerLabs 1PD Ops Platform made server-side tracking, offline conversions, and CAPI integration seamless, significantly improving our data quality and ad performance. Setup was incredibly fast15 minutes to get started, integrations within an hour, and just a day for data layer implementation. With strong customer support and wide integrations across CRM and ad platforms, it’s an easy 10/10 recommendation.
Zain M.
Zain M. Head of Performance & SEO

FAQ

Questions growth teams ask before switching.

Most teams already have CAPI live. The real question is whether the platform is learning from the right signal.

Isn't this what Meta's "exclude existing customers" option already does?

Only for 28 days. Anyone who bought before that is back in your prospecting audience, and the algorithm is training on them. The same applies to Google's customer match exclusions, TikTok's audience exclusions, and any other platform's native exclusion option. They all use cookies that expire and lists that go stale.

Isn't this what Meta's "exclude existing customers" option already does?

Only for 28 days. Anyone who bought before that is back in your prospecting audience, and the algorithm is training on them. The same applies to Google's customer match exclusions, TikTok's audience exclusions, and any other platform's native exclusion option. They all use cookies that expire and lists that go stale.

READY TO MOVE?

See which signals your ad platforms are missing

In 30 minutes, we'll map which signals apply to your business, show you what your campaigns are currently training on, and identify the gaps. No commitment required.