Blog · Paid media
— Paid media··10 min read

Why most paid media campaigns burn money (and the four fixes nobody charges for)

Joona Heinonen· Choco Media · Rovaniemi

Meta ads optimization is the most requested service we get asked about at Choco Media, and it’s also the space where we see the most preventable waste. Campaigns that look fine on paper — decent click-through rates, reasonable CPMs — quietly drain budgets because of four structural problems that most agencies either miss or don’t mention because fixing them doesn’t justify a higher retainer. This post is a diagnostic. We’ll walk through the waste patterns we encounter most often in account audits, and the fixes that cost nothing to implement but almost nobody does.

This is for anyone running paid media in-house or with an agency who suspects their numbers could be better without increasing spend. You won’t need a bigger budget. You need to stop funding the wrong things.

We’ll cover the four most common money-burning patterns we see across Meta, Google, and TikTok accounts, and exactly what to do about each one. By the end, you’ll have a diagnostic checklist you can run on your own account in an afternoon.

Why most paid campaigns underperform before you’ve spent a euro

The most common assumption in paid media is that performance problems are a creative problem. The ad isn’t good enough. The hook isn’t strong enough. The offer isn’t compelling. Sometimes that’s true. More often, the creative is fine — it’s just being shown to the wrong people at the wrong time with the wrong structure, and no amount of creative iteration will fix a structural problem.

In client work we’ve found that roughly 60–70% of the waste in a typical paid account comes from structural issues, not creative quality. Campaign architecture, bidding strategy, audience overlap, budget allocation between learning-phase and proven campaigns — these are the variables that determine whether your creative even gets a fair chance.

The good news is that structural problems are fixable without touching your creative or your budget. The bad news is that they require honest diagnosis, which means being willing to see that what looked like a performance problem was actually an architecture problem.

Waste pattern one: too many campaigns, not enough signal

The most consistently damaging pattern we see in Meta accounts is fragmentation. An account with 12 active campaigns, each with €15–25/day budgets, where every campaign is permanently stuck in learning phase. Nobody wins in this situation — not the advertiser, and not the algorithm.

Why this happens

Fragmentation usually starts with good intentions. You want to test different audiences. You want to isolate variables. You want to see which creative works for which segment. The problem is that Meta’s algorithm needs roughly 50 conversion events per ad set per week to exit learning phase and start delivering efficiently. At €15/day with a €30 cost-per-purchase, you’re not getting there.

The fix

Consolidate. Combine campaigns targeting similar audiences and funnel stages. Let Advantage+ Campaign Budget do the allocation between ad sets if you’re not comfortable making that call manually. The goal is to give each campaign enough daily budget to exit learning phase within a week. As a rough guide: if your target CPA is €X, your daily budget should be at least 2–3× that.

In client work we’ve found that consolidating from 10–12 campaigns to 3–4 focused ones typically reduces CPA by 15–25% within two to three weeks — without any creative changes. The algorithm just starts working with real signal instead of noise.

Waste pattern two: optimising for the wrong event

The second most common structural problem is optimisation event selection. Meta will happily optimise for whatever you tell it to, and if you tell it to optimise for link clicks or landing page views, it will get very good at finding people who click. It will not get good at finding people who buy.

Why this happens

Conversion event selection is often made at campaign setup and rarely revisited. If your pixel wasn’t fully set up when the campaign launched, you may have defaulted to a higher-funnel event. If you were nervous about spending without conversions in the data, you optimised for something you could see more of. Both are understandable — and both are expensive.

We audited an account last year where the brand had spent four months optimising for Add to Cart. Their purchase volume was lower than their Add to Cart volume from six months prior. The algorithm had learned to find cart-abandoners, not buyers.

The fix

Audit your active campaigns and check the optimisation event for each. Then check how many weekly occurrences of that event your ad sets are recording. If you’re not hitting 50/week, you’re in extended learning phase regardless of what the dashboard says. Move up the funnel to a more frequent event, or consolidate budget until you can hit the threshold on the right event.

Waste pattern three: audience overlap and self-competition

If you have multiple ad sets running simultaneously and targeting overlapping audiences, Meta’s auction system means you’re bidding against yourself. You’re driving up your own CPMs. This is one of the most common structural issues in accounts that have been running for more than six months, because it accumulates gradually as new ad sets are added without retiring old ones.

Why this happens

Audience management is tedious and easy to deprioritise when campaigns are live and spending. New targeting ideas get added as new ad sets. Old ad sets that underperformed get paused rather than deleted, then reactivated. Lookalike audiences at different percentages (1%, 2%, 5%) overlap heavily. Interest-based audiences and broad audiences overlap with retargeting audiences. Over time, the account becomes a web of overlapping segments competing in the same auctions.

The fix

