Field guide · 11 min read

The marketing audit process: 8 steps to run one on your own numbers

The short answer

A marketing audit process runs in eight steps: set the scope and request read only data, make the ledger the source of truth, reconcile what each platform claims, test which spend was incremental, check pricing and retention, size each finding in dollars a year, rank the findings, and present them with an owner and a date for each.

What a marketing audit process has to do

Philip Kotler’s textbook Marketing Management defines a marketing audit as a “comprehensive, systematic, independent and periodic examination” of a company’s marketing environment, objectives, strategies and activities, with the aim of finding its problems and opportunities and recommending what to do about them. For a business spending $10,000 to $150,000 a month on marketing, each of those four words becomes a rule. The audit covers every channel and every offer, not only the one that looks broken. It follows the same steps in the same order each time. It is run by someone who does not own the budget under review. And it happens on a calendar, not only after a bad quarter.

Across our 74 published audits, the median margin identified per audit was $58,000 a year, and the most common leak, non incremental paid spend, appeared in 68% of them. The order of the steps below is what makes figures like these hold up: revenue is reconciled before any channel is judged, and every leak is priced before it is ranked. A marketing and margin audit adds one rule to Kotler’s four: every finding is measured in margin, not in revenue.

This guide is the order of work. For the list of what to check inside each step, use the marketing audit checklist: 30 checks across six areas.

Step 1: Write the scope and send the data requests

Write one page before anyone opens a dashboard. It names the question the audit must answer (for example, which part of the marketing spend earns no margin), the period, the channels and offers in scope, who runs the audit and who hears the result. Twelve months covers every season once. Pick someone to run it who does not manage the budget being audited. Kotler’s word is independent; a 1984 study of how companies used the audit suggested objective as the better word, and treated the choice between an in house team and outside auditors as open. What matters is that the person running it is free to conclude that a channel should shrink.

Then send every data request in one list, so nobody exports the same report twice: read only access to the ad accounts and the analytics, and exports of orders or payments, refunds, product costs, shipping and payment fees, discount codes, and customer or subscription records for the whole period. Most major tools have a role for this. Google Ads has a read only access level, GA4 has a Viewer role, and Stripe has a View Only role that can still export data and download reports. Nobody running the audit should be able to change anything.

Step 2: Make the ledger the source of truth

Every number in the audit has to trace back to the ledger: the orders, payments and refunds that actually happened, from Shopify, Stripe, the accounting system or the closed deals in the CRM. Fix one time zone and one currency, and net out refunds and cancellations. Then build three lines for each month: revenue, marketing spend taken from invoices rather than platform dashboards (media, fees and tools), and contribution margin, which is revenue minus the costs that grow with every order.

Divide revenue by marketing spend and you have MER, the one efficiency ratio no platform can inflate. This step is slow the first time, and that is a finding in its own right: if nobody can produce monthly contribution margin within a day, the business is steering on revenue.

Step 3: Reconcile what each platform claims

Export what every ad platform, affiliate network and analytics tool reports as revenue for the same months, and set each claim beside the ledger. Added together, the claims often come to more than the business sold, because each platform credits the sales it touched inside its own attribution window. Claimed revenue divided by ledger revenue is your attribution inflation, and it showed up in 54% of our 74 audits.

The mechanics, from matching GA4 by transaction ID to lining up time zones and refunds, are in how to reconcile GA4 and ad platform revenue. Do not correct the platforms yet. The point of this step is to know how far each one overstates before you judge any channel by its own report. The account settings belong here too: the Google Ads audit checklist and the Meta ads audit checklist cover them channel by channel.

Step 4: Test what the spend actually caused

Reconciled revenue tells you what was sold, not what the marketing caused. A customer who searches for your brand by name, or who already has a full cart when a retargeting ad finds them, would often have bought anyway. Spend on sales like these, non incremental paid spend, was the most common leak in the audits. The way to measure it is a holdout: switch a channel off in matched regions or for a random share of the audience, keep everything else the same, and compare the results.

How to measure incrementality covers the three test designs a small budget can run. One audit rarely has time to test every channel, because each test has to run for at least one full buying cycle. Test the one or two channels where the reported return is highest and the customer is closest to buying, and label every other channel’s return as reported, not proven.

Step 5: Check pricing, discounts and retention

Media is only half of the audit. The other half sits outside the ad accounts, which is why a review of the campaigns alone misses it. Rebuild the contribution of your best selling products or plans with this year’s costs. List every standing discount, free shipping threshold, rebate and fee waiver with the date it was set and the reason it was set. Then follow customers past their first order: renewals, failed payments, pauses and cancellations, cohort by cohort.

