監視Guides
Monitors, briefs and reports
Adako is an MCP server and REST API that connects Claude, ChatGPT, Cursor and other assistants to Google Ads, Meta Ads, ChatGPT Ads, TikTok Ads and LinkedIn Ads. It can also watch those accounts for you, once a day, and say something when a number moves.
What is stored
Adako keeps a rolling 90 days of daily metrics and a snapshot of every campaign, ad group and ad in its own database. Monitors, briefs and reports read that copy, so they make no platform call, consume no tasks, and cannot exhaust an account’s API quota. Live questions still go to the platform.
- Paid plans: a metric sync every day, plus a backfill until the account has 90 days.
- Free: one 90-day snapshot when an account is connected, and no daily refresh.
- Conversions are re-read for the last three days, because attribution arrives late.
The two daily jobs
| Job | When | What it does |
|---|---|---|
| sync | 06:00 UTC | Refreshes the last days per active account and backfills history. |
| monitors | 07:00 UTC | Evaluates every enabled monitor against yesterday in the account timezone, emails the alerts, and sends the briefs that are due. |
Daily, not live
A monitor
A rule is a metric, an operator, a threshold, and how long it must hold.
- Metrics: spend, clicks, impressions, conversions, conversion value, CTR, CPC, CPA, CPM, ROAS, conversion rate, cost per lead, budget utilisation.
- Operators: less than, greater than, changes by, drops by, rises by. A relative threshold compares against the baseline average instead of an absolute number.
baseline_dayssets how much history the baseline averages, up to 90.consecutive_daysrequires the rule to hold several days in a row, which is how you keep one bad Saturday out of the inbox.- Scope it to one platform, one account, and optionally a list of campaigns.
monitoring(action="execute", tool_name="test_monitor",
arguments={"platform": "google_ads", "metric": "cpa",
"operator": "greater_than", "threshold": 80,
"consecutive_days": 2})test_monitor replays the rule over the last 7 days and reports which days would have alerted, with the value and the baseline for each. It is free, so tune the threshold before saving anything. get_monitor_history answers the same question afterwards, with real rows.
When a monitor fires
It emails the operator. If it carries an action, it also creates a proposal: pause that campaign, or lower that budget by a percentage. Nothing runs on its own.
list_pending_actionsshows which monitor, which day, what it wants to change and when it expires.manage_actionapplies or declines one. The same proposal appears at Approvals.- A monitor with an action must name exactly one campaign, so the proposal names one object.
Briefs and reports
schedule_brief: daily or weekly, an hour and an IANA timezone, the platforms and accounts to cover, and where to send it. A daily brief compares yesterday with the day before; a weekly one compares the last 7 days with the previous 7.- Report types:
performance_brief(totals, per account, top campaigns),detailed_analysis(adds the biggest movers),executive_summary(totals and three lines). generate_report_nowcomposes one immediately and stores it with a permanent page. Read them at Reports.list_scheduled_tasksandmanage_scheduled_taskpause, resume or delete a schedule. Pausing keeps the settings.
The job runs once a day, so the hour schedules the day rather than the minute: a brief goes out on the first daily pass at or after your hour.
In the web app
Monitors lists every rule with its state, last run and last fire, and lets you create, edit and switch one off. Reports holds the briefs and reports that have been produced, newest first.
Plans
create_monitor, update_monitor, schedule_brief and generate_report_now need the Pro plan or above, because they depend on the daily sync. Listing, testing, history and the action tools work on every plan. See Pricing.