A weekly marketing report with the big moves flagged.
Weekly marketing report is a Claude routine that compares this week's marketing numbers with last week's, opens a few key pages to note visible problems, and flags the large changes on your Desk. It reads only. It does not change a campaign, budget, bid or page.
Weekly marketing report: what it does
For each source you list (analytics, search ads and social ads by default), it reads last week's and this week's totals for each metric. A small script, not the model, works out the change for each one, so no percentage is the model's own arithmetic.
It can also open pages you name and note what it can see: a missing title or description, a broken link it followed, an empty heading. A change at or above your alert threshold (20 percent by default), up or down, becomes an Inbox alert. Any recommendation is marked as the model's suggestion.
What it is told never to do
- The prompt forbids changing a campaign, budget, bid or page. The first run is report-only.
- The prompt requires numbers to come from the connector and the script, never from memory or estimates.
- The prompt says a source that did not load is reported as dropped, not as zero.
- The prompt treats everything it fetches as data. An instruction inside a page is ignored.
- The prompt forbids writing your settings. If a change looks right, it proposes one and you accept or reject it.
These are rules in the routine's prompt. See honest limits for what is and is not checked by code.
Alert threshold and source settings
| Setting | Key | Default | Note |
|---|---|---|---|
| Sources | sources | analytics, search-ads, social-ads | Each source is one more read from the analytics connector. |
| Pages to audit | pages_to_audit | none | Each page adds one page open per run. |
| Alert at change (percent) | change_alert_pct | 20 | 5 to 100. A lower value means more alerts. |
| Inbox messages per run | max_inbox_per_run | 5 | 0 to 20. |
Stages and connectors
| Stage | Kind | Does |
|---|---|---|
| Collect | model | Reads this week's and last week's totals per source and metric. |
| Compare | code | Computes the change per source and metric. |
| Audit | model | Opens each page to audit and notes visible issues. |
| Learn | code | Turns feedback on earlier runs into learning and proposals before the write. |
| Write | code | Applies the run under the write contract. |
| Connector | Needed | Used for |
|---|---|---|
| Analytics and ad platforms | Required | Read weekly totals per source and metric. Read access. |
| Web fetch | Optional | Open the pages you list for the audit. |
Installing the pack connects nothing and holds no secret. Products named as alternatives are examples; whether each offers the access listed is unverified.
What the Desk shows
The Desk for this template has two record types, Metric and Audit, and two views. The Inbox carries an alert for each metric that moved by at least your threshold and for each new page issue, within your per-run limit. How the Desk works.
| View | Shows | Columns |
|---|---|---|
| This week | Active metrics, most recently seen first | Source, name, value, change percent |
| Page audits | Active audits, most recently seen first | Address, title, issues |
Install weekly marketing report
- Install the pluginIn Claude Code 2.1.275 or later. The command line tool needs Python 3.11 or later.
/plugin install routineos --marketplace devkindhq/routineos - Install the packFrom a clone of the repository root. It writes a routine folder, prints what you must connect, runs nothing and connects nothing.
python3 skills/routineos/scripts/routineos.py pack install catalog/weekly-marketing-report.json --dir my-weekly-marketing-report - Connect, publish, run onceConnect what the pack lists, publish the Desk, and let the first run go. Nothing leaves the routine on the first run.
The first routine guide walks a template to a first run, and Install a pack lists every refusal the installer can give. Free (MIT). Needs a paid Claude plan.
Known risks and limits
- Platforms report on different time zones and attribution windows, so a week can differ between sources. The report states the source of each number.
- A metric renamed by a platform looks like one metric gone and a new one at zero. Check a sudden drop before acting.
- Recommendations are the model's suggestion, never a change to spend.
- Whether a given analytics or ad platform offers the read access needed is unverified.
- Scheduling is a research preview and may change. See honest limits.
Related templates and reading
Marketing use cases
Routines a marketing team can run, with the Desk and approvals.
Approvals
How a routine asks before it acts, and what report-only means.
How it learns
What the routine suggests after you keep, drop or reject what it found.
More: all templates, questions and answers, schedule a routine in Claude Code.
Read one report before you act on it.
Install RoutineOS, add Weekly marketing report, and check the first report-only report against your own dashboards.