PPC Unit
All articles
Audit · 12 min read

Ads are running, revenue isn't. What a real PPC audit actually shows

Why 'review the Google Ads settings' is not yet an audit. What we look at in the business, in the data and on the site when ads aren't producing orders or revenue.

Yevhen Chesniuk
Ads are running, revenue isn't. What a real PPC audit actually shows

Most audits I’ve seen are checklists. Someone goes through the account, looks at campaign structure, match types, search terms, hands over 30 items to “fix”. There’s value in this, but there’s a problem. When ads aren’t producing revenue, the cause usually isn’t in the account.

You can clean up negatives, rebuild asset groups, switch to the right bid strategies — and nothing will change. Because the problem is one level deeper. In how the account reads the business. In the data flowing into Google. In the page a person lands on after the click.

So when someone comes to us saying “ads are running but orders aren’t coming” — we don’t start with the account. We start with whether Google actually understands who you want to find, and whether the person who clicked your ad ever gets there.

Where the audit actually starts

With a conversation. I know that sounds odd for a technical service, but it’s the most important part. Because “no orders” isn’t a diagnosis — it’s a symptom. And what needs checking depends on what specifically hurts.

One client says “we launched a month ago, zero leads”. Another — “leads are coming, but the bank account isn’t growing”. A third — “everything worked for six months, then dropped and won’t come back”. These are three different diagnoses. And they need different paths.

So instead of giving you “our four-layer audit framework”, I’ll walk through how we actually work in the three most common situations.

”We launched ads, and there are no orders at all”

Here I almost never start with Google Ads. Because when leads are zero or one per month, there’s nothing to look at in the account — the algorithm has nothing to learn from. We need to look earlier.

First — does the form even work? Sounds ridiculous, but I’m dead serious. We open the site, fill in the form like a regular visitor, check if the email arrived, if the lead landed in the CRM. In one in three accounts I’ve seen this past year, the form had a technical issue. Submit silently failed, the email landed in the client’s spam, the validation rejected people with real phone numbers. That’s not “an Ads misconfiguration” — that’s a product not accepting orders. The cheapest and most valuable finding in an audit.

! I almost always start with this

Before any campaign analysis, I personally place an order on the client’s site. With my own number, on mobile, during normal business hours. In about 30% of cases, the main problem is right there — no need to dig into the account further.

Second — does Ads see the leads? Submit can work, the email can arrive, but the GTM trigger doesn’t. Then the account shows “0 conversions”, and the algorithm cautiously cuts impressions, because it doesn’t know what’s working. We check Tag Assistant, Real-time in GA4, look in debug mode whether events actually fire. Often it turns out the event triggers but doesn’t reach Ads due to a wrong conversion ID. A day of debugging — and conversions start coming in.

Third — are calls and messengers tracked? In services, repair, healthcare, B2B consulting — 60-80% of leads don’t come through the form. Phone, Viber, Telegram, site chat. If those contact points don’t reach Ads, the account looks like an account with zero results to the algorithm. And it behaves accordingly: cuts budget, switches to “conservative learning mode”, shows ads to people who probably won’t pay. Because who among them does pay — it simply doesn’t know.

Fourth — the mobile site. Performance Max and even regular Search are mostly mobile traffic now — around 65-75%. I regularly see this: on desktop the form looks fine, on a small-screen iPhone the “Submit” button is half-covered by the fixed header. Or a newsletter popup that appears 5 seconds in and won’t close without a page reload. The person doesn’t complain — they just leave. In the stats it looks like “poor mobile conversion”, but it’s a specific bug on a specific phone model.

Fifth — does the offer actually work? This is the most uncomfortable item in any audit, but you can’t skip it. Sometimes the client sells something this audience doesn’t need, or hasn’t explained why someone should buy from them specifically and right now. No Google Ads optimisation fixes that. This calls for an honest conversation, not technical work. If after half an hour with the client I can’t answer “why would someone choose you over your neighbour”, there’s no point digging into Ads further.

Sixth — how much time has actually passed? In cheap impulse purchases the decision cycle is minutes to a few days. In expensive B2B services — 30-60 days from first click to contract. If the client says “we launched two weeks ago, no orders”, and it’s B2B with a $5,000 ticket — that’s normal. Too early to draw conclusions. Here we look not at conversions but at proxy signals: are repeat visits going up, are people scrolling the page, are they saving the phone number.

”We have conversions, but no revenue”

This is a different story. Leads and purchases show up in the account, ROAS reads a nominal 3x, and the owner looks at the bank — and there’s less there than there should be. Here the thing I wrote about earlier comes in: the quality of the data the algorithm receives.

Modern Google Ads is not “targeting settings”. It’s machine learning. Smart Bidding and Performance Max decide for themselves who to show ads to, when, and how much to pay per click. They decide based on what you feed them.

If you send “person clicked the Order button” — the algorithm will look for similar people. The kind who like clicking buttons. Not buyers.

If you send “conversion = $0” — it optimises for volume, not for revenue. It’ll drive CPA down to pennies and think it’s done a great job. Meanwhile your bank account hasn’t grown.

But if Ads receives “purchase $1,240, category X, CRM status: paid in 7 days” — the algorithm looks for those who actually pay, in the right categories, at the right ticket size. That’s the difference between a weak account and a strong one. Not the settings. The signal.

