Claude Prompt for Weekly Paid Media Performance Summary

A production-ready prompt that turns last week's paid media data into a one-page exec summary in under 60 seconds.

Matt Danese

Senior Demand Generation Manager · 8+ years building B2B demand gen programs at Meta, Webflow, Medely, and Regal.ai. Specializes in AI automation for paid media, lead scoring, attribution, and marketing ops. · LinkedIn

Weekly paid media summary: Generate a one-page weekly paid media summary by feeding Claude last week's spend, leads, and CPL by channel. The prompt returns a structured exec-ready summary covering top-line performance, channel-level movement, anomalies worth flagging, and recommended next steps — replacing 2–3 hours of manual reporting with a 60-second workflow for B2B SaaS demand gen managers.

The Prompt

Production Prompt — Copy and use verbatim
You are a senior B2B paid media analyst helping me build a weekly paid media performance summary. You have deep expertise across Google Ads, LinkedIn Ads, Meta Ads, Reddit Ads, and Microsoft Ads (any subset of which may be present in the data — analyze whatever channels appear, ignore the rest). You understand B2B SaaS demand gen — pipeline contribution, MQL/SQL economics, CPL targets, and how seasonality affects each platform.

INPUTS

I will paste raw paid media data from one or more platforms below. The data may include any of the following columns per channel: impressions, clicks, CPC, CTR, spend, conversions, leads, MQLs, SQLs, pipeline, CPL, CPA, and any other columns the platform exported. Each row represents a channel's performance for a specific time period.

I will also include comparison data for prior periods so you can reason about movement on a week-over-week (WoW), month-over-month (MoM), and year-over-year (YoY) basis.

Optionally, I may also paste my own analyst notes ahead of the data — observations I made when I pulled the numbers manually. If notes are present, treat them as a senior analyst's hypothesis to validate, sharpen, or push back on. If no notes are present, do the analysis cold from the data alone.

{PASTE_RAW_DATA_HERE}
{OPTIONAL_PASTE_ANALYST_NOTES_HERE}

WHAT I NEED FROM YOU

Produce a weekly paid media performance summary covering every channel present in the data. Structure the output in this exact order:

1. Executive Summary (3–5 sentences)
The week in one paragraph. Total spend, total leads, blended CPL, and the single most important thing a VP of Marketing would want to know in 30 seconds. Lead with the headline, not the methodology.

2. Channel-Level Breakdown
One section per channel present in the data. Name the channel explicitly (Google Ads, LinkedIn Ads, Meta Ads, Reddit Ads, Microsoft Ads, etc.). For each channel, cover:
   - Spend, leads, and CPL for the period
   - WoW, MoM, and YoY movement on the metrics that matter most for that channel
   - What's working, what isn't, and what the data suggests is driving the movement

3. Anomalies & Watch-Outs
Flag anything statistically unusual or directionally concerning. Distinguish between real anomalies (sustained, significant, hard to explain by normal variance) versus likely noise (day-of-week effects, normal weekly variance on small sample sizes, seasonal patterns, recent campaign launches still ramping). Be explicit about which is which and why.

4. Recommendations
3–5 specific next steps, prioritized. Each recommendation should reference the channel and the specific data point that justifies it. Frame recommendations as proposals to discuss, not directives.

JUDGMENT RULES

- Distinguish between real anomalies and normal variance. A 15% CPL spike on a channel doing 200 leads/week is a signal. A 40% CPL spike on a channel doing 8 leads/week is probably noise — flag the sample size before commenting.
- Consider seasonality and day-of-week effects before concluding something is broken. B2B paid performance varies predictably by weekday, week of month, and quarter.
- WoW tells you about momentum. MoM tells you about trend. YoY tells you whether you're growing or shrinking against a real comparable. Reference whichever timeframe is most informative for each insight — don't mechanically report all three on every metric.
- If I provided analyst notes, your job is to validate, sharpen, or respectfully push back on my read. Do not just restate my notes back to me. If you disagree with one of my observations, say so and explain why the data supports a different read.
- If you don't have enough data to answer something, say so explicitly. Do not infer or invent numbers. "The data provided doesn't include conversion data for LinkedIn, so I can't comment on CPL movement there" is always better than guessing. Be honest with me — hallucinated data is worse than missing data.

OUTPUT FORMAT

Return the summary as {OUTPUT_FORMAT}.

