# Campaign Metrics Tracker: A Step-by-Step Guide

> A ready-to-copy spreadsheet layout, the formulas behind each column, and a weekly routine for reading your cold email numbers and deciding what to change.

You sent a few hundred cold emails, a handful of people replied, and now you can't tell whether the list, the subject line or the offer is the problem. A simple tracker fixes that. It turns scattered numbers into one sheet you can read in five minutes a week.

This guide gives you the exact columns, the formulas, a worked example and a review routine. Build it in Google Sheets or Excel in about twenty minutes.

## Step 1: Set up the sheet

Create one row per campaign step (first email, follow-up 1, follow-up 2, and so on), not one row per campaign. Step-level rows show you where people drop off.

Copy these column headers into row 1:

| Column | Header | What goes in it |
|---|---|---|
| A | Campaign | Name, e.g. "Plumbers Leeds Mar" |
| B | Step | Email 1, FU1, FU2 |
| C | Segment | Niche + city |
| D | Subject line | Exact text used |
| E | Sent | Emails attempted |
| F | Bounced | Hard + soft bounces |
| G | Delivered | Formula |
| H | Opened | Unique opens |
| I | Clicked | Unique clicks |
| J | Replied | All human replies |
| K | Positive replies | Interested, asked a question, booked |
| L | Unsubscribed | Count |
| M | Meetings booked | Count |
| N | Bounce rate | Formula |
| O | Open rate | Formula |
| P | Click rate | Formula |
| Q | Reply rate | Formula |
| R | Positive reply rate | Formula |
| S | Unsub rate | Formula |
| T | Notes | What you changed |

## Step 2: Paste in the formulas

Put these in row 2 and drag down. IFERROR keeps empty rows clean.

- **G Delivered:** `=E2-F2`
- **N Bounce rate:** `=IFERROR(F2/E2,0)`
- **O Open rate:** `=IFERROR(H2/G2,0)`
- **P Click rate:** `=IFERROR(I2/G2,0)`
- **Q Reply rate:** `=IFERROR(J2/G2,0)`
- **R Positive reply rate:** `=IFERROR(K2/G2,0)`
- **S Unsub rate:** `=IFERROR(L2/G2,0)`

Format N to S as percentages. Add a summary tab with these campaign-level numbers:

- **Total positive replies:** `=SUMIF(Sheet1!A:A,"Plumbers Leeds Mar",Sheet1!K:K)`
- **Reply-to-meeting rate:** meetings booked divided by positive replies.
- **Unique people contacted:** use the Sent figure from Email 1 only, so follow-ups don't inflate your base.
- **Overall positive reply rate:** total positive replies divided by Email 1 delivered.

That last number is the one to compare campaigns with. Per-step rates tell you which email works; the overall rate tells you which campaign works.

## Step 3: Worked example (made-up numbers)

These figures are invented purely to show the maths.

| Step | Sent | Bounced | Opened | Replied | Positive |
|---|---|---|---|---|---|
| Email 1 | 400 | 12 | 170 | 9 | 4 |
| FU1 | 360 | 0 | 140 | 7 | 3 |
| FU2 | 330 | 0 | 110 | 5 | 1 |

- Email 1 delivered: 400 - 12 = 388. Bounce rate: 12 / 400 = 3%.
- Email 1 reply rate: 9 / 388 = 2.3%.
- Total positive replies: 4 + 3 + 1 = 8.
- Overall positive reply rate: 8 / 388 = 2.1%.
- If 3 of those 8 booked a call, reply-to-meeting rate is 37.5%.

Reading it: FU1 still produced positive replies, so it earns its place. FU2 produced one, so test a different angle there, such as a short breakup note from the [breakup email templates](https://getclient.pro/resources/breakup-email-templates).

## Step 4: Know what each number is telling you

Each metric points to a different part of the campaign. Change one thing at a time and log it in Notes.

- **High bounce rate:** the list is the problem. Verify before sending and run through the [lead list cleaning checklist](https://getclient.pro/resources/lead-list-cleaning-checklist). As a rule of thumb, many senders aim to keep bounces under a few percent, since high bounces can hurt your sender reputation.
- **Low open rate:** check deliverability first (domain setup, warm-up, volume), then subject lines. See [email warm up](https://getclient.pro/learn/email-warm-up). Treat opens as a rough signal only: some mail apps load tracking pixels automatically and others block them.
- **Opens but few replies:** the body or offer isn't landing. Shorten it, make the ask smaller, and personalise with something real like {{params.city}} or {{params.category}}.
- **Replies but few positive:** you're reaching the wrong people or the offer is unclear. Tighten the segment.
- **Positive replies but few meetings:** your follow-up to replies is the gap. [Turn replies into meetings](https://getclient.pro/blog/turn-replies-into-meetings) covers that.
- **Rising unsubscribes:** the targeting or tone is off. Pause and review before sending more.

## Step 5: Log subject lines and copy so tests mean something

Numbers without the copy beside them are useless a month later. In column D store the exact subject, and keep a second tab called "Copy" with the full text of each step, for example:

```
Subject: Quick question about {{params.name}}

Hi {{params.firstname}},

I was looking at {{params.website}} and noticed you serve {{params.city}}. I help {{params.category}} businesses get more booked jobs from their existing site.

Would it be worth a 10-minute call next week?

Thanks,
[Your name]
```

When you test, give each version its own row and send both to similar segments. Small samples swing wildly, so don't call a winner on a few dozen sends.

## Step 6: The weekly 10-minute review

Run this every Monday:

1. Update Sent, Bounced, Opened, Clicked, Replied, Positive, Unsubscribed, Meetings for every active step.
2. Scan the bounce column. Anything unusually high: pause and clean the list.
3. Compare each step's positive reply rate to last week's.
4. Pick one change for the week (subject, opening line, offer, segment or timing). Write it in Notes.
5. Check that every reply has been answered.
6. Archive finished campaigns to a "Done" tab with their overall numbers.

## Fewer copy-paste jobs

If your list lives in one tool, sending in another and replies in a third, filling this sheet becomes the chore you skip. More on that in [replace three outreach tools with one](https://getclient.pro/blog/replace-three-outreach-tools-with-one). Before your next launch, run the [cold email launch checklist](https://getclient.pro/resources/cold-email-launch-checklist).

## Frequently asked questions

### Should I count auto-replies and out-of-office messages as replies?

No. Track only human replies in the Replied column. Out-of-office messages tell you nothing about your copy and will make your reply rate look better than it is.

### How long should I wait before judging a campaign?

Wait until the full sequence has finished for the whole list, plus a few days for late replies. Judging after the first email alone ignores what your follow-ups contribute.

### Do I count a negative reply like 'not interested' as positive?

No. Count it under Replied but not Positive replies. Positive means interest, a genuine question or a booked call. Keeping them separate shows whether your offer or your targeting needs work.

### Is open rate still worth tracking?

Yes, but as a rough directional signal. Privacy features in some mail apps can inflate or hide opens, so make decisions on replies and meetings and use opens mainly to spot deliverability drops.

### Can I track several sending accounts in one sheet?

Yes. Add a column for the sending account next to Campaign. That lets you spot if one mailbox has worse bounce or open numbers, which can point to a setup or reputation issue on that account.

Source: https://getclient.pro/resources/campaign-metrics-tracker-guide
