YouTube Ad Campaign Reports

Weekly reporting on the YouTube ad campaigns we run for B2B Better clients: spend, performance, what is working, and where to go next. Built from live Google Ads data plus each channel's YouTube analytics.

How it works
01
Pull
Campaigns, spend, KPIs and creative video thumbnails come live from the Google Ads API. Channel stats (subscribers, views, watch time) come from a weekly YouTube Studio CSV export.
02
Analyse
Claude reads the combined data and writes the judgement sections: what is working, what is not, and the recommended next steps.
03
Render
A branded HTML report (and a one-page PDF) is generated, answering the five client questions, with hover explainers on every metric.
04
Deliver
The report posts to Slack for internal review, then goes to the client. Every run is archived and linkable.
What's in each report
At a glance
Headline KPIs plus the YouTube channel box (subscribers / views / watch time, with week-on-week change).
How these campaigns work
The funnel strategy for that client (Shorts, bite-size, long-form). Config-driven.
Live campaign status
Every active campaign, its type and status, impressions and views.
Spend to date, by campaign
Per-campaign spend, views, view rate, CPV and conversions, with totals.
Ads in market
The current YouTube video creatives per campaign, as clickable thumbnails with titles.
Episode spotlight
A focus episode's funnel drop-off, highlighting where it leaks.
Analysis & next steps
Claude's read on what is working and prioritised recommendations.
Your questions, answered
An optional appendix answering specific client questions, with rationale.
Clients1 live / 2 total
Data in Biotech
CorrDyn
Onboarding
No reports yet
The Automation Journey
Rocrich AGV Solutions
Live
For the team

Generating a report

  • Drop the week's YouTube Studio exports into inputs/<client>/wc-YYYY-MM-DD/
  • Run npm run run-report configs/<client>.yaml
  • Run npm run export-pdf <client> for the PDF

Data sources

Google Ads: live via API (campaigns, spend, KPIs, creative thumbnails). YouTube channel: manual Studio CSV export (subscribers, views, watch time, week-on-week, video titles).

Access you'll need

  • Repo + Railway access (credentials live in Railway env vars)
  • YouTube Studio access to each client channel (to export the CSVs)
  • Google Ads + Anthropic credentials are already configured

Adding a client / docs

New client = a config in configs/ + a logo at clients/<slug>/logo.jpeg; it appears here automatically. Full setup, config schema and gotchas are in ads-report/CONTEXT.md.