We read 799 D2C merchant identity graphs, end to end. $25 billion of GMV, $7 billion of ad and retention spend, 5.37 billion rows over 365 days, resolved once at the edge instead of eight times inside eight platforms. Then we counted what was in them.

10% of traffic is known. Nine sessions out of ten carry no email and no phone, which means nothing a platform can match back to a person.

That is the easy finding. The harder ones: the eight platforms billing you describe somewhere between 224 and 327 million people rather than eight audiences, email duplicates humans worse than most teams assume, and one number in here argues against us.

Start with the part that costs the most. Those nine sessions are anonymous to you. They are not anonymous to Meta, and most people have the direction of that backwards. Meta is not watching your store. You installed its pixel, you fire its events, you send it the conversions, and it matches what you hand over against accounts it already has logged in, against the click ID it stamped on the ad, and against what every other merchant's pixel has sent it. Google works the same way. You do the collection, they do the resolution, and only one of you keeps the result.


Eight platforms, one shopper

Five on acquisition (Meta, Google, TikTok, Snap, AppLovin) and three on retention (Klaviyo, Attentive, Postscript). Each reports an audience, counted inside its own fence line.

Resolve the same traffic once and, across all 799 graphs, those billed audiences collapse into somewhere between 224 and 327 million real people, out of 5.37 billion rows and 553.3 million carrying PII.

That range is a hundred million wide, which is the honest width for a count at this scale. What it establishes is the order of magnitude: nowhere near eight audiences. No platform is lying about its own count. None has a reason to look past its own fence, which is why the only version of this count that changes a budget is the one run against your traffic, and why we will happily run it for you.


Email and phone

424.9 million distinct emails, 300.4 million distinct phones. Email shows up on 97% of identified rows, phone on two thirds.

Now run those the other way, which is the part I did not enjoy finding. 424.9 million emails against 224 to 327 million people is 1.3 to 1.9 emails per person, so a list deduped on email overcounts humans by 30% to 90%. Cookies are worse, at 1.65 to 2.4 per person, so we still build the graph on email. It is the best key available, not a clean one.

Our census caption says SMS is now half the retention surface. Our own numbers say bigger: phone reach runs about seven-tenths of email reach. Treat either as a ceiling, not a list size. A phone in a checkout field is not consent to text it, and your SMS platform already refuses to send most of what you would get wrong there.


Your buyer is mostly your own

Everyone bids like a category shares its shoppers. Toddler moms buy from everyone selling to toddler moms, so you bid harder before somebody else takes them.

Weighted overlap across brands selling to the same buyer is 17%. Ehrenberg-Bass duplication of purchase predicts low duplication for low-penetration brands, so 17% may be exactly on model rather than a surprise, and I cannot test that without per-brand penetration this census does not carry. Take it as an observation from 799 graphs, not a result. The brands who stopped bidding against a pool that was not there describe it better than I can.


Meta is 43% of everything

43% of all net new profiles in the trailing period came from Meta. Profiles, not people. They overcount humans by a third to nearly double, so do not convert that figure. One platform is still behind four in ten, and every diversification deck has to argue with that.

AppLovin behaves like a remarketing engine here. Do not settle that with Shopify's first-time versus returning flag, which tells you whether the buyer had ordered before, not whether the ad found someone new. Use a geo holdout.


Where this stops

Resolving does not make anonymous traffic identifiable. Close to nine in ten sessions stay anonymous afterwards. The known tenth gets counted once instead of once per platform that touched it.

It also stops where consent stops. We sell consent tooling, so here is the unflattering half: every regime that shrinks what you may collect shrinks this graph too.

Meta, Klaviyo and AppLovin each hand you an audience number. Can you tell whether that is three audiences or one? If the honest answer is no, book half an hour with us and we will resolve your own traffic and tell you what the number is.