google-ads-tracker
Skill11 starsChanged 5 months agoMITView on GitHub
Monitors live campaigns — especially newly launched ones in the learning phase. Reports budget pacing, learning-phase status, delivery, and anomalies (sudden CPC/CPA/ROAS swings, conversion drops, disapproved assets). Observe-only: it alerts, it never changes the account. Reads account-context.yaml. Use when the user says "how's my campaign doing", "pacing", "learning phase", "is it spending", "monitor", "anomaly", "what changed".
In this repository14 other files it gives its agents.
- google-ads-assetsSkill
- google-ads-auditSkill
- google-ads-builder-branded-searchSkill
- google-ads-builder-demand-genSkill
- google-ads-builder-pmaxSkill
- google-ads-builder-searchSkill
- google-ads-experimentsSkill
- google-adsSkill
- google-ads-measurementSkill
- google-ads-optimizerSkill
- google-ads-planSkill
- google-ads-pusherSkill
- google-ads-routineSkill
- google-ads-setupSkill
The file
We split this skill into the rules it gives an agent
3 rules. About 0 are common, 1 is distinctive, and 2 are very specific to this project.
≈0
Common · estimate
Many files like this have a rule of this kind.
≈1
Distinctive · estimate
This author's own choices. Worth a look.
2
Very specific
Tied to their project's names, files or tools. Probably skip.
- Common
- Distinctive
- Very specific
- Distinctive: line 19
No false absence (GUARD-6 from audit): prove completeness before reporting "no delivery / no conversions".
- Very specific: line 27
Read account-context.yaml (customer_id, guardrails, margin_tiers for ROAS context).
- Very specific: line 50
Apply the cooldown: if a recent change_event explains the swing, note it as expected, not an anomaly.
≈ “Common” is an estimate: at least 1 in 5 of the 350,495 skill files we read have a rule of the same kind, not the same words. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.
Files
Google Ads — Tracker (observe only)
Watch live campaigns and surface what's happening. Changes nothing in the account — that's the
optimizer's job. Especially useful right after a pusher launch (the learning window).
Operating rules
- Observe-only: report and alert, never mutate. Read everything from
account-context.yaml. - Honor guardrails: a
change-event-cooldownmeans don't raise an anomaly right after a deliberate change. - No false absence (GUARD-6 from audit): prove completeness before reporting "no delivery / no conversions".
Model dispatch (run cheap, decide expensive) — see ${CLAUDE_PLUGIN_ROOT}/references/model-tier-dispatch.md
- Scout (
haiku) — STEP 0 context read; identifying newly-launched vs established by start date. - Routine (
sonnet) — STEP 1 per-campaign performance +change_eventpull. Dispatch as ageneral-purposesub-agent; return raw rows + the daily trend, don't flag. - Judge (main session) — STEP 2-4 learning-phase read, pacing call, and especially anomaly-vs-expected (apply the cooldown — a recent deliberate change is NOT an anomaly). The pull is cheap; deciding what's normal variance vs a real alert is judgment.
STEP 0 — Load
Read account-context.yaml (customer_id, guardrails, margin_tiers for ROAS context). If it's missing,
run setup first — never observe on an unconfigured/half-connected account. Identify which
campaigns are newly launched (recent change_event / start date) vs established.
STEP 1 — Pull recent performance
Per campaign over the relevant window (explicit YYYY-MM-DD dates): spend, conversions, conv value, ROAS,
CPC, CPA, impression share, and the daily trend. Pull recent change_event history too.
STEP 2 — Learning-phase status (new campaigns)
- Is the campaign accumulating conversions toward the learning floor (~15-30/period)? Project days-to-exit.
- Flag campaigns stuck below the floor (will never stabilize at current budget → note for
optimizerto consolidate, but tracker only flags). - During learning, do NOT read short-term ROAS swings as problems — say so explicitly.
STEP 3 — Pacing & delivery
- Budget utilization: spending in full, underspending, or limited-by-budget?
- Impression share lost to budget vs rank.
- Delivery gaps (disapprovals, eligibility, $0-spend asset groups) — verify before claiming absence.
STEP 4 — Anomaly detection
- Week-over-week swings in CPC / CPA / ROAS / conversions beyond a sensible band.
- Sudden conversion drop (possible tracking break → route to
measurement). - Disapproved assets / policy issues / ad-strength drops.
- Apply the cooldown: if a recent
change_eventexplains the swing, note it as expected, not an anomaly.
STEP 5 — Report & hand off
- A short status: pacing, learning status, and any real anomalies (with the cooldown applied).
- Frame routine variance as normal; reserve alerts for genuine issues.
- Hand actionable findings to
optimizer(to act) ormeasurement(if tracking looks broken).
To build / refine later
- Reuse the shared HTML report module (see DECISIONS) for a monitoring dashboard.
Does it work?
Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.
No reviews yet
People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.
- It worked
- Partly
- It didn't
Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.
Your trail
Files you open will collect here, so you can find them again.
Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.
Now do this for your own.
Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.

