Anomaly Triage
Follow the clues behind a sudden campaign change, explain what is happening in plain language, and route the next step to the right person.
Works across your stack
Supported AI platforms
8 supported clients. Connector requirements are shown separately below.
Add the campaign performance analysis skill to your AI client
Set up the Adspirer "Anomaly Triage" skill for me. If you can run commands: npx adspirer-skills add campaign-performance-analysis If not: fetch https://www.adspirer.com/skills/campaign-performance-analysis.md and follow it. Then read the skill and ask me what you need to get started.
Paste it into Claude, ChatGPT, Cursor, Codex, Gemini, or any agent — it works out how to install itself.
Or install it yourself
npx adspirer-skills add campaign-performance-analysis Writes SKILL.md to .claude/skills/ in the current project. The bundled references, scripts, and assets ship with the ZIP. Download ZIP →
Upload the ZIP in Claude → Settings → Skills. The bundle preserves every reference, script, and asset.
Install the Adspirer plugin first: Cowork tab → Customize (left sidebar) → Plugins → Browse Plugins → search "Adspirer" → Install. Requires Claude Max, Team, or Enterprise. Then upload this ZIP as a skill.
In ChatGPT, open Plugins → Skills → Create → Upload from your computer. ChatGPT scans the skill before making it available. Availability and upload permissions depend on your workspace plan and admin settings.
npx adspirer-skills add campaign-performance-analysis --agent cursor Writes the skill to .cursor/rules/ in the current workspace, so Cursor loads it on every session.
npx adspirer-skills add campaign-performance-analysis --agent codex Appends the skill to AGENTS.md, which Codex reads on every session — so it persists instead of living in one conversation. The append is idempotent; re-running it will not duplicate the block.
npx adspirer-skills add campaign-performance-analysis --agent gemini Appends the skill to .gemini/GEMINI.md, which the Gemini CLI reads on every session. Connect Adspirer as an MCP server first so the live ad-account steps can run.
npx adspirer-skills add campaign-performance-analysis --agent windsurf Writes the skill to .windsurf/rules/ in the current workspace, so Windsurf loads it on every session.
npx adspirer-skills add campaign-performance-analysis --agent other Writes SKILL.md to adspirer-skills/ in the current folder — point any agent at that file. No shell? Fetch the raw file with curl -fsSL https://www.adspirer.com/skills/campaign-performance-analysis.md, which prints the skill instead of installing it.
Starter prompt
Client setup guide →Use the Anomaly Triage skill. I’m working on [campaign or account] and want to understand [goal or problem] for [date range]. Check that Adspirer is connected, start by looking without changing anything, and explain the story in plain language. Show me the evidence and ask before making any live change. Where it helps
When to use the campaign performance analysis skill
A calm explanation of what changed, the evidence behind it, and the right next owner—your media team, your developer, or nobody yet.
Use case 1
Conversions suddenly disappear
Spend and clicks look normal, but the platform or analytics dashboard reports a sharp conversion drop.
Use case 2
Spend moves without an obvious cause
A campaign accelerates or stalls after a budget edit, learning-phase change, disapproval, or billing issue.
Use case 3
Two systems disagree
Adspirer, the ad platform, and GA4 show different outcomes for the same date range and the team needs to know which question to investigate first.
See it in a campaign
Campaign performance analysis examples
The numbers, account, and recommendation will be yours. These show the kind of story the skill helps you work through.
The Monday conversion drop
A Google campaign spends normally after the weekend, but reported purchases fall 60% overnight.
The skill checks live campaign delivery and the measurement trail, then distinguishes a media problem from a delayed or broken event.
The Meta spend spike
A prospecting campaign jumps above its usual daily pace after a team member changes the budget.
The skill reconstructs the timing, explains whether delivery or tracking changed, and asks before any budget correction.
Keep reading: Google Ads setup docs ·Claude ad management ·PPC reporting tools guide
Keep building the workflow
Agent skills related to campaign performance analysis
Client-Ready Monthly Report
Produce a client-ready monthly report: performance vs goals, what changed and why, wins and learnings, next month's plan — clear, honest, and defensible.
The Attribution Detective
Account for the gap between platform, analytics and backend numbers, and say which source answers which question.
Cohort LTV Reader
Read retention by acquisition cohort against what each cohort cost, and say plainly when it is too early to judge.
Before you install
Frequently asked questions
What is the campaign performance analysis skill?
It is an Agent Skill — a folder of instructions your AI assistant loads when you ask it to do this job. It follows the open Agent Skills specification, so the same package works across different assistants. Follow the clues behind a sudden campaign change, explain what is happening in plain language, and route the next step to the right person. Unlike a prompt you paste in, the skill carries its own procedure, checks, and stop conditions, so the assistant works the same way every time you run it.
Which AI assistants can run it?
Claude, Claude Code, Claude Cowork, ChatGPT, Codex, Cursor, Gemini and Windsurf. Download the ZIP and upload it in assistants that accept skill folders, or point the assistant at the raw SKILL.md file. The install card above has the exact step for each one.
What do I need to connect before I run it?
Adspirer is required, because the skill reads live account data rather than guessing. Google Analytics 4 and Slack are optional and only add value when the job calls for them. The skill confirms the connection before it touches a real account, and tells you plainly if something is missing.
Do I need an Adspirer account, and is there a free tier?
The skill itself is free to download and MIT-licensed. To let it read or change real ad accounts you need Adspirer connected: the free tier includes 15 tool calls a month, Plus is $49/mo for 150, Pro is $99/mo for 600, and Max is $199/mo for 3,000. You can install the skill and read what it does before signing up for anything.
Can it change my campaigns without asking?
No. Any new campaign Adspirer creates is created paused, enabling a paused or live campaign needs your confirmation, and destructive actions are gated behind an explicit confirmation flag. Spend, publishing, and live changes wait for your approval every time — installing a skill or a connector is not itself approval to act.
How do I get the best results from it?
Give it the specifics it asks for up front — the account or campaign, the date range, the goal, and what "good" looks like for this business. Let the first pass run read-only so you can check the evidence before anything changes. The starter prompt above is a working template; edit the bracketed parts and paste it in.
How is this different from just asking the assistant directly?
A plain prompt gets you a plausible answer from whatever the model already knows. This skill makes the assistant pull real numbers from your accounts and analytics, follow a fixed procedure, show its evidence, and stop at the points where a person should decide. That is the difference between a confident guess and a campaign performance analysis you can act on.
Ready to run it against real campaigns? Connect Google, Meta, Amazon, LinkedIn, TikTok, or ChatGPT Ads to your assistant on the free tier — nothing spends or publishes without your approval. Create a free Adspirer account →