SpendSignoffSpendSignoff

Google Ads export playbook

Export Google Ads change history before the 30-day API window closes.

Google Ads gives you a native change-history view, a scriptable path into Sheets, and an API record you can capture on a schedule. The hard part is choosing the right path before the client asks, “who changed this?” Here is the operator’s export map — plus where SpendSignoff turns that raw history into the free client-presentable audit report a thin MCP pipe can’t produce.

For agencies and freelancers who need Google Ads change history for client reporting, approvals, and audit-ready AI ad work. Operational guidance only; not legal advice.

Google Ads change-history export chooser

Use this when you need the record today. The native UI is fastest for investigation; Sheets works for a one-off weekly pull; the API is the scheduled capture path; SpendSignoff is the client-ready layer with governance, approvals, and six-platform coverage around the record.

Google Ads change-history export chooser table with columns: use case, best export path, what you get, watch out for, and client-ready next step. Four example rows.
Use caseBest export pathWhat you getWatch out forClient-ready next step
You need to answer “who changed the budget?” on a callGoogle Ads UI -> Change historyFast account view by date, user, tool, campaign, and change typeGood for investigation, weak as a polished client handoffCopy the relevant row into the audit-ledger format
You want a quick weekly spreadsheetGoogle Ads Script -> GAQL `change_event` -> Google SheetRecent rows in a Sheet for a defined lookback, such as last 7 daysYou still need to clean, group, and explain raw rowsAdd old/new value, owner, and “why it matters” columns
You need scheduled capture for every clientGoogle Ads API `change_event` jobActor, client type, resource changed, timestamp, and old/new valuesDate range must be within the past 30 days and queries need a limitStore normalized rows before the window expires
You need a board/client-ready monthly recordSpendSignoff audit reportA dated ledger: what changed, who/what changed it, old -> new, why it mattersRaw Google history is the input, not the final storyAttach it to the monthly report with approvals and follow-up actions
  • Decision rule: use the UI for a same-day investigation, Sheets for a one-off pull, the API for scheduled capture, and the SpendSignoff audit report when a client needs a readable record.
  • The operational deadline: the Google Ads API `change_event` resource is queryable only inside a recent 30-day window, so monthly capture should run before month-end cleanup becomes archaeology.
  • Edge case: if a change looks missing or impossible, check access, automated rules, API/tool actors, and UI display limitations before blaming a human. The record is evidence, but it still needs investigation.
The change ledger is read-only — generating it never needs write access to your ad accounts.

The UI can show history. It does not make a client report.

Google Ads change history is a strong investigation tool: you can review changes, filter by user or tool, and compare the timeline with performance. But when a client asks why spend moved, sending them a raw account-history screenshot is not the same as explaining the decision.

The second trap is waiting too long. The UI may retain a longer account-history view, but the machine-readable `change_event` export that lets you build a proper ledger has a much tighter window. If you want a scheduled, client-ready audit trail, capture it before the data falls out of reach.

  • Google’s UI change history covers account, campaign, and ad group changes and can show who made certain changes.
  • The Google Ads API `change_event` query must use a date range within the past 30 days and include a limit of at most 10,000 rows.
  • Operators still ask how to export recent change history into Google Sheets because the native surface does not give agencies the final client artifact.

The export path that holds up

1

Investigate in the native UI

Start in Google Ads Change history when the question is immediate: budget edits, status changes, keyword moves, API actors, automated rules, and who made the change. It is the fastest path to the raw fact.

2

Capture on a schedule

For repeatable reporting, query `change_event` before the 30-day API window closes. Store normalized rows with timestamp, actor, client type, resource type, old value, and new value.

3

Translate raw rows into an audit report

A client does not need every raw event. They need the spend-moving changes, the approval trail, and the next action. SpendSignoff keeps that record across Google plus Meta, Microsoft, Amazon, LinkedIn, and TikTok workflows.

Raw export vs. audit report

Raw Google export
Client-ready audit report
Rows of account events
Spend-moving changes grouped by client impact
User/tool names without the story
Who or what changed it, and why it mattered
Google-only surface
Governed record across six ad-platform workflows
No approval context
Approval status and follow-up action beside the change

What the export can and cannot do

high confidence

Google’s native UI is an investigation surface, not a finished client handoff.

Google Ads Help says change history lists account, campaign, and ad group changes from the past two years, maps changes to performance data, and can show who made certain changes. That is strong raw evidence, but it still leaves the agency to decide what the client should see.

Google Ads Help — About change history
high confidence

The machine-readable change export has a 30-day operational deadline.

Google’s `change_event` documentation states that the date range must be within the past 30 days and that each query needs a LIMIT of at most 10,000 rows. If you want scheduled reporting, capture before that window closes.

Google Ads API — Change Event
medium confidence

Sheets exports are possible, but they are still raw material.

In the Google Ads Scripts forum, an operator asked for a last-7-days change-history export to Google Sheets at MCC level, and a Google Ads Scripts Team reply provided a GAQL-to-Sheets example. Useful, but it does not create the client narrative.

Google Ads Scripts Forum — export change history

Questions

Can I export Google Ads change history?

Yes, depending on what you mean by export. The Google Ads UI lets you review and filter change history. Google Ads Scripts can push recent `change_event` rows into a Sheet. The Google Ads API is the better path for scheduled capture, especially because `change_event` queries must stay inside the recent 30-day window.

How far back does Google Ads change history go?

Google’s UI help says change history lists changes from the past two years. The API export used for scheduled machine-readable capture is different: `change_event` queries must use a date range within the past 30 days. Do not confuse the UI review window with the automation window.

Why not just send the Google Ads change history screenshot to the client?

Because the screenshot answers “what raw event exists,” not “what did you do, why did it matter, and what happens next.” A client-ready report filters for spend-moving changes, translates old -> new values, separates human/API/platform actors, and adds the follow-up action.

Does this replace an approval workflow?

No. Change history is after-the-fact evidence. Approval workflow is before-the-fact control. SpendSignoff connects both: AI drafts a change, a human approves it, and the change record becomes part of the audit report.

Does SpendSignoff only work for Google Ads history?

No. Google Ads is the cleanest example because `change_event` is well documented, but SpendSignoff is built as a six-platform operating layer across Google, Meta, Microsoft, Amazon, LinkedIn, and TikTok. The client-facing report keeps one shape across those workflows.

Keep reading

Turn Google’s raw history into the report a client can read.

Bring a Google Ads account to a 15-minute demo and see the free audit report built from native change history: old value, new value, actor, approval context, and the plain-English reason it mattered.

    Google Ads change history export: UI, Sheets, API, or audit report? — SpendSignoff · SpendSignoff