agencies

White-Label PPC Reporting Tool for Agencies: Claude Ads

How agencies use Claude Ads as a free PPC reporting tool: render Markdown, HTML, and PDF client reports from validated run bundles, white-label under MIT.

Agrici Daniel6 min read

Claude Ads works as a free, MIT-licensed PPC reporting tool for agencies. Its /ads report command renders Markdown, HTML, or PDF from one validated JSON run bundle, the structured output an audit or plan run already produced, so the internal doc your team reads and the PDF your client receives cannot disagree on a finding or a number. White-labeling the deliverables under your agency brand carries no per-seat cost.

A PPC report is a document that summarizes paid-ad account performance for a defined period and audience: what ran, what the evidence shows, and what to do next.

That covers the what. The rest of this post covers the part that actually matters for an agency: why the command refuses certain inputs, what survives rendering and what never enters it, how white-labeling works in practice, and how to turn the first audit of every new client into a benchmark you report against for the life of the engagement.

How the PPC reporting tool works: validated bundles only

/ads report accepts a validated, versioned run bundle and refuses loose worker prose. If you paste an analysis a model wrote in chat and ask for a PDF, the command declines, because prose has no schema, no lineage, and no validation behind it.

This feels strict until the first time a client questions a number in a deliverable. With a bundle-backed report, every finding traces to evidence references inside a specific run. With a prose-backed report, the answer to "where did this come from" is a shrug. An agency reselling analysis under its own name cannot afford the shrug.

Before rendering anything, the command confirms the framing: run completeness, evidence coverage, privacy class, branding choice, the requested audience, and the output formats. Only then does it render.

/ads report

  confirms before rendering:
    run completeness      was the run full or partial
    evidence coverage     what the findings actually rest on
    privacy class         what this document is allowed to contain
    branding choice       whether promotional copy may appear
    audience              executive readout or practitioner detail
    output formats        Markdown, HTML, PDF, or any combination

After rendering, structural checks run on every format, visual and layout checks run on HTML and PDF, and the artifacts are written atomically inside the run directory with the run manifest updated to record them. You end with a directory that contains the bundle, the reports rendered from it, and a manifest tying them together.

One bundle, three report formats: Markdown, HTML, and PDF

All formats render from the same canonical data, which turns format choice into a pure audience decision rather than a version-control problem. That holds whether the deliverable is a single Google Ads client report or a readout across all twelve supported platforms.

FormatTypical audienceTypical use
MarkdownYour own teamInternal docs, tickets, project wikis
HTMLClient stakeholdersShareable readouts, portal embeds
PDFExecutives, procurementFormal deliverables, monthly reports, audit sign-off

The useful consequence for agencies: you can generate the internal Markdown and the client PDF from one run, and you can re-export a prior audit or plan in a different format later without re-running anything. A client who asks in March for a PDF of the January audit gets exactly the January findings, because the January bundle still exists and the templates are deterministic.

What survives rendering, and what never enters

Rendering preserves the substance of the run: findings with their confidence levels, evidence references, contradictions, missing inputs, recommended actions with owners, and measurement windows. Claude Ads grades finding confidence as high, medium, low, or none, and grades run coverage from the evidence available. Those grades survive into every format, including the executive summary.

That last point is a contract rule worth naming for client work: the command never hides a partial or insufficient-evidence status in an executive summary. If the run only covered part of the account, the summary the client's CMO reads says so. This will occasionally make a deliverable look less polished than a competitor's confident slide deck. It also means you never have to walk back a claim the tooling smoothed over on your behalf.

Equally important is what stays out. Reports exclude credentials, customer lists, private paths, raw research, and internal agent transcripts. The half-finished reasoning, the connection details, the audience exports that fed the analysis: none of it can leak into a client-facing artifact, regardless of which format you render.

White-labeling under MIT

Claude Ads ships under the MIT license. For an agency, the practical reading is simple: the PPC reporting tool itself has no license fee, no per-seat pricing, and no restriction on using it to produce deliverables you sell under your own brand. The reports you render belong to your engagement, not to the project.

The branding behavior inside the report is deliberate too. Promotional copy about Claude Ads appears in output only when the operator explicitly enables branding. The default deliverable is unbranded, which is exactly what a white-label workflow needs: your logo and your letterhead go on the document, and no third-party tool advertises itself inside your client's audit.

Two honest caveats. First, MIT covers the software; check the license text in the repository yourself rather than taking a blog post as legal advice. Second, white-labeling the report does not white-label responsibility. The findings carry confidence grades and evidence references, and your name is on the cover. Read the bundle before you send the PDF.

The benchmark-on-onboarding pattern

The reporting workflow most agencies converge on with Claude Ads looks like this:

  1. During onboarding, run a full audit across every platform the client is live on, before you change anything.
  2. Render that first run as PDF and archive it. This is the benchmark: the account as you found it, with coverage and confidence stated.
  3. Do the work.
  4. On each reporting cycle, run a fresh audit and render it the same way, then present current state next to the onboarding benchmark.

The benchmark report earns its keep twice. At the start, it separates the problems you inherited from the problems you might later be blamed for, in a document dated before your first change. Over time, it makes progress legible: the same evidence-graded structure, rendered through the same templates, at two points in time. Because prior bundles can be re-exported in any format without re-running, the comparison never depends on someone having saved the right file.

One limit to state plainly: Claude Ads does not compute the delta between two runs for you. The comparison is a presentation step your team does with the two reports. What the tooling guarantees is that both documents are faithful to their underlying evidence, which is the property that makes the comparison honest.

Where this fits, and where it does not

Unlike dashboard-style PPC reporting software, /ads report is a rendering step, not an analysis step. It will not improve a weak run, and it refuses to dress one up: a partial audit renders as a partial audit. If the evidence coverage is graded insufficient, the fix is a better run with better source data, not a nicer template. Agencies that treat the report command as the last step of a disciplined pipeline, setup, audit, plan, then report, get deliverables they can defend line by line. Agencies hoping it will turn thin analysis into a thick PDF will be disappointed on purpose.

Try it

Claude Ads is free and open source: 12 platforms, 33 skills, read-only by default. Install it from the plugin marketplace inside Claude Code:

/plugin marketplace add AgriciDaniel/claude-ads
/plugin install claude-ads@ai-marketing-hub-claude-ads

Setup details, credential profiles, and platform connections are on the install page. Run your first audit on a real account, then render it with /ads report in Markdown for your team and PDF for the client. The fastest way to trust the contract is to watch the executive summary refuse to hide a gap you already knew was there.