How to audit an inherited Facebook ad account
Before you fix anything in an inherited Facebook ad account, find out what its old numbers measured. The audit order I use in the handover week.
Before you fix anything in an inherited Facebook ad account, find out what its old numbers measured. The audit order I use in the handover week.
The handover call took forty minutes. The outgoing agency shared a spreadsheet, the client said "our CPA used to be €40, get us back there", and by Friday I had a list of eleven things I wanted to change.
I changed none of them that week, because I could not find where the €40 came from. It was a 7-day click plus 1-day view figure, counted on a purchase event that also fired when someone reloaded the thank-you page. The number existed in a report. It did not exist in the bank.
Short answer: Audit an inherited Facebook ad account in trust order. First check what every historical number measured: the attribution window, the conversion event behind it and whether the pixel and Conversions API count each sale once. Only then read where the spend went, weighted by euros, and what the creatives did. Change nothing before that.
The takeaways
The old numbers in an inherited Facebook ad account were produced under rules you did not set and cannot see in the export. A CPA is spend divided by counted conversions, and "counted" depends on the window, the event that fired, and whether one purchase arrived twice through pixel and server.
Each of those can drift without anyone deciding to change it. A developer moves the thank-you page. A plugin update starts sending server events without an event ID. Nobody writes it down.
So the first job in a takeover is archaeology. The client will judge your first month against that history, and if its basis is unknown, the comparison is unknown too.
Check the attribution window, the optimization event and deduplication, in that order, and write each answer down next to the baseline figure.
For the window, check the ad set setting and, separately, what the reporting columns compare against. Meta gives both the same name, as I covered in the post on the 7-day vs 1-day click attribution window.
For the event, open Events Manager and confirm which event each campaign optimizes for and where it fires. A purchase event on a page that loads twice per order halves the CPA.
For deduplication, check that browser and server events for the same order share an event ID. Then set 30 days of shop orders next to the reported purchases. Some gap is normal, and why Meta conversions don't match your sales explains which parts of it are expected.
Because in the handover week nothing you report depends on the old basis yet. Change the window in month three and every chart you have shown the client gets a seam. Change it in week one and your own history starts on the definition you will defend.
The cost side does not improve with waiting either. Meta's help center says significant ad set edits restart the learning phase, and the learning phase wants roughly 50 optimization events. At a €40 target CPA that is about €2,000 of conversion spend per ad set, whether you pay it now or in March.
One condition: before you touch anything, export the old results under the old settings and label them with their window and event. That export is the only bridge between the previous owner's numbers and yours.
Read the account by spend, because spend is the one column every attribution setting agrees on. Export the last 90 days at ad set level, sort by amount spent, and read from the top until you have covered most of the budget.
This is where inherited structure stops matching its labels. A campaign named "Prospecting" may spend most of its budget on last week's site visitors. The ad set the client calls "the main one" may be a rounding error next to an old test nobody switched off.
For each big spender, note who it reaches, what it optimizes for, and its cost per result with the window it used. Retargeting usually reports the best CPA in an account, because those people were already halfway to buying. It is the easiest place for a previous owner to look good, so ask how much of that result would have happened anyway.
Look at which ads carried the spend, how long they have run and how often the same people saw them. The ad the previous owner calls the winner is a claim you still have to check.
Sort ads by spend, then check frequency and the click-through trend over recent weeks. An ad that took most of the budget for four months with frequency climbing is probably tired, even if its lifetime CPA looks fine. Lifetime numbers average a strong launch with a weak present.
Most handovers arrive with a folder of files called final_v3 and no record of which angle won or why. If that record is missing, what the account kept spending on is the best history you have.
Change things once the baseline is rewritten in your own definitions: window named, event confirmed, duplicates ruled out, spend mapped. That takes days, and it is what lets your later improvements count.
Adscalr does not repair a measurement basis. It reads whatever the connected account reports, so the audit above stays your job. What it adds afterwards is the creative read: a composite score across six metrics with format-specific priors, so one lucky week on the previous owner's favourite ad gets pulled toward what its format usually does, plus fatigue detection from a multi-day CTR slope with a market-wide check. That side of the work lives in our ad intelligence approach.
This is the thinking behind Adscalr.
See the product →