What we specifically look at in this case:

  • Whether Ads sees the same revenue as your bank. Usually no. The account shows ROAS 5x, the CRM export shows real ROAS 2.3x. Because Ads gets “thank-you page conversions”, and 30% of them are people who never paid the invoice. Fixed by sending actual paid orders from the CRM back to Ads via offline conversion import.
  • Whether enhanced conversions are enabled. It’s not “one more option in settings” — it’s the difference of 5-15% more accurately measured conversions. In a post-iOS14, post-cookie world, this is sometimes the only way the algorithms see a conversion correctly at all.
  • For Performance Max — how feed signals are configured. A very common case: the account pours most of the budget into one product category with 8% margin, while another category with 35% margin barely gets shown. That’s not “a bad algorithm” — that’s a signal. PMax optimises the way it was set up. Reallocation through custom labels in the feed often delivers +50% margin revenue within two weeks.
  • Attribution. Boring but important. If all revenue is credited to the last-click brand campaign (because the buyer typed the brand name into Google before purchasing), Search Generic and PMax look underperforming, their budgets get cut, and the whole flywheel breaks. We look at the data-driven model, what credit Ads assigns to each channel, and whether value is shared correctly.
💡

The quality of the signal you send to Ads matters more than any campaign setting. The algorithm optimises for whatever you’ve called success. If the metric you feed in is bad — it’ll very efficiently find bad customers.

”It used to work, then it dropped”

This is the third common request. And the diagnosis here is fundamentally different — we’re not looking for “what’s broken in general”, but for what changed.

First — change history. Ads has a full change log, and in 4 out of 10 cases the drop is tied to something the client or a previous contractor did. They changed the strategy, cut the budget, applied a “Google optimisation recommendation” (those are often harmful), turned off an “inefficient” campaign that was actually feeding the lower funnel.

If nothing changed in Ads — we look at the site. Was there a redesign? Did prices change? Did it get slower? Sometimes all it takes is forgetting to add the Google tag to the new template — and tracking dies, even though “the site is working fine”.

If that’s clean too — we look at the market. Did a strong competitor enter with an aggressive budget? Did a season end? Has the click price in the niche risen (this is public in planning tools). Sometimes the drop is real but isn’t “you broke something” — the situation around you changed.

And finally — the algorithms themselves. Google regularly ships updates for PMax, Smart Bidding, attribution. After updates there’s a learning phase where the account temporarily loses stability for 7-14 days. The fix here isn’t “rebuild everything”, it’s wait and don’t panic. The worst thing you can do to an account in learning phase is rework the bid strategy or halve the budget. Then learning restarts, and you fall into the “I keep breaking things” trap.

What we always look at, regardless of the symptom

Whatever symptom the client raised, there are things every audit goes through. It’s not about “tools”, it’s about understanding the business.

How your business actually makes money. Who the real customer is. How much they bring over their lifetime, not from one order. Which products or services drive profit, which drive turnover without margin. The margins on key SKUs. It often turns out the budget is split by historical inertia, with no connection to what actually brings money in. Fixing Ads without fixing this means doing inefficient work faster.

Whether Ads and your real data describe the same reality. In 7 of 10 accounts I’ve seen, the numbers in the account and the CRM diverge by 20-40%. Somewhere events don’t fire, somewhere they double, somewhere conversions come in with zero value, somewhere test orders from your ops pollute the stats. Without clean data, any optimisation is playing blind.

Whether you can sustain the account afterwards. This is often skipped, but I insist on it. An audit is a snapshot of a moment. Two weeks later the situation is already different. If you don’t have tools to watch the account regularly — a dashboard with real KPIs, alerts on drops, a BigQuery export for deeper analysis — even the best audit goes stale within a month. So we always include setting these up in the deliverable. Not “here’s a 40-page PDF”, but a PDF plus the tools to keep seeing what’s happening in the account without us.

What the client gets

Not a 50-item “fix list”. A structured document, where:

  • What we found — broken down by business logic, data, site, and Ads itself. With an explanation of why this is a problem for your business specifically, not “by best practice”.
  • What to do about it — prioritised. Not “urgency 1-2-3”, but plainly: do this first (because nothing else makes sense without it), then this (because it’s the biggest quick win), then this (because it’s systemic and takes weeks).
  • A 2-3 month plan — what to expect at each stage. No promises like “+30% to ROAS”. I can’t honestly give them, and nobody can. Just a working plan and realistic expectations.

The report is written so the client can use it to talk to their contractor or work on it themselves. Not “a tech doc for PPC people”, but readable text for the person making budget decisions.

When it’s worth ordering

Honestly: not always.

If the ad budget is $300-500/month — the audit won’t pay back economically. The audit price is close to a monthly budget, the potential lift is small.

If the account is in its first month — too early. Give it another 4-6 weeks to gather data, then there’s something to draw conclusions from.

But it’s worth it when:

  • The budget is $1,000+/month, and you want to understand whether the money is spent right.
  • The account has been running a year or more without a refactor. Big accounts always accumulate 20-30% of unproductive spend after a year.
  • You’re taking over the account from a previous contractor, or have hired several different people in turn.
  • You want to scale from X to 3X but suspect the current foundation won’t hold.
  • ROAS dropped without a clear reason, and your own attempts to fix it didn’t work.

If you want a look at your own account

Get in touch — on a first 15-minute call we’ll go through your specific case. You tell me what hurts, I’ll tell you whether this is audit work, and if so — roughly what the process looks like and what it costs. If it’s not our kind of case, I’ll say so honestly, no selling.

Need help with advertising or analytics?

We will audit your account and show growth opportunities. The first assessment is free.

Discuss a project