Flight log / Transmission 062
A PPC report template your CEO will actually read
Think Apollo 13: the room didn't need every gauge on the ship, just the few that said whether the crew could get home. A good PPC report works the same way, on 1 page: 3 sentences, 7 numbers, and a list of what you're doing next.
> A PPC report template for a CEO fits on one page: a three-sentence headline, a scorecard of 7 numbers against last period and target, qualified pipeline by campaign type, a trend chart, what changed and why, and next moves with owners. Platform metrics like CTR and CPC go in an appendix for the team.
Most PPC reports are built for the person who wrote them. They open with impressions, move through CTR and average CPC, and end with a slide of search terms. Every number is correct and none of them answer the question a CEO or founder actually has: is paid search producing pipeline at a cost we can afford, and what are you doing about it?
This post is the template we'd hand any B2B team spending somewhere between $5K and $100K a month on Google Ads or Microsoft Ads. It's laid out below as the sections and tables of the report itself, so you can copy the structure into whatever doc or slide your leadership already reads. No dashboards, no downloads. For the account strategy behind the numbers, start with the B2B PPC playbook.
// 01 · the briefingWhat should a PPC report answer?
Three questions, in this order:
- Did paid search create qualified pipeline at an acceptable cost? One number for volume, one for efficiency, both against a target.
- What changed, and why? The two or three things that moved the numbers, including things outside the account like a pricing change or a sales team that stopped following up.
- What happens next? Specific actions, an owner, and what you expect each one to do.
Anything that doesn't help answer one of those goes in the appendix. That's the whole philosophy. The rest of this post is the layout.
If the CEO has to ask "so is it working?" after reading your report, the report didn't work.
What goes in a PPC report template?
Seven sections. The first five fit on one page; the last two are for the team. Every number in the examples below is from a hypothetical B2B software company spending $40,000 a month on search, with an average opportunity worth $30,000. Swap in your own.
Section 1: the headline
Three sentences, written last, read first. Sentence one is the result against target. Sentence two is the main reason. Sentence three is the next move. Here's the hypothetical October version:
Paid search created 40 qualified opportunities at $1,000 each in October, up from 34 at $1,132 in September, just short of our 42 target. Non-brand search drove half of them after we split the "compliance software" ad group by industry. In November we're moving $3,000 from Performance Max into non-brand and expect cost per opportunity to stay under $1,000.
If you can't write those three sentences, the account has a measurement problem, not a reporting problem. Fix that first.
Section 2: the scorecard
Seven numbers, each against last period and target. Leads are on the card, but they're not the headline: in B2B, the qualified opportunity is the unit that matters, and cost per lead without a quality check is how accounts end up buying cheap form fills. Our cost per lead guide covers that trap.
| Metric | October | September | Target | Status |
|---|---|---|---|---|
| Spend | $40,000 | $38,500 | $40,000 | On plan |
| Leads | 410 | 395 | n/a | Context only |
| Cost per lead | $98 | $97 | n/a | Context only |
| Lead to qualified opportunity rate | 9.8% | 8.6% | 10% | Improving |
| Qualified opportunities | 40 | 34 | 42 | Slightly behind |
| Cost per qualified opportunity | $1,000 | $1,132 | $950 | Behind, improving |
| Pipeline created (40 x $30K) | $1.2M | $1.02M | $1.26M | Slightly behind |
Notice what isn't there: impressions, CTR, average CPC, Quality Score. They're inputs. They explain the scorecard; they don't belong on it. The PPC KPIs post sorts the metrics that matter from the ones that just look busy.
Section 3: pipeline by campaign type
One chart that answers "where is the money going, and where is the pipeline coming from?" Compare each campaign type's share of spend with its share of qualified opportunities. In the hypothetical account below, non-brand takes 55% of spend and returns 50% of opportunities, which is roughly fair. Performance Max takes 15% of spend and returns 7.5%, which is the conversation for this month.
- Share of spend
- Share of qualified opps
Illustrative data, not from a real account.
View data
| Share of spend | Share of qualified opps | |
|---|---|---|
| Brand | 7.5% | 22.5% |
| Non-brand | 55.0% | 50.0% |
| Competitor | 12.5% | 7.5% |
| Performance Max | 15.0% | 7.5% |
| Remarketing | 10.0% | 12.5% |
Brand looks like the hero here, with 7.5% of spend and 22.5% of opportunities. Say so, and say why: brand searchers already know you. Most of those opportunities would likely have arrived anyway, so brand should be reported but never used to justify the rest of the budget. Brand gets its own line so it can't quietly prop up the average.
Then translate the same data into cost per qualified opportunity, the efficiency number from the scorecard broken out by type:
In this illustrative month, Performance Max costs $2,000 per qualified opportunity, twice the blended $1,000, and competitor campaigns cost $1,667. That's where the "next moves" section should point. With 3 opportunities each, though, both numbers are thin, which is why the report should say "3 opportunities" next to the cost, not just the cost.
Section 4: the trend
One line chart: qualified opportunities and cost per qualified opportunity over the last 6 to 12 months. Not weekly, not daily. Leadership is deciding budget, and budget decisions are made on months. Add a marker for anything that changed the line, like a new campaign, a bid strategy switch or a landing page launch.
There's one trap in this chart, and it gets its own section below: the most recent period is always incomplete.
Section 5: what changed and why
A short list, three to five bullets, each one a cause tied to a number. Good: "Split the compliance ad group into 3 industry ad groups on Oct 6; cost per opportunity in that group fell from $1,400 to $1,050." Bad: "Optimized bids and keywords." Include changes outside the account. If sales took 4 days to follow up on leads in week 3, the report should say so, because it moves the qualified rate and it isn't a PPC problem.
Section 6: next moves
The section a CEO actually acts on. Each row is a decision, with an owner, an expected effect and a date when you'll check it.
| Action | Owner | Expected effect | Review date |
|---|---|---|---|
| Move $3,000 from Performance Max to non-brand | Paid search lead | Hold cost per opp under $1,000 at the same volume | Dec 5 |
| Rewrite competitor ads and send them to a comparison page | Paid search lead + content | Lead to opp rate from 5% toward 8% | Dec 5 |
| Import "qualified lead" status from the CRM daily | Marketing ops | Bidding learns from opportunities, not form fills | Nov 20 |
| Decision needed: approve a $5,000 test budget for Microsoft Ads | CEO | Incremental opps at or below $1,000 | Jan 9 |
Put decisions you need from leadership in this table, clearly marked. A report that asks for nothing gets skimmed. A report that asks for a decision gets read.
Section 7: the appendix
For the team, not the CEO. This is where impressions, CTR, average CPC, impression share lost to budget and rank, Quality Score, search terms and asset performance live. They're the diagnostics you use to explain sections 2 through 5. If someone wants to know why non-brand cost per opportunity moved, the answer is here. Impression share lost to budget is usually the most useful number back there.
The appendix is where CTR goes to be useful. On page 1 it's just a big number that went up.
Why do the most recent weeks always look worse?
Because of how Google Ads dates conversions. Google's help page on conversion tracking data says the standard conversion columns are calculated based on the time of the click, not the time of the conversion. A lead who clicks on October 28 and books a demo on November 10 shows up as an October 28 conversion, but only after November 10.
That's fine for a two-minute form fill. It's a real problem for qualified opportunities imported from a CRM, which can land weeks after the click. Google's default click-through conversion window is 30 days, and it can be set up to 90 days depending on the conversion source. Its offline import guidelines say conversions uploaded more than 90 days after the last click won't be imported, and the limit is 63 days for enhanced conversions for leads.
Here's what that does to a weekly trend in a hypothetical account: the same 8 weeks of qualified opportunities, as first reported versus as they looked 60 days later.
- As reported at month end
- Same weeks, 60 days later
Illustrative data, not from a real account.
View data
| As reported at month end | Same weeks, 60 days later | |
|---|---|---|
| W1 | 9 | 9 |
| W2 | 10 | 10 |
| W3 | 9 | 9 |
| W4 | 10 | 11 |
| W5 | 9 | 10 |
| W6 | 7 | 10 |
| W7 | 4 | 9 |
| W8 | 1 | 10 |
In this illustrative account, the first-look line appears to fall off a cliff in the last 3 weeks. Nothing happened. Those weeks simply haven't finished converting. A CEO who sees that line will ask why paid search broke, and a team under pressure will start cutting bids on campaigns that were working.
Three ways to handle it in the report:
- Report closed periods. Judge efficiency on a month that ended at least one typical sales lag ago, and label the current month as "in progress."
- Show the lag openly. Shade or footnote the incomplete weeks so nobody reads them as a trend.
- Use the conversion time columns for pacing. Google offers "by conv. time" versions of the conversion columns, which count conversions on the day they happened. They're better for "how many opportunities did we get this week," worse for judging which clicks produced them.
How often should you send a PPC report?
Two cadences work for most B2B teams:
- Weekly pulse, for the team: 5 lines in Slack or email. Spend pacing, leads, anything broken (tracking, disapprovals, a budget cap), and what you changed. No pipeline judgments; the data isn't complete yet.
- Monthly report, for leadership: the one-page template above, sent within the first week of the month, judged on closed periods.
Quarterly, add a page on whether paid search is incremental at all, since platform-reported conversions include people who would have converted anyway. The incrementality testing post covers how to check without a data science team.
For the weekly pulse, Google Ads can do the delivery for you. Its help page on creating and managing reports says you can email a saved Report Editor report to one or more account users on a schedule, such as daily or weekly, in formats such as CSV, with schedules starting at 3 AM in the account's time zone. That covers the appendix data. The headline, the "what changed" section and the next moves still need a human.
// 05 · pre-flight checklistWhat data do you need before the template works?
The scorecard depends on knowing which leads became qualified opportunities. If that lives only in your CRM, the report becomes a manual join every month, and the bidding algorithm never learns what a good lead looks like. Google Ads supports importing offline lead stages as "qualified lead" and "converted lead" goals, from a CRM or a file, as described in its help page on qualified and converted leads.
- One primary conversion per stage, named plainly: "Demo request," "Qualified lead," "Closed won."
- Click IDs or hashed lead data saved with each lead so offline stages can be matched back. Enhanced conversions for leads is Google's current route for the hashed version.
- A shared definition of "qualified" that sales and marketing both sign. If it changes, note the date in section 5.
- An agreed average opportunity value if you report pipeline. Finance should own that number, not the PPC team.
Where this template breaks down
- Very low volume. Below roughly 10 qualified opportunities a month, cost per opportunity swings wildly from one deal. Report it on a rolling 3-month basis and say so.
- Long sales cycles. If opportunities take longer than the 90-day import limit to qualify, Google Ads will never see some of them. Report pipeline from the CRM directly and use an earlier stage for bidding.
- Platform-reported pipeline isn't proof. Every number here is what Google Ads attributes to itself under your attribution settings. It's a good operating view, not a causal one.
- One page means choices. Someone will want CTR back on the front page. Hold the line, and point them to the appendix.
A shorter report is harder to write and easier to trust. That trade is the job.
Something's warming up on the launch pad.
We're building something for people who read posts like this. Early access opens in waves.
Early access, by invitation.
FAQ
What should a PPC report include?
A short headline, a scorecard with spend, leads, qualified opportunities, cost per qualified opportunity and pipeline against last period and target, results by campaign type, a trend, a log of changes and the next actions. Clicks, CTR and CPC belong in an appendix.
How often should you send a PPC report?
A weekly pulse of a few lines for the team and a monthly one-page report for leadership works for most B2B accounts. Weekly pipeline numbers are too noisy and too incomplete to judge strategy on.
Why do recent weeks look worse in Google Ads?
Google Ads reports conversions against the time of the click, not the time of the conversion. Leads that convert days or weeks after the click get added to older dates, so the most recent weeks are always undercounted at first.
Can you schedule reports in Google Ads?
Yes. In Report Editor you can email a saved report to one or more account users on a schedule, such as daily or weekly, in formats such as CSV. Schedules for an account start at 3 AM in the account's time zone.
Should a PPC report show ROAS?
For B2B lead gen, only if the conversion value is real revenue or pipeline imported from your CRM. A ROAS built on a guessed lead value tells leadership very little; cost per qualified opportunity is usually clearer.