B2B SaaS PPC audits

PPC audit teardown · LinkedIn Ads

LinkedIn is your priciest channel — and half of it comes back unqualified

Students, job-seekers, wrong-seniority browsers — reached at the highest CPMs in B2B. Before you write LinkedIn off, here's the reframe that changes everything: LinkedIn isn't expensive, loose targeting is. This is exactly how I'd audit yours — what I look at, what I usually find, and what to change. Useful even if we never talk.

See how I'd tighten it ↓

How I'd audit your LinkedIn targeting

LinkedIn really is the most expensive place to buy attention in B2B. That part's true — and it's not the problem. The problem is paying those premium prices to reach people who were never going to buy. When someone tells me LinkedIn is a money pit, nine times out of ten the account is doing the same handful of things. Here's the order I actually check. You can run most of it yourself.

1 What I look at (before I blame the platform)

  • Audience expansion — is it on? LinkedIn quietly widens your audience "to people similar to your target." On a platform whose whole value is precision, that's the fastest way to pay top-dollar CPMs for lookalikes who don't fit. It's the first switch I look for, and usually the first one I turn off.
  • Exclusions — who are you not paying to reach? Most accounts have none. Students, "open to work" job-seekers, interns, sub-scale companies, seniorities that can't sign off — all reachable, all excludable. An empty exclusion list means you're paying premium prices to reach every one of them.
  • Seniority and job title — not skills alone. Skills-only targeting catches everyone who listed the skill: researchers, students, job-hunters, the curious. Layering job title + seniority tightens it to people who could actually put your product on a PO.
  • Company size and industry — does it match who actually pays you? The most common miss on the whole platform: the audience isn't built from your real customers. It's built from what "sounded like" your market.
  • The ICP itself — where did it come from? If the honest answer is "we picked functions and seniorities that felt right," there's the leak. Your best customers already define your ICP. The targeting should be reverse-engineered from them, not guessed at.

2 What I usually find (one real account)

Almost always: the audience is far too broad, and the premium CPMs are spraying across people who were never the buyer. The platform isn't overcharging — it's charging premium rates to reach a crowd you never meant to target.

One real account · healthcare clinical-AI SaaS (anonymized, 2024)

"How are we going to speak to all of these at once?" — the founder, looking at their own LinkedIn audience

  • Audience spread across too many job functions and seniority levels — no clear ICP
  • Targeting leaned on skills, not job title + seniority
  • No non-ICP exclusions in place
  • Audience built from a guess, not from their actual customers

That founder's reaction is the tell. Audience bloat kills the message before the creative ever gets a chance — one ad trying to land with clinicians, admins, analysts and executives at once lands with none of them. And every premium impression is being spent on that crowd.

Straight talk: this was a diagnosis, not a before-and-after. It's a pre-fix audit, so I'm not going to hand you a made-up "and then leads tripled" number. What I can show you is the exact same set of leaks, in your account.

3 What I changed

  • Built the ICP from their customers, not their guesses. Started from who actually buys and closes, then rebuilt the audience backward from that.
  • Split one bloated audience into per-persona campaigns. So each ad could speak to one buyer instead of shouting at four (in their case, ACOs vs. health plans — separate campaigns, separate messaging).
  • Switched skills-only to job title + seniority. Cut the researchers, students and job-seekers who list the skill but never sign a contract.
  • Turned off audience expansion and added exclusion lists. Stopped paying premium CPMs to reach lookalikes and the obvious non-buyers.

4 What happens next — and why it fixes your exact problem

Here's the mind-flip, and it's the counter-intuitive part: tightening the audience usually makes LinkedIn look more expensive per person at first — fewer people, more competition for them. That feels like the wrong direction. It isn't. You're now paying premium prices to reach the exact people who can buy, instead of premium prices to reach everyone. On LinkedIn, that's the whole game.

And it's why the platform genuinely works when it's run tight. In 2025, LinkedIn was the only major B2B channel with positive return on ad spend — 121%, versus 67% for Google Search and 51% for Meta (eMarketer, 2025). That's the industry's number, not a client's — but it only shows up for accounts that earn the premium with precise targeting. Loose targeting is exactly what turns the most expensive platform into a money pit.

What that changes for you: the next time you pull the LinkedIn report, the leads in it look like your customers — right seniority, right company size, right function — because the audience was finally built from the people who actually pay you. The premium stops feeling like a tax and starts feeling like access.

LinkedIn targeting is 1 of 7 things I check

The LinkedIn bill is the one you feel first — it's the biggest line item. It's rarely the only thing bleeding the account. When I run a full audit, here are the seven I go looking for — in the words I actually hear them in:

  1. 1

    "I pay more every year and get less."

    "Generic ads on Google or LinkedIn no longer work, unless you can spend huge amounts of money on testing." — operator, Hacker News

    → I find where cost is actually climbing vs. where you're just paying for the wrong clicks.

  2. 2

    "My CPL looks great — the leads are garbage."

    "Activity replaces clarity. Volume replaces quality." — Tony Dowling

    → I check whether you're optimizing toward cheap forms instead of real pipeline.

  3. 3

    "I know marketing's working — I just can't prove it."

    "People might read our content, attend an event, see us on LinkedIn… and only then reach out to sales. But in the CRM, all that early influence tends to disappear." — Full-Funnel

    → I check whether last-click is quietly erasing half your work.

  4. 4

    "The board wants pipeline this quarter — my deals take nine months."

    "The pressure isn't just to perform. It's to predict." — Evan Hughes

    → I build leading signals you can report before the deal closes.

  5. 5

    "I'm the strategist AND the ad buyer AND the analyst AND the copywriter."

    "Marketing folks are being asked to be brand thinkers, data analysts, ad buyers, SEO experts, copywriters, GTM architects and sometimes SDR managers." — Evan Hughes

    → I take the ad account off your plate.

  6. 6

    "LinkedIn eats my budget and hands me tire-kickers." you're reading this one

    "LinkedIn is the most expensive place to advertise in B2B, and it punishes sloppy execution faster than any ad platform I know." — Neal Schaffer

    → Everything above this line.

  7. 7

    "I've been burned by an agency before."

    "Most content marketing programs don't actually generate customers." — Grow & Convert, on why they left agency work

    → That's why the audit is free and specific: you get to judge me before you trust me.

If you recognized more than one of those, it's the same root cause every time — the audience (or the keyword, or the conversion) was built from a guess, and a premium platform happily charges premium prices to reach it.

So: is your LinkedIn budget reaching buyers, or just reaching people?

That's the first thing the free audit answers — on your account, with your audience and your numbers. Here's how it works.

Start with a 15-minute call. Then a free, hand-built PPC audit.

First we hop on a quick 15-minute intro call so I can understand your business and where your PPC is stuck. Then I spend the next 72 hours building your audit by hand — no AI — and send back 10–15 pages of specific fixes, with screenshots and real examples. No commitment.

Sample audit

PPC teardown — Acme Inc.

FREE

Account health

Leaking spend on the wrong clicks

Search terms 62% junk
Conv. tracking Broken
Cost / SQL $1,240
  • Offline conversions not piped back to platforms
  • Branded & non-branded budgets blended together
  • Solid landing-page foundation to build on

Full 12-point plan inside

James, who runs your PPC audit, with his dog
James + his audit co-pilot

Monthly spend range

15-minute call first, then a 72-hour hand-built audit. No commitment.