Guide

How to automate a monthly client marketing report end to end

A practical, no-fluff guide for performance teams and agencies.

The monthly client report is where reporting debt comes due: restated platform numbers, four-or-five-week months, weeklies that don't sum to the month, and a narrative section written at 11pm on the 2nd. Automating it is mostly timing and arithmetic policy — decided once, run forever. This guide is the month-end close, made boring.

The restatement window decides your run date

Meta credits conversions to impression dates and Google restates modeled conversions for days after month-end. Close the month on the 1st and the numbers are still moving; the client's "final" report quietly disagrees with the platforms a week later. Policy: run the monthly close on the 4th–6th, after the restatement window settles — and write that date into the report's definitions so nobody helpfully runs it early.

Roll-up vs re-pull: pick one, in writing

Two valid ways to compute the month: sum the weekly rows (consistent with what the client saw all month, but inherits any snapshot staleness) or re-pull the calendar month whole (most accurate, but can differ from the weeklies' sum). The wrong answer is doing both implicitly. Most teams should re-pull for the monthly truth and footnote the small, explainable delta vs the weeklies — the footnote turns a credibility problem into a competence signal.

Month boundaries are a definition

Calendar month in the report's timezone; the four-vs-five-ISO-week question resolved explicitly (most client reports use the calendar month and let weeks straddle); multi-currency accounts converted with the month's FX policy, stated. Every one of these is a one-time decision that ends a recurring argument.

The monthly close, step by step

  1. On the policy date, re-validate the report's schema — monthly sections are exactly where structures drift
  2. Re-pull the full calendar month per platform, pinned settings; pull MMP outcomes, deduplicated
  3. Reconcile platform vs MMP for the month; refresh the variance view
  4. Compute monthly KPIs by the stored definitions; compare against targets and prior months
  5. Previewed append into the monthly section — never overwriting the weeklies
  6. Generate the summary skeleton: headline vs target, MoM deltas, exceptions — the human writes the narrative on top

The narrative stays human — but starts warm

The part clients renew for is the three paragraphs of judgment. Automation's contribution is that the analyst writes them against a finished, reconciled month on the morning of the 5th — instead of assembling numbers at 11pm and narrating on fumes.

Example monthly block

Month Spend New customers CAC vs target MoM
April $182,400 11,210 $16.27
May $196,800 12,540 $15.69 −3.6%

QA checklist

  • ✓ Run date on/after the restatement policy date
  • ✓ Monthly total vs summed weeklies: delta computed, footnoted, within the expected band
  • ✓ One KPI recomputed by hand from the month's raw inputs
  • ✓ MoM comparisons use identical definitions both months (diff the definitions block)

When not to automate

A brand-new client whose first two months are still defining the report. Stabilize the structure with them, then put the close on the calendar.

How Opera runs it

The monthly close is a schedule on Opera like any other — timed after restatements, re-pulled whole, reconciled, appended under the monthly section, with the summary skeleton delivered for the human narrative. (Agency-wide version.)

"On the 5th, close out last month for every client: full re-pull, reconciliation, monthly section appended, summaries to me for review."

See this running on your own reports.A 45-minute workflow audit maps your current process and shows exactly what Opera automates — step by step.

Frequently asked questions

Why don't my four weeklies sum to the month?
Restatements (the weeklies were snapshots of settling numbers) plus boundary weeks straddling months. Re-pull the month whole, footnote the delta, and the question answers itself.
When is a month actually final?
Practically, once the platforms' restatement window has passed — a few days in. Your policy date encodes that; anything earlier is a draft.
Can the narrative be automated too?
The skeleton (numbers, deltas, exceptions) yes; the judgment no — and shouldn't be. Clients renew for the thinking, not the prose generation.

Roll Opera out across your roster in 30 days.

A hands-on implementation for a small cohort of agencies: your first clients automated in week one, the full roster on a schedule by week four.