Google and Meta signal audit

Your bidding is chasing something. It is usually not quite the thing you think it is.

This audit reads what your Google and Meta accounts are actually telling the models — the instructions, not the reports — and writes up where those instructions and your business have drifted apart.

What we look at

What you told them counts as success. Every conversion action in the account: what fires it, what value it carries, where that value comes from, and whether the same event is being counted twice under two names. Then whether the bidding strategy is optimising towards those actions or towards a target that was set for a different set of them.

This is where the money is. A model told to buy form submits will buy form submits, and it will be very good at it, including the ones you do not want.

What comes back from your sales side. Offline conversions, lead scoring, won and lost reasons, and any value that is uploaded rather than measured. When a salesperson marks a lead qualified on a hunch and that flows back, Google treats it as fact. We check what judgement is being sent, and by whom.

What the models can see. Consent state, tagging, enhanced conversions, and how much of what actually happened ever reaches the platform. A channel that converts well but is measured badly looks like a bad channel, and the model will correctly spend less there.

What you told them not to do. Negative keyword lists and their dates, placement and audience exclusions, brand safety settings, and where a broad match campaign is being steered by a negative list written for a different business.

Search terms against categories. What the system decided was close enough to your starting point, and which of your categories it attributed those searches to.

Where the weight ended up. Budget and bidding across campaigns, including the weight that accumulated by repetition rather than by anybody deciding — the campaign that has been running since before the last rebrand and still takes a third of the spend.

On Meta specifically. The same three questions in a different interface: what the pixel and the Conversions API are sending, whether they agree with each other, what the Advantage+ campaigns are optimising towards, and which audiences are constraints as opposed to hints.

What usually turns out to be true

The expensive findings are rarely exotic. A conversion setting drifting away from the bidding target, so the model is buying something nobody asked for. Ads rejected while the campaign still reads green. Spend moving between campaigns without anyone deciding it should. A schedule set three years ago that is still deciding which hours you buy.

None of these announce themselves, because none of them look like failures from the dashboard.

Why we can say it plainly

We run no campaigns. You cannot be the auditor and the competitor at once — Accenture closed its media-auditing arm in 2020 for exactly this reason.

If your agency built this, that does not make them the problem. Nobody was stupid. Before we call a setting a fault we ask whether somebody chose it, and most of the time somebody did, for a reason that was good at the time.

What arrives, and when

A written document. Every finding says what we saw, in which account, and what it means for a decision you are going to make — with the screenshot or the setting beside it, so nothing has to be taken on trust. Numbers carry a grade, because a number you cannot trust is worse than no number.

What do you have to give us?

Read access to the ad accounts, plus GA4 Viewer and read on Google Tag Manager. No admin rights, nothing we can change, no developer needed. You keep working while we read.

And then what?

This reads levels one to three of the ten: your numbers, the market picture and the direction. Above it the same reading can run on a cycle, or become continuous, so you hear the week a campaign stops rather than the quarter.

If you want the reasoning underneath first, this is what the models are actually deciding.

How to start

Tell us what you are trying to fix — the account, the channel, what you have already tried. That is the whole first step.