Skip to content
esc close · switch
LYRA/ Tools/ Protection/ Change History Alert
Protection Agent-enabledDaily sweep

Nothing changes in your account without a receipt .

Change History Alert sweeps your Google Ads account once a day, pulls the change_event log via the API, and posts a Slack summary with who did what, when, and what was there before (email optional). No manual pull, no Monday postmortem.

No credit card · Daily sweep of your account · Slack alert, email optional
What Change History Alert does · product behaviour, not analytics Tool v2.0.0 · daily cron
Sweep cadence Daily Runs once every 24h at 05:00 UTC against your Google Ads account.
What we read change_event Google Ads API v24.1 change_event GAQL query. Read-only — never writes back to your account.
Alert channel Slack One summary each morning to your Slack channel (email optional). Attribution, timestamps, before/after values included.
Scope Your account Your connected Google Ads account is swept every morning. Every change is also logged to your account diary.

A receipt of every hand that touched your account.

Each morning's sweep reviews every change Google Ads logged since the previous run — authorized and unauthorized both — and alerts you to the ones that fall outside your authorized users and domains.

Sample · one account · one morning's sweep
TimeTypeWhat happenedRule matchedAction
21:14 UTC Budget Daily budget on Shopping · EU raised by +28% ($140 → $180) Change by agency user · outside rule Flagged
19:02 UTC Bid strategy Bid strategy on Brand · Search switched Manual CPC → Max Conversions Unattributed · auto-apply Flagged
15:48 UTC Keywords 47 keywords added to Generic · Intent Change by in-house user Noted
13:21 UTC Ad content Headline edited on PMax · Shoes (2 asset groups) Change by in-house user Noted
09:47 UTC Campaign status Campaign Generic · Intent switched from paused to enabled Unattributed Flagged
05:03 UTC Targeting Audience exclusion Existing customers removed from Brand · Search Unattributed Flagged
Anatomy · three moving parts

Three small rails, one morning alert.

Change History Alert isn't clever. It's a scheduled read of Google's own change log, a bit of attribution work, and a Slack alert. That's the point — boring, reliable, auditable.

01Sweep

Reads Google's change_event log daily.

At 05:00 UTC, Change History Alert queries Google Ads API v24.1 for every change_event logged in your account since the last sweep. One pass, your whole account.

Cadence: daily · 05:00 UTC
02Attribute

Who did what, and what was there before.

Each change is annotated with the user identifier (team member, agency, or Google automation), the exact timestamp, and the before/after values — all pulled straight from Google's API. No inference, no guessing.

Source: change_event · Google Ads API v24.1
03Alert

One summary, every morning.

Unauthorized changes (unattributed, automated, or by users outside your authorized list) are posted to your Slack channel — and email if you've added recipients. Every change is logged to your account diary, and the run record is retained in tool_execution_logs for audit.

Channel: Slack · email optional · daily
Case · DTC apparel · $42k/mo blended spend · 60-day window
Change History Alert routed three auto-applies back for review in one morning. Two got reverted before they finished the week.
IH In-house strategist · DTC apparel $42k/month blended spend · anonymized
Auto-applies caughtIn one 60-day window 3
Blended ROAS lift60 days after the sweep +62%
Monthly waste recoveredNegatives + reverted auto-applies $6.8k
Weekly change-reviewNow takes 20 minutes instead of a half-afternoon 20 min
Frequently asked

The honest answers to the usual onboarding questions.

Is this actually 24/7?

No — and we won't pretend otherwise. Change History Alert runs once a day at 05:00 UTC. You get a summary every morning that covers the previous day's changes. If you need real-time interception, pair it with Auto-Apply Guard (which blocks the most common source of overnight changes — Google's auto-apply subscriptions).

Does it read from Google Ads or from a scraped log?

Direct from Google Ads API v24.1, via the change_event GAQL query. Same source Google uses in its own UI. No scraping, no synthetic data.

Where do the alerts go?

Unauthorized changes are posted to your Slack channel each morning. Email is optional — add one or more recipients in the tool settings and the same summary is emailed too. Every change is also written to your account diary, so there's a permanent audit trail regardless of channel.

Can I filter out certain change types?

The report groups changes by category (bids, budgets, status, ad content, targeting) so you can skim the sections you don't want to read. Threshold-based filtering isn't a configurable feature — the tool reports everything and lets you triage.

What if the sweep fails?

The run record sits in tool_execution_logs. If the cron misses a morning, the next successful run covers the gap — we query Google since the last successful sweep's timestamp, not since 24h ago. You don't lose changes to a failed run.

14-day free trial · No credit card · Cancel in one click

Run the audit.
Keep the findings.

Connect your account and let Lyra run its 18 tools for 14 days. If the projected waste recovery isn't worth at least 10× the $49, don't pay. You keep every insight either way.

Read-only connect · write access opt-in per tool · SOC 2 in progress · GDPR + CCPA compliant