Detection: 1% lookalike at scale — broader audience worth testing
Key: lookalike_size_suboptimal
Severity: Medium
Confidence: 70%
What this detection looks for
We flag an ad set as lookalike-size-suboptimal when all of these are true:
- The ad set is active
- The ad set's targeting includes a 1% lookalike audience
- The audience's approximate size is at or below 5 million users
- The ad set has spent at least $1,500 in the audit date range
Why this matters
Lookalike audiences in Meta are sorted by similarity to the seed audience. A 1% lookalike targets the top 1% of users most similar to the seed; a 3% lookalike targets the top 3%. The 1% audience is more "similar" but smaller. The 3–5% audience is larger but only marginally less similar.
For accounts that spend at scale ($50/day+) against a 1% lookalike of a country of 100M users, the effective audience is 1M people. Meta's delivery system will exhaust the high-intent portion of that 1M quickly and start serving impressions to whichever sliver remains. Frequency rises, conversion rate falls.
A 3% or 5% lookalike trades a small amount of similarity for 3–5× the audience size. In published Meta case studies and practitioner reports, broader lookalikes at the same spend often deliver CPA within 5–10% of the 1% with much more headroom — and in many cases the broader lookalike outperforms the 1% because the delivery system has room to optimize.
This is one of the cheapest, lowest-risk tests in the playbook. The finding is intentionally informational — surfaced at 70% so the user knows it deserves a test, not a same-day pause.
How we calculate confidence
This detection is surfaced at 70% confidence by design. The underlying pattern is observational (audience size × spend), not a measured outcome on this specific account. Below 90%, so a "what would change our mind" section is required.
How we calculate the estimated monthly cost
We treat 5% of the ad set's spend as the at-risk efficiency gap that broader-lookalike testing would resolve, projected to a 30-day month.
monthly_recoverable = (ad_set_spend × 0.05) × (30 / days_in_range)
This is intentionally conservative. The real upside is more often "scale headroom" than "lower CPA today," and headroom is hard to monetize precisely. We surface a small dollar number so the finding ranks correctly against more decisive ones rather than dominating the top-of-list.
What would change our mind
This finding can be a false positive in a small number of cases:
- The 1% audience is already winning at scale. If CPA on this ad set is the best in the account and it has been stable for a month, do not test broader. The audience is delivering the highest-similarity users and that is exactly what you want.
- You have already tested broader lookalikes recently and they underperformed. Lookalike performance shifts with seed quality. If you tested 3% within the last 60 days and it lost, the finding is informational only.
- Small seed audience. If the seed list has under 1,000 people, the 1% lookalike is built from a noisy signal and broadening it amplifies the noise. Build a larger seed audience first.
How to fix it
- Build a parallel 3% lookalike of the same seed audience in Meta Audiences.
- Duplicate the current ad set. Replace the 1% lookalike with the 3% lookalike. Keep everything else identical — creative, budget, placement, optimization event.
- Run both for 14 days with equal budgets. Compare cost per purchase, not cost per click.
- If the 3% delivers CPA within 10% of the 1%, shift budget to the 3%. The volume headroom is worth the small efficiency cost.
- If the 3% loses meaningfully, keep the 1% and try a 5% or a different seed audience instead. The 1% is a real winner.
- As a general practice, always test broader lookalikes when an ad set on a 1% audience grows past ~$1,500/month, even before this detection fires.
What we look at to make this detection
effective_statuson the ad set- The ad set's
included_custom_audience_idscross-referenced tosnapshot.audiences, looking for entries withaudience_type == "LOOKALIKE"andlookalike_ratio == 0.01 approximate_sizeon the lookalike audience metadata, fetched from the Meta audiences endpointspendon the ad set, summed across the audit date range
Source
This methodology page is generated from
apps/api/app/services/detections/lookalike_size_suboptimal.py. The
detection code is open for inspection. We do not have hidden rules.