Audiences · Lookalikes · Meta API

The new Meta lookalike playbook for thin-data accounts

9 May 2026 · 7 min read

Meta's lookalike system is built on an assumption most agency accounts can't comfortably meet: it wants at least 100 matched users in every country you're targeting, ideally 1,000–5,000 in the source overall. If your customer list is 800 rows split across three markets, Meta will reject half your lookalikes with the dreaded (#2654) Source is Too Small error — and the rest will quietly under-deliver because they're built off a sample too narrow to generalise.

Here's the playbook we use on accounts with thin source data — typically real-estate developers, niche B2C verticals, and agencies that just inherited a small CRM.

First: understand what #2654 actually means

Meta's #2654 error code is overloaded. It means either:

  1. Duplicate lookalike — you already have one with the same source + country + ratio.
  2. Source too small — fewer than 100 of the source's matched users belong to the country you're requesting.

Same code, two completely different fixes. If you're seeing it after switching to a new country, you're hitting the size variant, not the duplicate variant.

The thin-data ladder

Step 1: build the broadest seed you can defend

Don't make Meta guess. Before you upload, segment your CRM into "buyers", "qualified leads", and "all submissions" — three concentric circles. Each becomes a separate source. Buyers are gold but tiny; "all submissions" is broad but noisy. You'll use them at different layers of the campaign.

Step 2: per-country, not multi-country

Multi-country lookalikes (you tick EG + SA + AE in one audience) dilute the signal. Meta builds one model spanning all picked countries, and the resulting reach is worse than three separate single-country builds — even when total budget across the three is the same. Build per-country whenever the source has 100+ matched users in each market.

Step 3: ratio stack 1% / 3% / 5%, not 1% / 10%

The classic "test 1% and 10%" advice is wrong on small sources. The variance between 1% and 3% is the test you want — that's where the signal-to-noise actually changes. 10% on a thin source is statistically indistinguishable from interest-based broad targeting; you're paying for the lookalike infrastructure without getting the precision.

Step 4: when a country fails, ladder it

If Meta rejects the 1% on a country, try 3%. If 3% fails, the source genuinely doesn't have enough in that market — drop the country and run cold interest targeting there instead. Don't try to force a 10% lookalike on a market with 30 matches; the model has nothing to generalise from.

The "audience set" pattern

For accounts with one strong source country and 2–3 thin markets, this is the structure we ship:

This gives you a defensible test: the same creative running against three different intent layers in one campaign. Results read cleanly: if A wins, scale; if C wins, your "thin market" is actually colder than you thought.

What about the multi-country lookalike for regional campaigns?

There's one legitimate case for the multi-country spec: you're running a brand campaign where the unit economics are similar across markets and you want pooled reach above all else. In that case, the dilution is the trade-off you want — wider net, less precision. Be deliberate about it; don't fall into multi-country by accident because you ticked three boxes.

Closing thought

"Lookalikes earn their slot when you treat them as one signal among many — not as a substitute for thinking about audiences."

The accounts that win in 2026 are not the ones building the most lookalikes. They're the ones running 2–3 well-defined audiences against the same creative and reading the deltas. Everything else is hedging.

← All posts See Project THE X →