Reporting: weekly and monthly, who writes what, by when
Alex, 18 Sep 2026: "an AM will have to do reporting, once a week and every month. the reports should be created by the stakeholders, the media buyer side needs to create the report, but we don't have good reporting templates and it's causing a lot of issues for the team."
The template is the client's Report tab in the portal (/clients/<client>/report). The numbers are already in it. Nobody types a figure. The people below add their lines, in the brackets, and the AM sends. The shape is fixed and is the same for every client; a client on content gets the content version automatically.
Weekly, every Monday, WhatsApp
| Who | Does | By |
|---|---|---|
| Portal | Spend, days elapsed, results and cost per result for the month so far, as a ready message on the Report tab | Always current |
| Media buyer | One line in the AM's ClickUp "Month — AM" task: what changed on the account this week and what he is watching | Monday 10:00 |
| AM | Pastes the message, adds the buyer's line in the client's words, sends to the group. Ticks "weekly update" on the month task | Monday 12:00 |
A content client's Monday message is what was delivered, what is in edit, what we need from them. Same tab, same time.
Monthly, on the client's billing cycle, deck
| Who | Does | By |
|---|---|---|
| Portal | Part 1 (what happened), Part 3 (what we cannot see), the internal block | Day 1 of the new cycle |
| Media buyer | Part 2, first bracket: the decisions of the month and why, three lines, from the decisions log | Day 2 |
| Creative strategist | If creative was made: which angles ran, what to make next, two lines | Day 2 |
| AM | Part 1 opening: two sentences, the outcome in the client's words and the one reason. Part 2 closing: what the client will see change, matched to what they said they want. Reconcile against Ads Manager per the reconcile SOP. Build the deck from the tab, drop the internal block, send to the group and email. Tick "monthly report" | Day 3 |
| Alex or Junkai | Read the internal block for any account marked not trustworthy or going badly. Nothing else | Day 3 |
The deck is three slides plus a cover. Cover with the date range. Slide 1, what happened. Slide 2, what we are doing next. Slide 3, what we cannot see, only if there is something. The existing client reporting SOP still applies for tone: write the answer, not the metrics; do not recommend work nobody agreed to; two narratives, external and internal.
Rules
- The date range is on every report. The billing cycle is the client's, not the calendar's.
- Nothing goes to a client with the "numbers not trustworthy" line still showing on the tab. Fix the cause or say what cannot be seen; never delete the section.
- The internal block is never sent. It is for the AM and the founders.
- A report is late if the deck is not sent by day 3 of the cycle. The month task shows it.
- The buyer's decisions come from the decisions log in the portal. If the log is empty for the month, the buyer did not record his decisions, and that is the first thing to fix, not the report.
What the numbers are and are not
Spend, results and cost per result are Meta's, pulled every three hours, at ad level, reconciled to account level on the tab. Creatives live and angles shipped are the portal's own records. Pieces delivered are Frame.io files matched to the client. Organic figures are account-level and the client posts things we did not make, so the tab states both facts and never claims the link.
Related: media-buying-reporting.md (tone and audience), report-completeness.md, report-reconcile.md, report-draft.md, day-as-usual.md.