Mispriced offers appeared in 47% of the audits, retention leaks in 41% and discount habits in 34%. The pricing audit guide has the tests for discounts. On the retention side, case 52, Weak payment recovery was leaking revenue as involuntary churn, found a lax failed payment flow letting subscribers lapse instead of retrying their payments; the audited figure was $52,000 a year.

Step 6: Size every finding in dollars a year

A finding without a number is an opinion. For each one, write down what leaks, the evidence, and its annual value in margin, not in revenue. Spend you can cut is worth the spend saved minus the contribution of any sales you lose with it. A pricing or retention fix is worth the extra contribution it brings, not the extra revenue. Take every figure from the ledger and the test results, never from the platform claims, and mark which figures were measured and which were estimated.

For example (arithmetic, not a case), say a store spends $5,000 a month on branded search, and a holdout shows that switching it off loses $4,000 a month of sales at a 40% contribution margin. Cutting it saves $5,000 of spend and gives up $1,600 of contribution, so the finding is worth $3,400 a month, or $40,800 a year. That figure, not the $60,000 of annual spend, goes on the list.

Step 7: Rank the findings and remove the overlap

Sort the findings by annual value. Next to each, mark the effort the fix takes (an hour, a week or a quarter) and how strong the evidence is. Before you add anything up, remove the overlap. Cutting retargeting and correcting attribution inflation can be the same dollars seen twice, and a total that counts them twice will not survive the first question from finance. Count each dollar once, under the finding that explains it best.

Then decide what happens this week, this month and this quarter. A large finding with an easy fix goes first. A large finding with a hard fix gets a plan and a date. A small finding with a hard fix goes to a backlog, with a date to look at it again.

Step 8: Present the readout and give every finding an owner

Present the result to the people who control the budget and the P&L, in the same meeting: the owner or chief executive, finance and marketing. Open with one page: the total margin identified, the largest findings and what changes this week. Each finding then gets one owner, a deadline and the ledger metric that will show the fix worked. The sample report shows one way to lay the document out, from the executive summary to the working papers behind the largest findings.

Close by putting the next measurement in the calendar, 30 or 90 days out, with the same ledger and the same definitions, so the result compares with the starting point. Periodic, the last of Kotler’s four words, is the reason for the calendar: run the reconciliation from step 3 every month and the full audit once or twice a year.

What each step tends to find

Each leak below is found by a specific step. The share is how often it appeared in our 74 published audits.

Share of the 74 published audits where each leak was found, and the step that finds it. Each figure stands alone; they do not add up.
LeakShare of auditsThe step that finds it
Non incremental paid spend68%Step 4, the holdout
Attribution inflation54%Step 3, the claims against the ledger
Mispriced offers47%Step 5, contribution at this year’s costs
Retention leaks41%Step 5, cohorts past the first order
Discount habits34%Step 5, the list of standing discounts

Each of these is a margin leak: a recurring loss that a healthy blended number hides. Only the first two live inside the ad accounts, which is why steps 2 and 3 come before any verdict on a channel, and step 5 comes before the ranking.

Running it in house

An in house audit is possible, and most of it runs on exports the business already has. The arithmetic is not the hard part. The time goes into steps 2 and 3, building a clean ledger and lining up the claims, and into waiting for a holdout to finish. The harder part is the independence in Kotler’s definition, when the person running the audit also chose the channels being audited. Two habits help: have someone outside marketing do the reconciliation, and write down the rule for cutting a channel before the test result arrives. An audit and an in house review, compared sets out what each is built for, and what a marketing audit costs lists the market prices for an outside one.

For comparison, a MarginFix audit takes 5 to 7 working days for a fixed fee from $1,450, on read only access, with seven human gates where a senior auditor checks the results before the work moves on. The founder verifies and signs every report after the auditor who ran it signs it off. How the audit works shows the week day by day.

Questions about the marketing audit process

What data do you need for a marketing audit?

Read only access to the ad accounts and the analytics, plus ledger exports for the same 12 months: orders or payments, refunds, product costs, shipping and payment fees, discount codes, and customer or subscription records. Take spend from invoices, not from platform dashboards. Any figure that cannot be traced back to one of these sources stays out of the findings. How to reconcile platform revenue to the ledger →

What is the difference between a marketing audit checklist and the audit process?

A checklist tells you what to look at. The process tells you the order to look in and how to put a number on what you find. Run the checks inside the steps: reconcile the revenue and test the channels before you judge them, and turn every flagged check into a finding sized in dollars a year. The 30 check marketing audit checklist →

Who should run a marketing audit?

Someone who does not own the budget under review and is free to conclude that a channel should shrink. That can be a finance lead, an operator outside marketing or an outside auditor. Kotler’s definition asks for independence, and what it protects is objectivity. Whoever runs it needs read only access, the ledger, and a seat in front of the people who set the budget. Audit or in house review, compared →

See how the audit runs in 5 to 7 working days →
Request an audit → See the benchmark