Ad cannibalization: when your campaigns eat each other

Cannibalization, in ads, is when two of your own campaigns compete for the same person and the platform reports two wins. You paid twice, or you paid once and credited twice. The dashboard looks busy. The bank account does not.

The search volume on "cannibalization" is mostly SEO people talking about two blog posts ranking for one keyword. The paid-media version is the same shape: two things you control, one piece of demand.

The three common versions

Brand vs prospecting. A prospecting ad creates the search. Brand search harvests it and takes the last-click credit. Prospecting looks expensive. Brand looks like a genius. You cut prospecting and brand dries up six weeks later.

Retargeting vs everything. The retargeting ad is the last click on a user who was already going to convert. It will always have the best ROAS in the account. That is not a reason to scale it; it is a reason to cap it.

Two campaigns, one audience. You launched a second ad set because the first one "needed a test." The auction now has you bidding against yourself. CPM goes up. Frequency goes up. Nothing new enters the funnel.

How it shows up in the numbers

  • Two campaigns with overlapping audiences and a rising CPM.

  • Brand search ROAS climbing in the same week prospecting CPA climbs.

  • Frequency above ~3 on a prospecting set that is supposed to find new people.

  • A new ad set that "works" while the old one's volume falls by the same amount.

None of these prove cannibalization by themselves. Together they are the smell.

What to do before you add another ad set

  1. Write the job of each campaign in one line. Prospecting finds strangers. Brand captures existing demand. Retargeting closes people already on the site. If two lines are the same, merge them.

  2. Exclude converters from prospecting. This is table stakes and still skipped.

  3. Cap retargeting. A frequency cap is a policy, not a suggestion.

  4. Do not let brand search subsidise the account. Report it on its own row. FunnelKeeper will not smear it into Meta prospecting to make the channel look paid-back.

  5. On the site, do not publish two posts for one keyword and then wonder why neither ranks. Same disease, organic strain.

Cannibalization vs incrementality

Cannibalization is you competing with you. Incrementality is you competing with the counterfactual (would they have converted anyway). You can have both at once: a retargeting ad that cannibalises your brand search and captures a conversion that was going to happen. See incrementality.

The fix for both starts the same way: stop reading a single ROAS number as a verdict. Look at payback per campaign job, and keep unattributed revenue visible so the leftover does not get assigned to the loudest ad set.

FunnelKeeper joins spend to revenue per channel and per campaign, with policy caps so a "test" cannot quietly double spend. Start free.

FAQ

Is audience overlap always cannibalization? No. Some overlap is the same person in two legitimate jobs (they saw prospecting, then retargeting). Overlap becomes cannibalization when both jobs are "find new people" or both are "take the last click."

Should I turn off brand search? Almost never. Separate it. Judge prospecting without it in the numerator.

Does this apply to content too? Yes. Two posts chasing "roas meaning" will split the click. One post, one job โ€” which is why the payback piece is being pointed at that query instead of a second article.