How do I prove what AI changed in a client's ad account?
Run every account change as a recorded step: the change described before it runs, the action saved with its result and time when it runs, and the account's state noted after. Review the receipt and actual deliverable before accepting a handover.
Ad accounts are where AI assistance meets other people's money in near-real time, and the argument pattern is set: results move, the client asks what the agent did, and the answer is reconstructed from platform history screens that show fragments without intent. The recorded pattern replaces reconstruction with a log written at the moment of action.
The discipline is one step per change. Before the change, the step states the intent (raise the budget cap on the spring campaign by a set amount, pause the underperforming audience). When the agent acts through the connection, the step's saved result records what was done and when, under a receipt that fixes it (AER-1, IETF Internet-draft-zambo-aer1-21). Approvals layer naturally: budget changes above a threshold sit as steps awaiting your recorded sign-off before the agent executes them, and that sign-off is itself on the record the client reads.
The weekly payoff is a client report that writes itself: the change log for the week, each change linked to its intent and its result window. When performance dips, the conversation starts at the log ("the audience change on Tuesday is the suspect; here is its step") instead of at trust. Agencies that report this way keep clients through bad weeks, because the client can see the work even when the numbers are unkind.
Checklist: the ad-account change log
Per change: 1. Intent step saved before action (what, why, expected effect). 2. Approval step where the change crosses your threshold (budget, new audiences, new markets). 3. Action step saved at execution (the change as made, with its result). 4. State note: the account values after the change. Weekly: export the week's steps as the client change log; flag any change with no intent step (that is the process gap to close). Never: batch a day of changes into one summary step; granularity is the proof.
Worked example
Sample: a Tuesday dip traced in minutes. The week's log shows an audience expansion step at 10:04 with its intent, an approval step by the account lead, and the action step. The client reads the same log, the conversation moves to whether the expansion was wise, which is a strategy question, instead of whether it happened, which used to burn the meeting. (Sample scenario; no live record is cited.)
Frequently asked questions
Ad platforms keep their own change history. Why duplicate it?
Platform history shows what changed without why, without approval, and inside the platform's own retention and interface. The step record adds intent and sign-off, lives with your other client records, and can be handed over as one object the client keeps.
Should the client see changes in real time?
The weekly log is the healthy default; real-time links suit high-spend accounts where the client wants a watching brief. Either way the record is the same; only the sharing cadence differs.
What about changes I make manually in the platform?
Add them as steps in the same job, labelled as yours, with the change as the saved result. A change log with a manual-shaped hole invites exactly the question it exists to answer.
By Brennan Zambo, founder of Zambo.
Last verified: 2026-10-17.
Try a handover
A handover gives your client one proof link with verifiable receipts to review, then Accept or Flag.
try it: say 'use zambo to hand this over to <client>' in your ai