Google Ads change history and Meta's account history already record every budget, bid, exclusion and creative change in your accounts, with a name and a date. Here's how to put them next to your sales and profit, and why it makes you a better client to your agency.
On this page
- What is ad account change history?
- Why performance dashboards only show you half the story
- What change history shows on Meta, Google Ads, TikTok and Klaviyo
- Why it matters: know what your agency is doing on your behalf
- How to set it up, step by step
- What the audit looks like
- How to use it with your agency
- Get it running today
Every ad dashboard you've ever used tells you what moved. Sales went up, spend went down, click-through rate dipped on Tuesday, cost per purchase jumped on Meta and Google's Return on Ad Spend halved. What none of them tell you is what someone actually did to the account to make that happen, which is the only part you can do anything about.
Behind every one of those numbers is a list of decisions. Someone raised five budgets on a Monday morning and cut most of them back on Thursday. Someone excluded past purchasers from prospecting, swapped the creative on eighteen live ads and built a new campaign that never got switched on. Someone else added 312 negative keywords to your best non-brand search campaign. Every platform already logs all of this, with a name and a timestamp, in its Google Ads change history or Meta's account history. Almost nobody reads it, because it lives in four different places, runs to hundreds of rows a week and never sits next to your sales.
So we put it next to your sales. The Ad account change history audit is a free prompt you paste into Claude or ChatGPT. It pulls the change history from Meta, Google Ads, TikTok and Klaviyo, separates what people did from what the platforms did automatically, and checks every change against what happened to the campaigns it touched and to your profit.
What is ad account change history?
Change history is the log every ad platform keeps of edits made to your account: budgets, bids, campaigns and ad sets created or paused, ads added or edited, audiences, keywords and exclusions. On Meta and Google Ads each entry carries who made the change, when, and the value before and after, so a budget edit reads as "£75 → £200 a day, Priya, Monday 10:14". Meta change history sits in Ads Manager's account history, Google's sits under Change history in each account, and TikTok and Klaviyo record changes in their own, thinner ways.
On its own it's an audit trail. Put next to performance, it's the missing half of every week-on-week report: the reason a number moved, or the uncomfortable fact that nobody touched a campaign that has been sliding for a fortnight.
Why performance dashboards only show you half the story
A performance dashboard answers "what happened". It can't answer "why" without guessing, which is how most weekly calls with an agency end up: the numbers are on screen, someone offers a theory about auction pressure or seasonality, and everyone moves on. The change log turns that theory into something you can check.
| Performance only | Performance + change history | |
|---|---|---|
| What you see | Sales, spend, ROAS, CPA and click-through rate moving | The same numbers, plus every edit made in the account and who made it |
| Why a campaign dropped | A theory: auction, creative fatigue, seasonality | The dated changes on that campaign, and how much of the week they were live for |
| Budget increases | Spend went up | Which ad sets, by how much, on which day, and whether they were reversed |
| Targeting and keywords | Invisible | Exclusions added, negative keywords added, countries changed |
| Creative | CTR moved | Which ads were swapped, edited or paused, and when they went back into review |
| Campaigns nobody touched | Invisible | Flagged: underperforming with no changes on it |
| Automation | Blended into everything else | Counted separately: approvals, auto-applied recommendations, scripts |
That last row matters more than it looks. Meta approves ads, starts delivery and builds Advantage+ audiences on its own, and Google auto-applies recommendations and runs scripts. In one real account we tested, a third of the week's logged changes were automated. The audit counts them, but it keeps them out of the "who did what" list, so you're looking at decisions people made rather than noise.
What change history shows on Meta, Google Ads, TikTok and Klaviyo
The four platforms log very different things, which is part of why nobody reads them together.
| Platform | Who made it | What's logged | Watch out for |
|---|---|---|---|
| Meta | Named person (or "Meta" for automation) | Budgets, bids, campaigns, ad sets, ads, creative, audiences | Ad set changes are often labelled as campaign changes; budgets are stored in cents |
| Google Ads | User email + how they made it (web, recommendations, scripts) | Budgets, bid targets, campaigns, ad groups, ads, keywords and negatives | Only about the last 29 days are available through the API |
| TikTok | Not recorded | Budget edits, status changes, new or deleted campaigns, ad groups and ads | Changes are detected from daily snapshots, so it needs at least 2 days of data |
| Klaviyo | Not available through the API | When flows and campaigns were last modified, and their status | Can miss campaigns that were sent, so check against the sent-messages list |
The audit handles each of these. It re-pulls any part of the period that came back incomplete, reports Google's 29-day limit as a limit rather than a failure, matches Meta's ad set IDs back to the right campaign, and never puts a name next to a Klaviyo or TikTok change that the platform didn't record.
It covers TikTok and Klaviyo too
This isn't just a Meta and Google tool. On TikTok you see every budget edit, status change and new or deleted campaign, ad group and ad, so a bulk creative refresh followed by a budget doubling on the same campaign shows up as two dated events rather than a mystery spike in spend. On Klaviyo you see which flows were edited, paused or reactivated and which campaigns went out, with the revenue each one made, so an abandoned cart flow that was switched off for four days is visible next to the week your email revenue dipped. Neither platform says who made the change, so the audit tells you what changed and when, and names the role that owns the channel.
Why it matters: know what your agency is doing on your behalf
For most DTC brands, paid media is one of the biggest lines on the P&L, and much of it is managed by an agency or a freelance media buyer working inside accounts the founder rarely opens. That's normal, and usually it's the right setup. The problem is that the brand only ever sees the output, so every conversation about performance starts from a position of trust or suspicion rather than from what actually happened.
Change history fixes that without anyone having to send a report. You can see that a named person made changes in your Meta account on a named day, that exclusions were added, that a new campaign was built, that creatives were swapped out and budgets were raised on Monday and pulled back on Thursday. On Google you can see the negative keywords that went in, and line them up against the campaign they went into.
Here's what that looks like in a monthly report. Every person is named with the changes they made and when, automated changes are set aside, and two Google campaigns that cancelled each other out in the account total are pulled apart: a negative-keyword expansion on one coincided with a 50% fall in Return on Ad Spend, while a bid strategy switch on the other coincided with it improving.

