# How to Write a Campaign Post-Mortem (Sections, Example, and Mistakes)

> How to write a marketing campaign post-mortem: what to include, the section order, a worked example with budget vs actuals and ROAS, and the mistakes that make post-mortems useless.

Source: https://buildpdfs.com/guides/how-to-write-a-campaign-post-mortem
Published: 2026-10-12

> **How do you write a campaign post-mortem?** Compare what you planned with what happened, then explain why. Start with the goals and the headline result, show budget vs actuals by channel, and list what worked and what did not, with a root cause for each. End with action items that have an owner and a due date. Write it within two weeks of the campaign end, while the data and the memories are fresh.

A post-mortem is not a victory lap and not a blame session. It is the document that makes your next campaign better than this one. If nobody changes anything because of it, it was a report, not a post-mortem.

This guide covers what to include, the section order, a worked example, and the mistakes that make post-mortems go unread. If you want a finished layout to fill in, the [campaign post-mortem template](/templates/campaign-post-mortem) already has every section below.

## What is a campaign post-mortem?

A campaign post-mortem (also called a campaign retrospective or wrap report) is a structured review written after a marketing campaign ends. It answers four questions:

1. What did we set out to do?
2. What actually happened?
3. Why did it happen?
4. What will we do differently next time?

The fourth question is the reason the document exists. The first three are the evidence for it.

## What to include in a campaign post-mortem

| Section | What it answers | Typical length |
|---|---|---|
| Headline results | Did the campaign hit its goal? | 3-4 numbers |
| Campaign overview | Objective, dates, budget, team | Half a page |
| Budget vs actuals by channel | Where the money went and what it returned | One table |
| Timeline | Which days or moments drove results | One table |
| Channel breakdown | How each channel performed and why | Half a page per channel |
| What worked | Tactics to repeat | 3 items |
| What did not work | Tactics to fix or drop, with root cause | 3 items |
| Action items | Who does what, by when | 3-6 items |

### Headline results

Put the answer at the top. Three or four numbers: total revenue (or leads, or sign-ups), return on ad spend or cost per acquisition, and the result against the target. A busy executive should get the verdict from this strip alone.

### Campaign overview and objectives

Restate the original goals in numbers. "Grow awareness" is not a goal you can review. "Hit $80K revenue on a $22K budget (4x ROAS)" is. If the goals were vague at launch, say so. That is a learning too.

### Budget vs actuals by channel

This is the core table. For each channel, show budget, share of total, revenue (or conversions) attributed, ROAS or CPA, and a short verdict against target. State your attribution model in one line. Last-click and platform-reported numbers often disagree, and readers need to know which one you used.

### Timeline

A short table of dates, events, and results. It shows which moments drove the campaign, such as an early-access email, launch day, or a final-hours push. It also makes it easy to see when something broke.

### Channel breakdown

For each channel: spend, results, the best and worst performing ad or asset, and the reason. Keep it to what changes a decision. A list of every metric the platform exports is noise.

### What worked and what did not

Pick three of each. For each item, give the result in a number and the cause in one or two sentences. "Google Shopping underperformed" is an observation. "Product titles used internal names, not the words buyers search for" is a root cause you can fix.

### Action items

Each action needs an owner, a due date, and a clear done state. "Improve landing pages" is a wish. "Build one landing page per ad set that matches the ad headline. Owner: Creative lead. Due: 15 October" is an action.

## How to write a campaign post-mortem, step by step

1. **Pull the plan.** Find the original brief, media plan, and targets. You review against what was promised, not against what you remember. If you planned the campaign with a [media plan](/templates/media-plan), start there.
2. **Export the data once.** Pull final numbers from each platform and your analytics tool on the same day, with the same date range and attribution window. Note the window in the document.
3. **Fill the budget vs actuals table first.** It shows you where the story is. Big gaps between channels are where your analysis should go.
4. **Run a short team retro.** Ask the people who ran each channel what surprised them. Many root causes, such as a feed that was never audited or an ad set pointed at the wrong page, are not visible in dashboards.
5. **Write the root causes.** For each miss, ask "why" until you reach something the team controls.
6. **Turn every learning into an action.** If a learning has no action, either add one or cut the learning.
7. **Write the summary last.** Once the detail is done, the headline and the three-sentence verdict are easy.
8. **Share it and book the follow-up.** Put the action due dates in the calendar. Review them before the next campaign brief.

