Template · Updated

Newsletter reporting: a report template, the formulas and a filled-in example

A newsletter reporting template to copy: per-issue and monthly tables, the formulas for open, click and growth rates, a worked example, and how to automate it.

Newsletter reporting means tracking, for each issue and each month, how many people received your newsletter, how many opened and clicked, how many left, and whether the list is growing. A useful report fits on one page: a row per issue, a monthly summary, and two or three lines on what to change. Here are the template, the formulas behind it and a filled-in example.

The newsletter report template

Per issue:

| Issue | Sent | Delivered | Unique opens | Open rate | Unique clicks | Click rate | Click-to-open | Unsubscribes | Unsub rate | Top link |
|-------|-----:|----------:|-------------:|----------:|--------------:|-----------:|--------------:|-------------:|-----------:|----------|
|       |      |           |              |           |               |            |               |              |            |          |

Monthly summary:

| Measure                           | This month | Last month | Change |
|-----------------------------------|-----------:|-----------:|-------:|
| Subscribers at month end          |            |            |        |
| New subscribers                   |            |            |        |
| Unsubscribes                      |            |            |        |
| Bounced addresses removed         |            |            |        |
| Net list growth %                 |            |            |        |
| Issues sent                       |            |            |        |
| Average open rate                 |            |            |        |
| Average click rate                |            |            |        |
| Sessions from email (GA4)         |            |            |        |
| Signups or sales from email       |            |            |        |
| Sponsor or product revenue        |            |            |        |

**What worked:**
**What to change next month:**

The formulas

  • Delivered = sent - bounces
  • Open rate = unique opens / delivered
  • Click rate = unique clicks / delivered
  • Click-to-open rate = unique clicks / unique opens. It shows whether the content earned a click from the people who opened.
  • Unsubscribe rate = unsubscribes / delivered
  • Net list growth = (new subscribers - unsubscribes - bounced addresses removed) / subscribers at the start of the month

Platforms don't all calculate these the same way, so write down where each number came from.

Open rates need a footnote

Since Apple's Mail Privacy Protection arrived in 2021 with iOS 15 and macOS Monterey, Apple Mail preloads tracking pixels, so emails delivered there count as opened whether or not anyone read them. Open rates rose and stopped meaning much. Two fixes: make clicks your main engagement number, and where your platform offers it, report the open rate without Apple's automatic opens. Mailchimp, for example, returns proxy_excluded_open_rate next to open_rate in its reports API.

Example: one month of a weekly newsletter

IssueDeliveredOpen rateClick rateClick-to-openUnsubscribesTop link
Oct 118,24041.2%3.9%9.5%22Pricing teardown
Oct 818,41039.8%2.6%6.5%31Job board
Oct 1518,53042.5%5.1%12.0%19Free template
Oct 2218,69040.1%3.2%8.0%27Case study

The monthly summary that goes with it: the list started October at 18,350 subscribers, gained 890, lost 99 to unsubscribes and 61 bounced addresses, and ended at 19,080, net growth of 4.0%. Average open rate was 40.9% and average click rate 3.7%. The template issue had the best click-to-open rate at 12.0%; the job board issue had the worst, at 6.5%, and the most unsubscribes. Next month: one more practical resource issue, and move the job board below the main story.

What to include and why

  • Clicks before opens, for the reason above.
  • Unsubscribes per issue. They show which topics cost you readers. An issue with twice the usual unsubscribes is worth a look.
  • List growth net of losses. A rising subscriber total can hide a list that loses nearly as many as it gains.
  • What happens after the click. Tag links with UTM parameters, such as utm_medium=email, and report sessions and key events from email in GA4. That number connects the newsletter to the business.
  • One line of interpretation. Numbers without a "so what" get skimmed.

Automate the newsletter report

The numbers live in your email platform's reports and in GA4, and both have APIs an agent can read. Mailchimp's GET /3.0/reports lists campaign reports with opens, clicks, bounces and unsubscribes, and filters by since_send_time; the Mailchimp campaign report skill reads it every Tuesday and sets each campaign against your audience's usual rates, using the open rate without machine opens. For HubSpot marketing emails, the HubSpot marketing email report does the same job every Friday, with click rate as the headline number. Pair it with GA4 conversions by channel to see what email traffic did on the site.

A prompt for any platform your agent can reach:

List every newsletter issue we sent last month from [platform], with delivered, unique opens, unique clicks and unsubscribes. Fill in this template: [paste it], computing the rates from the counts. Use the open rate that excludes Apple privacy opens if the platform reports one. Then name the best and worst issue by click-to-open rate, with one line each on why.

Scheduled for the first of the month, the result can post to your Briefkin board as one card, next to the rest of your recurring reports.

Questions

What is a good open rate for email?

It depends on your audience, the age of your list and how your platform counts Apple's automatic opens, so published averages vary widely. Compare each issue with your own last three months, and judge engagement mainly by click rate.

Which newsletter metrics matter most?

Click rate, unsubscribe rate and net list growth, plus what email readers do on your site. Open rate still helps you spot delivery problems, such as a sudden drop that points to spam filtering.

How often should I report on a newsletter?

Check each issue a few days after it goes out, once the numbers settle, and write the full report monthly so one odd issue doesn't drive decisions.

Does this template work for beehiiv, Kit or Substack?

Yes. It uses counts every email platform tracks in some form; map your platform's column names to these and note how it counts opens.

More templates

All templates

Know when your agents need you

Briefkin puts your Claude Code, Codex and Cursor sessions on one board: working, needs you, done or failed. Telegram pings you when one is waiting on you, and scheduled skills post their reports next to them.

Free during the open beta. No card.