Run the Audience Overlap report across your active ad sets. For any pair with more than 30% overlap, either consolidate them or add exclusions. Build a simple exclusion logic: anyone who has visited your website, engaged with your content, or is already a customer should be excluded from prospecting campaigns. Layer your audiences so each ad set is reaching a distinct segment — you want the algorithm to find new buyers, not compete with itself to reach the same person five times.

Our paid media service includes an audience architecture review as a standard part of onboarding, because fixing overlap is one of the fastest wins available in most accounts.

Waste pattern four: the creative refresh problem

Creative fatigue is real, but the common response to it — launching new creative constantly — is often more expensive than the problem it’s trying to solve. The waste pattern here is running too many active creatives simultaneously, which splits impressions so thinly that no single creative gets enough data to be evaluated fairly.

Why this happens

Creative fatigue panic is understandable. When frequency climbs and ROAS drops, the instinct is to add new creative. But adding five new variants to an ad set that already has eight active creatives doesn’t give you better data — it gives you worse data distributed across more variables. You end up with 13 creatives, each with 40 impressions and no statistically meaningful signal.

The fix

Set a rule: no ad set runs more than five active creatives. When a new creative goes live, an old one comes off. Evaluate creative performance by cost-per-result, not by impressions or clicks. Give each creative at least 500–1,000 impressions before making a call. If you’re using Dynamic Creative Optimisation, trust the signal — Meta will allocate to the winner. Your job is to give it good options to choose from, not to run every option simultaneously forever.

This is also where AI-assisted content creation can genuinely help — producing a steady supply of creative variants at lower cost means you can maintain a rotation without burning time on production for every new test.

The audit process we actually run

When we look at a new account, we run through the same checklist in roughly the same order. It takes 60–90 minutes for a typical account and surfaces the main issues before we touch anything creative or strategic.

Step one: campaign consolidation health check

Count active campaigns. For each, check daily budget vs. target CPA. Flag any campaign where the ratio is below 2:1. Note which campaigns are in learning or learning limited status and for how long.

Step two: optimisation event audit

For each active ad set, note the optimisation event and the weekly occurrences from the last 7 days. Flag any ad set optimising for an event with fewer than 50 weekly occurrences. Note the distance between the optimisation event and the actual business goal.

Step three: audience overlap report

Run the audience overlap tool across all active ad sets in the account. Flag any pairing above 30%. Note whether retargeting audiences are excluded from prospecting campaigns.

Step four: creative inventory

Count active creatives per ad set. Flag any ad set with more than five. Check frequency and reach for each campaign over the last 14 days. Note frequency above 3 as a potential fatigue signal worth watching.

What a clean account structure looks like

After running this audit and implementing fixes, a typical account structure looks something like this: three to five campaigns, each with a clear funnel stage (awareness, prospecting, retargeting). Each campaign has two to four ad sets, each targeting a distinct, non-overlapping audience segment. Each ad set runs three to five active creatives, with Dynamic Creative Optimisation enabled where the creative variants are sufficiently different. Budget per campaign is set at a level that allows exit from learning phase within 7–10 days.

This is not glamorous. It doesn’t require a new tool, a new dashboard, or a new agency. It requires being disciplined about structure, honest about what the data is actually telling you, and willing to pause things that feel active but aren’t working.

The metrics that tell you it’s working

One more thing: attribution

None of the above matters if your attribution is broken. If you’re relying entirely on Meta’s in-platform reporting without cross-referencing GA4 or server-side events, you’re likely seeing inflated numbers — and making decisions on the basis of those numbers. We’ve written about attribution and server-side tracking in detail in our conversion optimisation work, and it’s worth treating attribution as a prerequisite rather than a nice-to-have when you’re spending meaningfully on paid.

A basic sanity check: compare Meta-reported purchases to GA4-reported purchases for the same period. If they’re more than 20–30% apart, your attribution needs attention before any other optimisation work will be trustworthy.

Where to go from here

If you’ve read this far and recognised your account in two or more of these patterns, the next step is to run the audit. It’s free. It takes an afternoon. The findings will tell you what to fix first. If you’d rather have us look at it, we do account audits as part of onboarding for our paid media retainers — get in touch and we can talk through what that looks like for your situation.

The four patterns above — fragmentation, wrong optimisation event, audience overlap, and creative inventory bloat — account for the majority of structural waste we see in paid accounts. None of them require more budget to fix. They require attention and the willingness to simplify.

— Work with Choco Media

Want ads that actually pay back?

Campaign strategy, creatives, tracking and weekly optimisation — one senior team, no junior handoffs. Start with a free 30-minute account review.

Get a free ad account review →
Or put your organic growth on autopilot with our blog packages from €199/mo.
← All storiesNext story →
— Free tips, monthly

Get the playbook, for free.

One short letter a month — the prompts we use, the campaigns that worked, the AI tools worth the time. No sales pitch, just field notes.

— Want us to do it for you?

Hire the agency.

AI-accelerated content, paid media, brand and web — delivered by one small team that talks to itself. Currently taking on a handful of clients each quarter.

Book a call