What we're hearing from brands surprised us. It hasn't turned them into micromanagers, it's made them better clients. When you understand which levers are being pulled in your accounts, and which of them are moving the business in the right direction and which aren't, the weekly call stops being a debate about whether the agency is doing anything and becomes a conversation about which changes to keep. Agencies get credit for the work that's working, and questions about the work that isn't, with dates attached.
It also catches the problem nobody is looking for. Often the most useful line in an audit isn't a change at all, it's a campaign that has been underperforming for a week with nobody touching it. That's not a blame finding, it's a resourcing one, and it's invisible on a performance dashboard.
How to set it up, step by step
You need your store connected to StoreHero with the ad and email platforms you use. From there it's four steps, and you only do the first one once.
Step 1: Connect StoreHero to Claude or ChatGPT
Add the StoreHero connector (MCP) to your AI tool. It gives Claude or ChatGPT read access to your store, your ad accounts' performance and their change history, and it can't change anything in your ad accounts.

Step 2: Get the Ad account change history audit prompt
Open the Ad account change history audit in the AI Skills Library, click Get the prompt and copy it. It's free, and there's nothing to fill in before you paste it.
Step 3: Paste it into a new chat and answer two questions
Before it touches any data, the AI asks which store and which period. Type the store name exactly as it appears in StoreHero. If you skip the period it uses the last 7 full days and compares them with the 7 days before, which is the right cadence for most brands.

Step 4: Check the coverage before you read anything into it
The first thing it shows you is how complete the history is: changes per platform, how many were made by people and how many were automated, and any gaps. If Klaviyo's change list is missing a campaign that was sent, or a Meta pull came back short, you'll know before you draw conclusions from it.

What the audit looks like
Here's a full run for Harbour & Pine UK, a made-up outdoor clothing brand whose Meta and Google accounts are run by a made-up agency, North Loop Media. The names and figures are illustrative, but the structure is exactly what you get back.
Who changed what
Every platform gets its own section. Automated changes are counted and set aside first, then every change made by a person is listed by date with its result underneath: the campaign's Return on Ad Spend, click-through rate or revenue, and how long the change was live. Bulk work collapses to one line, so 312 negative keywords is one entry with the examples that matter, not 312 rows. And where two campaigns cancel each other out in the account total, it pulls them apart, which is exactly the kind of move a topline dashboard hides.

Every change, on the day it happened
Then the week on one timeline, with each person's changes marked against daily net sales and Marketing Efficiency Ratio. It's the view that makes a pattern obvious: three people made nine sets of changes in five days, and the efficiency dip sits right in the middle of them.