## Campaign post-mortem example

Here is a short example. The company and numbers are invented to show the format. It follows the same structure as the pre-filled example in our [campaign review layout](/templates/campaign-post-mortem).

**Campaign:** Summit Gear Co., Black Friday / Cyber Monday, 9 days. **Goal:** $80K revenue on $22K spend (4x ROAS) and 1,500 new email subscribers.

**Headline:** $94,200 revenue at 4.28x ROAS. 1,840 new subscribers. Both goals met.

| Channel | Budget | Revenue | ROAS | vs 4x target |
|---|---|---|---|---|
| Meta (FB + IG) | $12,000 | $45,600 | 3.8x | Slightly below |
| Email | $4,000 | $38,000 | 9.5x | Well above |
| Google Ads | $6,000 | $10,600 | 1.77x | Well below |
| **Total** | **$22,000** | **$94,200** | **4.28x** | **Above** |

**What worked:** An early-access email sent three days before Black Friday brought in $12K with no ad spend. Carousel ads showing the product in use beat single-image ads on click-through rate.

**What did not work:** Google Shopping titles used internal product names, so the ads missed holiday search queries. Three Meta ad sets sent traffic to generic category pages instead of the product shown in the ad.

**Action items:**
- Audit and rewrite the Shopping feed titles. Owner: Paid Search Manager. Due: 1 August.
- Build one matched landing page per ad set. Owner: Creative lead. Due: 15 October.
- Make non-opener suppression a default step in the email send checklist. Owner: Email lead. Due: 28 February.

Note that the campaign beat its target overall, and the post-mortem still spends most of its words on what went wrong. That is correct. The wins tell you what to repeat. The misses tell you where the next campaign's extra revenue is.

## Common mistakes

- **No baseline.** Results without a target or a prior-period comparison cannot be judged. Always show "vs plan" and, if you have it, "vs last year".
- **Mixed attribution.** Adding up platform-reported revenue across channels usually counts some sales twice. Pick one source of truth and say which.
- **Observations instead of causes.** "CTR was low" is a symptom. Find the reason.
- **Blame.** Write about the process, not the person. People hide problems from post-mortems that punish them.
- **Action items with no owner.** These do not get done. Every action needs a name and a date.
- **Too late.** After a month, the people who know why something happened have moved on to the next launch.
- **Too long.** If the doc runs past ten pages, the action items get buried. Move raw exports to an appendix.

## How long should a campaign post-mortem be?

For most campaigns, 3-6 pages is enough. A small campaign on one or two channels can fit on two pages: a results strip, one table, three wins, three misses, and the actions. A large multi-channel launch may need a page per channel. Whatever the length, the first page should give the verdict on its own.

Share it as a PDF. A PDF keeps the tables and charts intact, prints cleanly for review meetings, and does not change after you send it. For a regular rhythm of reporting between campaigns, a [monthly marketing report](/templates/monthly-marketing-report) covers the ongoing view, and the post-mortem covers the single campaign. You can find both in [all marketing report templates](/templates/category/marketing-reports).

If the post-mortem goes to a client, the advice in [how to present a report to a client](/guides/present-report-whitepaper-to-client) applies: send it before the meeting, then walk through the actions, not every chart.

## Write your post-mortem with BuildPDFs

With BuildPDFs, you describe the campaign: goals, channel spend, results, and what the team learned. You can paste numbers straight from your exports. The AI drafts the full post-mortem on the campaign post-mortem template, with the results strip, the budget vs actuals table, wins, misses, and action items in place. You edit anything in chat or directly on the page, then export a print-ready PDF. For other report types, the [AI document generator](/ai-document-generator) works the same way.

## FAQ

### What is the difference between a post-mortem and a campaign report?

A campaign report describes results. A post-mortem explains why the results happened and what you will change. A post-mortem always ends with action items. A report often does not.

### When should you write a campaign post-mortem?

Within two weeks of the campaign end. Wait long enough for final conversions and returns to settle, but not so long that the team forgets the details.

### Should you write a post-mortem for a successful campaign?

Yes. A successful campaign still has channels that underperformed and tactics that worked by luck. The post-mortem makes the wins repeatable on purpose.

### Who should write the campaign post-mortem?

Usually the campaign owner or marketing manager writes it, with input from each channel lead. The owner keeps it consistent. The channel leads supply the root causes.
