Campaign reporting
Builds the weekly campaign report from one agreed set of channel numbers, so the meeting starts from the same figures instead of five screenshots.
Tools
Google Analytics 4, Google Ads, Meta Ads, Amplitude, Dreamdata
Outcomes
One agreed set of weekly numbers • Reports take minutes, not an afternoon • Channel gaps named with a reason • Decisions start from the same figures
Documentation
Instruction-ready detail below
Reporting is where marketing hours disappear, because every ad platform counts conversions its own way and whoever assembles the deck has to reconcile them by hand. This workflow pulls the week's numbers from the web analytics, the ad accounts, and the attribution model at the same cut-off, and puts every channel on one definition of a lead with the same window and the same exclusions. It writes the figures into the same report format as last week, so a drop reads against the number it followed rather than against nothing. Anything the platforms disagree about by more than the usual amount is listed as a gap with a likely reason attached, and the questions a reader will ask sit at the top as prompts rather than as conclusions. The draft is written for someone to comment on, not to present as finished. What a human still decides is what the week means, which gap matters, and what to change next; the workflow assembles the same numbers in the same place and stops there.