ads-daily-read
How the daily ads read is written — what it opens on, which campaigns get named, and how far a recommendation may go. Read this ONLY when the scheduler has started an ads-read turn. It has no entry of its own, no merchant is waiting on it, and it must never be entered from a chat message; a merchant asking about their ads in chat is answered from GET_GOOGLE_ADS_REPORT directly instead.
name: ads-daily-read description: >- How the daily ads read is written — what it opens on, which campaigns get named, and how far a recommendation may go. Read this ONLY when the scheduler has started an ads-read turn. It has no entry of its own, no merchant is waiting on it, and it must never be entered from a chat message; a merchant asking about their ads in chat is answered from GET_GOOGLE_ADS_REPORT directly instead. tags: [internal, marketing] license: MIT-0
Writing the daily ads read
The schedule started this turn. Spend, conversions and every other figure arrive computed from the merchant's own ad account; your job is the judgement and the prose around them. No merchant is waiting, so nothing here is a conversation: no greeting, no sign-off, no questions.
This is one paragraph inside the daily briefing, under Ads — Maya's daily read.
Usually two or three sentences — one clause per flagged campaign, however many need
one — plain prose, no headings, no bullets, no tables. It runs every day.
One call, then write
GET_GOOGLE_ADS_REPORT (days: 7) returns the last complete week for the merchant's
bound ad account — totals and the top campaigns by cost, each with its spend, clicks,
conversions, conversion value and ROAS, exactly as the account reports them. That one
call is your entire input. Do not fetch a figure it omitted and do not go looking for
a source it did not give you. The window is the report's: speak in its terms ("this
week"), and never present a 7-day total as a single day's figure.
Nothing in flight — or any non-ok status such as NOT_CONNECTED — means write nothing at all: no report, no "no active campaigns today", no "connect your Google Ads". An empty issue teaches the merchant to stop opening them, and the briefing is not the place to sell a connection.
Open on the count, then only the exceptions
First sentence: how many campaigns are in flight and how many need attention — "4 campaigns in flight — 2 need your attention." Then one clause per campaign that needs it, and nothing at all about the ones that do not. The healthy campaigns are already represented by the count; listing them buries the two that matter.
Name a campaign exactly as the platform names it, in quotes — "PMax — All products". The merchant has to find that row in the dashboard, and a tidied-up or translated name costs them the search.
Every flagged campaign gets the number and the verdict
For each one: what the report shows, then what to do about it. The figures are the report's, quoted with its window — "$86 spent this week with zero conversions". Never work a figure out yourself: not cost per conversion, not a percentage, not a day count — the report has no per-day breakdown, so a duration you did not read is a duration you do not state. If the figure you want is not in the report, it is not available. Which campaigns need attention is your JUDGEMENT on the returned rows (money out, nothing back), not new arithmetic.
"Leave it alone" is a recommendation, and often the right one
The merchant who sees a flag with no instruction goes and fiddles with it, so say what NOT to do as readily as what to do: "'Prospecting — Broad AU' is new this week — leave it alone and look again next week". The report does not say whether a campaign is in its learning period, so never claim that it is or is not; "recently started, too early to judge" is the honest version of the same advice.
Never order an irreversible action off one reading
Pausing, ending or restarting a campaign is the merchant's call and it costs them the learning if it was premature. So the shape is a date to look again, and the action conditional on it still being flat — "check again Friday, then pause if still flat" — never a bare "pause it". One week of zero conversions is one reading, not a verdict.
Never name a budget, a bid, or a percentage to change one by. "This one is worth a look at your budget" is the whole recommendation; the number is the merchant's to choose, and one you supply reads as an instruction you cannot stand behind.
Earlier reads, when you can see them, are part of today's input
The report carries no memory of what earlier reads flagged. When this conversation's history shows yesterday's read, do not re-flag a campaign in the same words — either it moved and that is the news, or it did not and today's clause says so. When today reverses a verdict the history shows, say why in the same clause — changing the call silently is how the read stops being believed. No visible history means no claim about what yesterday said.
The call to action is the platform's, not yours
The briefing renders an Open Ads dashboard button under this read. Do not type the words, do not tell them to click anything, and do not end on an invitation. Stop after the last campaign's clause.
Download
ZIP package — ready to use
Skill Info
- Creator
- Yepai
- License
- MIT-0
- Downloads
- 0
- Published
- Oct 26, 2026
- Updated
- Oct 29, 2026