If "markdown": use proper markdown headings (## for sections, ### for channels), bullet points where appropriate, and bold for the single most important number in each section. Optimized for me to edit and paste into a doc.

If "html": use semantic HTML (h2, h3, ul, strong) wrapped in a clean structure I can hand off as a visual deliverable. Inline minimal styling on key metrics. No external CSS dependencies.

Begin.

How to Use It

This prompt is designed for Claude (Sonnet or Opus) and assumes you're feeding it structured paid media data — either pasted directly from a Google Sheet or pulled from a CSV export from each ad platform. It works best when you include week-over-week comparison data so the model can reason about movement, not just absolute numbers. ChatGPT (GPT-4 class or higher) produces acceptable but less nuanced output; in my testing Claude consistently writes summaries closer to how a real demand gen manager would frame the week to a VP of Marketing.

The prompt is designed for a human-in-the-loop workflow. You can run it cold on just raw data, but it produces noticeably sharper output when you paste your own analyst notes alongside the data — observations you made while pulling the numbers manually. The model then validates, sharpens, or pushes back on your read instead of generating commentary from scratch.

The prompt expects three inputs:

{PASTE_RAW_DATA_HERE}

The actual paid media data, pasted as a table or CSV. Include channel name, spend, leads, CPL, and any other columns your platform exports (impressions, clicks, CPC, CTR, conversions, MQLs, SQLs, pipeline). Include comparison data from prior periods (last week, last month, last year) so the model can reason about movement.

{OPTIONAL_PASTE_ANALYST_NOTES_HERE}

Your own observations from pulling the data manually. Leave this blank to run cold, or paste 3–5 sentences of analyst commentary to get sharper, human-in-the-loop output. Examples: "LinkedIn CPL is up but I think it's because we launched two new audiences mid-week" or "Google spend is flat but Meta is overpacing — worth checking pacing."

{OUTPUT_FORMAT}

Either "markdown" or "html". Use markdown if you plan to edit the output before sending. Use html if you're handing the summary off directly as a visual deliverable.

Example Output

Live Example

Example output coming soon — currently running this prompt against live data and will publish the redacted output once it's ready.

Common Failure Modes

More failure modes will be added as I continue running this prompt in production.

Variations

Two variations of this prompt are worth knowing.

Variation 1: Daily standup version

The same logic, scoped to a single day's data and trimmed for length — useful for daily paid media standups instead of weekly exec reviews. If you run daily check-ins on paid performance, this is the version you want.

Coming soon

[PROMPT GOES HERE]

Variation 2: CPL-focused version

Strips out the broad performance summary and zeroes in on cost-per-lead movement by channel — closer in spirit to the CPL Anomaly Detection prompt, but designed for weekly reporting cadence rather than real-time anomaly response.

Coming soon

[PROMPT GOES HERE]

Get one new prompt every Monday.

Plus the system behind it. Free. Built for in-house demand gen managers at B2B SaaS companies.

Subscribe free →

Frequently Asked Questions

Does this prompt work with ChatGPT or only Claude?

It works with both. In side-by-side testing, Claude (Sonnet or Opus) consistently produced summaries with sharper reasoning about week-over-week movement and more accurate phrasing of trade-offs. GPT-4 class models produce usable output but tend to be more generic about anomalies and recommendations. For weekly exec reporting where tone and judgment matter, Claude is the recommended choice.

What data format should I paste in?

A simple table with columns for channel, spend, leads, CPL, and comparison data from prior periods. The prompt assumes structured rows, not narrative descriptions of performance. Pasting raw CSV content, a Google Sheet selection, or a markdown table all work — the model parses any of these formats reliably. Include any down-funnel metrics your platform exports (MQLs, SQLs, pipeline) and the prompt will incorporate them.

How do I customize this for B2B vs B2C or for my specific channel mix?

The prompt is channel-agnostic — it works whether you're running Google, LinkedIn, Meta, Reddit, Microsoft, or any combination. Only include data from the channels you actually run; the prompt will ignore the rest. For B2B, ensure your CPL targets reflect MQL or SQL definitions appropriate to your motion. For B2C, swap CPL framing for CPA or ROAS depending on what your team optimizes against. The structural prompt logic stays the same.

How is this different from manually writing a weekly summary?

Speed and consistency. A manual weekly summary takes 2–3 hours when done well — pulling data, comparing periods, drafting commentary, formatting for the audience. This prompt compresses the drafting and commentary work into a single inference call, leaving you to validate the output rather than generate it from scratch. The quality ceiling is the quality of the data you feed it; the prompt won't invent numbers, but it will reason cleanly about the ones you provide.