What lined up with performance
This is where it earns its keep. For every campaign that moved materially, it lists the changes made on it, who made them and how much of the week they were live for. In this run, the non-brand search campaign's Return on Ad Spend fell from 6.1 to 3.0, a drop of about 50%, in the same window as the 312 negative keywords, which were live for five and a half of the seven days. Conversions halved from 96 to 47.
Notice what it doesn't say. It says the drop coincided with the negatives, not that the negatives caused it, and it tells you exactly what to check: pull the search terms report and see whether any of the excluded terms converted in the last 90 days. If they did, restore them and compare the next week. That discipline matters, because the fastest way to make change history useless is to blame every bad week on whoever touched the account last. A budget change on the last day of the week can't explain the whole week, and the audit won't pretend it does.

What nobody touched, and three questions for your agency
It ends with the campaigns that underperformed with no changes on them, the owner of each channel as it appears in the change history, and three questions to ask your agency this week, each tied to a specific change or gap. In this run, a retargeting catalogue campaign fell from 3.60 to 2.66 Return on Ad Spend on £4.4k of spend and nobody made a single change to it.

How to use it with your agency
The brands getting the most from this run it on a fixed rhythm and share it rather than keeping it to themselves.
- Run it every Monday for the previous 7 days, before your weekly call. For Google, that keeps you well inside the 29-day window.
- Send the three questions to your agency ahead of the call, so they arrive with answers rather than theories.
- Treat the "what lined up" section as a list of things to check, not a verdict. Ask for the before and after on any change that coincided with a big move.
- Make the untouched campaigns a standing agenda item. Every one of them needs an owner and a plan by the end of the call.
- Pair it with profit, not platform ROAS. A campaign whose ROAS fell after a change may still be the right call if contribution margin held, so read it alongside MER and ROAS and your contribution margin.
If you run more than one store, paste the Multi-store report into the same chat first and the audit will run across every store, with each change tied to the store and ad account it happened in. And if you want the platform view on its own, the Week-on-week paid diagnostic and Find Google Ads waste prompts sit next to it in the library.
Get it running today
If your store is already connected to StoreHero, the Ad account change history audit is free in the AI Skills Library: copy it, paste it, name your store, and in a few minutes you'll see who changed what in your accounts last week and what it lined up with. If you're not on StoreHero yet, book a call and we'll connect your store and run it with you, live, in the first session. And if you're still deciding what to measure, start with our guide to ecommerce profitability tracking and our view of the best ecommerce analytics tools.
See who changed what in your Meta, Google Ads, TikTok and Klaviyo accounts, and what it lined up with. Works in Claude, ChatGPT or any MCP-compatible AI tool.
Key takeaways
- Ad dashboards show what moved. Change history shows what someone actually did to the account, with a name and a date.
- Meta and Google Ads record who made each change; TikTok and Klaviyo don't, so the audit never puts a name next to their changes.
- Automated changes (approvals, auto-applied recommendations, scripts) are counted separately so you only review decisions people made.
- Changes are lined up against the campaigns they touched, with how long each was live. "Coincided with", never "caused".
- Often the most important finding is a campaign that's sliding with nobody touching it.
- Brands tell us it makes them better clients: the weekly agency call becomes a conversation about which changes to keep.
Frequently asked questions
Can you see change history in Google Ads?
Yes. Every Google Ads account has a Change history page that lists edits to budgets, bids, campaigns, ad groups, ads and keywords, with the user who made each one and when. The audit pulls the same history through the API, which covers about the last 29 days, and puts it next to your sales and profit.
Is there a change log in Google Ads?
Change history is Google Ads' change log. It records what changed, the value before and after, who made it and whether it came from the web interface, an auto-applied recommendation or a script. The audit treats recommendations and scripts as automated, even when they're tied to a person's email.
Can you delete change history in Google Ads?
No. Change history is a read-only record of what happened in the account, which is exactly why it's useful when you're reviewing an agency's work.
Can you see who made changes in Meta Ads Manager?
Yes. Meta records the person behind each change to campaigns, ad sets and ads, and shows automated changes as made by Meta itself. The audit separates the two and groups each person's changes into budgets, structure, creative and targeting.
Does it show who made changes in Klaviyo or TikTok?
No. Neither platform makes that available, so the audit describes what changed (the flow, campaign or ad group, its status and when it was modified) and names the role that owns the channel instead of a person.
Does it work in ChatGPT as well as Claude?
Yes. It works in Claude, ChatGPT or any AI tool that supports MCP connectors, once the StoreHero connector is added.




