Is your retargeting audience full of bots?
Last updated: July 27, 2026
Everyone writing about music retargeting tells you how to build the audience. Almost nobody tells you what happens when it fills up with traffic that was never a person — which is a shame, because that is the failure with no error message.
The short answer
You almost certainly have some. Whether it matters depends on what share of your source audience it represents and whether it landed inside the window you are retargeting. Neither of those is visible on any screen Meta gives you, which is precisely why this problem persists — there is no warning, no flag, and no report. The only symptom is money going somewhere quiet.
What follows is the mechanism, the signals that suggest a problem, and what to actually do. You will notice there are very few numbers on this page. That is deliberate — see the note on numbers at the end.
What a retargeting audience actually is
A website custom audience is a rolling list of identifiers that fired an event on a page you control. Someone loads your release page, the pixel fires, and that browser joins the list. It leaves when it ages past your retention window.
That is the whole mechanism, and its weakness is right there in the description: the audience is built from page loads, not from people. Anything that can load a page and execute a script can join. The pixel is not judging intent — it is recording an event.
Where the junk comes from
The IAB and MRC split invalid traffic into two categories, and the distinction is useful because the two require completely different responses.
- General invalid traffic (GIVT) — declared bots, crawlers, spiders, and known data-centre traffic. It identifies itself, more or less, and is filterable by list.
- Sophisticated invalid traffic (SIVT) — traffic actively pretending to be a person: click farms, hijacked devices, automation driving real browsers. It does not identify itself, and detection is a judgement call rather than a lookup.
For an independent artist, the realistic sources are narrower than the general ad-fraud literature suggests, and three of them are self-inflicted:
- Bought promotion. Purchased streams, purchased followers, purchased “playlist placement” that routes through a link. If the traffic came from a service that guarantees numbers, the numbers are the product, and your pixel recorded every one of them.
- Engagement pods and follow-trains. Real people, technically — but people performing engagement rather than expressing interest. To an optimiser trying to find “more like this”, that is arguably worse than a bot, because the pattern is human and therefore learnable.
- Scrapers, previewers and link-checkers. Every time your smart link gets posted somewhere, a fleet of unfurlers fetches it to build a preview card. Most do not execute JavaScript. Some do.
- Competitor and click-fraud activity on paid campaigns. Less common at indie budgets, but not zero, and it concentrates in exactly the campaigns you are paying for.
Why the platform doesn't just handle it
It partly does. Meta filters invalid activity from billing and reporting, and describes that filtering in its advertising and billing documentation. If you have ever seen a campaign's click count revise downward after the fact, you have seen it happen.
What Meta does not publish is any guarantee about what reaches your custom audience, nor any tool that shows you what an audience is made of. Filtering a click from an invoice and excluding an identifier from an audience are different operations, and only one of them is documented.
So “the platform probably handles it” is not a control. It is an assumption, and it is the assumption that keeps this invisible.
What it actually costs you
The direct cost — showing an ad to something that cannot listen — is the small half. The expensive half is what it does to learning.
Meta's delivery system works by finding more people who resemble the ones who converted. Feed it a source audience where a meaningful share never had a person behind it and you are asking the model to find more of nothing. It will comply. It will spend your budget doing it.
And it compounds in one specific place: lookalikes. A lookalike is a model of your source audience projected across a much larger population. Contaminate the seed and you do not get a slightly worse audience — you get a large, confident, precisely wrong one. That is the single strongest argument for caring about this at all.
How to tell — the signals worth checking
None of these is proof. Together they are a pattern.
- Events without follow-through. A page load with no scroll, no play, no second event. One is nothing; a consistent share is a shape.
- Geography you have never sold to. Especially concentrated in one or two regions with no matching ad spend.
- Growth that outpaces reach. If the audience grew faster than the number of people your campaigns actually reached, something else is contributing.
- Counts that don't reconcile. Clicks materially exceeding landing page views, or a single identifier producing an implausible number of events. One visitor generating dozens of clicks in an hour is a real thing that happens, and it is worth finding before it teaches your optimiser anything.
- A known bad window. If you bought promotion at any point, you do not need a signal. You know the date range.
How to clean it — in order of effort
1. Narrow the retention window
The fastest fix available, and the most underused. A retargeting audience is a rolling window, not an archive — shortening it drops the contaminated period without you identifying a single bad identifier. You lose size. Size was not the problem.
2. Exclude what you cannot vouch for
Exclude converters, existing subscribers, and any traffic source you bought. Excluding aggressively costs reach you did not want in the first place, and it makes your reporting honest at the same time.
3. Rebuild the seed for lookalikes specifically
Do not build a lookalike from a general website audience if you have anything better. An email list of people who chose to hear from you, or a list of buyers, is a smaller and vastly cleaner seed. Source quality beats source size here, and it is not close.
4. Send events server-side
Moving conversion events to Meta's Conversions API is usually pitched as a way to recover conversions that ad blockers hide — which it is. The quieter benefit is that a server-side event is emitted by your code, at a moment you define, rather than by any browser that happens to load a page. You control what counts as an event. Setting that up takes a few minutes.
5. Make the first-party record trustworthy
Everything above depends on being able to see your own traffic. If your only view of what happened is the ad platform's, you are checking the platform's work with the platform's numbers.
A note on numbers
You will find pages claiming a specific percentage of ad traffic is invalid, or that retargeting converts some multiple better than cold. We have deliberately not repeated any of them. The figures circulating in this vertical are largely self-attributed, several trace to studies a decade old, and at least one prominent source publishes different versions of the same statistic on different pages of its own site.
Most importantly: none of them measured your audience. The useful question is not what share of traffic is invalid in general — it is whether yours shows the pattern above. That you can actually check.
Where this page states a fact about Meta's behaviour, it is either linked to Meta's own documentation or described as undocumented. Where it states a standard, it is the IAB/MRC definition. Where we have no source, we say so.
Common questions
How do I know if my retargeting audience is full of bots?
You can't get a clean percentage, and anyone quoting you one for your specific audience is guessing. What you can do is look for the shape of it: sessions with no scroll and no second event, a burst of activity from one region you have never sold to, an audience that grew far faster than your ad reach could explain, or a click count that doesn't reconcile with your landing-page views. None of those is proof on its own. Together they are a pattern worth acting on.
Does a dirty audience make my ads more expensive?
Indirectly, and the mechanism matters more than a number. Meta optimises delivery by finding more people who resemble the ones who converted. If a meaningful share of your source audience never had a person behind it, the model is being asked to find more of nothing — so it spends budget learning a pattern that cannot convert. Nobody, including Meta, publishes a figure for how much this costs on a small music campaign, and we are not going to invent one.
What is the minimum size for a Meta custom audience?
Meta does not publish one. This surprises people, because guides across the music vertical confidently state 100 or 1,000. Those numbers trace back to a Meta help page that no longer exists — it now redirects to a page whose only guidance is non-numeric: wait until you have "several hundred people" before using the audience. Search engines still index the old page title, which is why the figure keeps being repeated by writers who did not click through.
Will Meta filter the bots out for me?
Meta filters invalid activity from billing and reporting, and describes doing so in its advertising policies and billing documentation. What it does not publish is a guarantee about what reaches your custom audience, or a tool that shows you the composition of one. Treating "the platform probably handles it" as a control is how the problem stays invisible — there is no error, no alert, and no screen anywhere that says your audience is degraded.
Who should I exclude from a music retargeting audience?
Start with people who already did the thing you are optimising for — buyers, subscribers, existing followers where the ad is a follow ask. Then exclude the sources you cannot vouch for: traffic from a promotion service you bought, engagement from a period you know was inflated, and any window that overlaps a campaign you no longer trust. Excluding aggressively costs you reach you did not want.
Should I rebuild my audience from scratch?
If you bought engagement or streams at any point, and that period is inside your current retention window, yes — and it is less painful than it sounds. A retargeting audience is not an asset you spent years accruing; it is a rolling window that refills from real traffic in weeks. Narrowing the window is the fastest clean-up available and it costs you nothing but size.
Where this fits
This is part of our guide to retargeting for musicians. If you have not yet connected a pixel, start with connecting your Meta ad account; if your events are still browser-only, server-side tracking is the change that makes everything above measurable.