By Theo Brandt ยท Updated

Analytics guide

SaaS Email Metrics: What to Track Beyond Open Rates

Each lifecycle sequence has one number that says whether it worked. Here is how to define it, where the data lives and what to ignore.

For SaaS lifecycle email, the metrics worth a dashboard are the ones your email tool cannot see on its own: activation, trial conversion, payment recovery and retention. Delivery, complaints and clicks are the supporting evidence. This guide gives each sequence a headline metric with a formula, shows which system holds the data, and explains why open rates should no longer carry decisions.

Prices checked 7 October 2026; each price links to the vendor page it came from. This page quotes no industry benchmarks for opens, clicks or recovery, because the figures that circulate come from vendor samples that do not match your product. Compare yourself to your own history.

A headline metric for each sequence

SequenceHeadline metricFormulaWhere the data lives
OnboardingActivation rateSignups who did the activation event within N days divided by signupsProduct analytics or your database
Trial conversionTrial-to-paidTrials that became paid by the trial end divided by trials startedBilling system
DunningRecovered invoicesInvoices that ended paid after a failed attempt divided by invoices with a failed attemptBilling system
Retention savesRetained accounts versus a holdoutAccounts still active after N days in the flow, compared with similar accounts that were not mailedBilling plus product data
Win-backReactivationsLapsed accounts that resumed divided by lapsed accounts mailedBilling system

Notice that none of these live in an email dashboard. They need an event or a billing record to define the outcome, and an email send to explain it. A worked example with made-up numbers: if 2,000 trials started in a month and 240 were paid by day 14, trial-to-paid is 240 divided by 2,000, which is 12%. The useful number is how that 12% moves after you change a sequence, with other things held steady, not whether 12% is good in the abstract.

Delivery and complaints come first

If mail does not arrive, nothing else is measurable. Track three delivery metrics per stream, never blended: bounce rate, complaint rate and the count of missing-mail tickets reaching support. The complaint rate has published ceilings: Google's sender guidelines say to keep the spam rate shown in Postmaster Tools below 0.10% and avoid ever reaching 0.30%, and Yahoo's sender requirements say below 0.3%, measured on mail delivered to the inbox. See the deliverability guide for setup.

Split streams in your reporting the same way you split them in sending. A product newsletter with a rising complaint rate should not hide a healthy transactional stream, and the reverse is just as important: a failing receipt stream is an incident even when marketing looks fine.

The open-rate problem

Apple documents that, with Protect Mail Activity on in Mail, remote content is privately downloaded in the background when a message arrives instead of when it is viewed, and the sender cannot see when or how often it was opened. A tracking pixel therefore stops being evidence of reading for those recipients. Some corporate security filters also fetch links and images before a person sees the message, which can inflate clicks as well.

So use opens as a delivery smoke test on one stream, such as spotting a sudden collapse after a DNS change, and treat clicks with caution. The signal worth trusting is a click to a specific page followed by the product event that page is meant to cause. If you want reading evidence, ask a question in the email and count replies.

Wiring up attribution

  1. Tag every product link with the sequence and the message number, using UTM parameters or your tool's link tracking, so you know which email sent someone to which page.
  2. Send the outcome as an event from your backend: activated, trial_converted, invoice_paid, subscription_resumed. The outcome should be recorded the same way whether or not the user came from email.
  3. Choose an attribution window per sequence and write it down. Seven days after a click is a reasonable starting point for onboarding; dunning can use the retry schedule itself.
  4. Hold out a random slice of each audience from a sequence for a month, for instance one new signup in ten, so you can compare outcomes with and without the emails. Without a holdout you measure who got mail, not whether the mail helped.
  5. Join the data in one place: your warehouse, a spreadsheet export or the product analytics tool.

Where each number lives, and what the tools cost

Three systems hold the data: the email tool (sends, bounces, clicks, unsubscribes), the product analytics tool (activation, usage) and billing (payments, trials, cancellations). Email tools such as Customer.io (Essentials from $100 a month at 5,000 profiles) and Loops ($99 a month at 10,000 subscribers) report on their own sends and accept events from your app, so you can count outcomes next to the messages that preceded them.

Tool for the product sideFree tier on its pricing pageGood for
MixpanelUp to 1M monthly eventsFunnels and cohorts for activation
Amplitude2M events a month, no time limitBehavioral cohorts and retention charts
PostHogA monthly free tier per product, such as 1M analytics eventsProduct analytics next to feature flags and replays

A team sending a six-email onboarding sequence to 2,000 signups a month produces 12,000 emails. Whether your product events fit a free tier depends on how much you track, so count a typical month of events before you commit. The email tool bills by audience size, so what you pay there is driven by contacts, not by how many metrics you track.

Use the numbers to decide what to change

What looks wrongCheck firstLikely change
Activation flat after launching onboardingWhere cohorts stall in the product funnelRewrite the message before the stall, or fix the product step
Clicks fine, trial-to-paid flatWhat happens after the click: page, pricing, checkoutFix the destination, not the subject line
Complaints rise on one streamWhich segment and message were sentCut the segment, add a clearer unsubscribe
Recovered invoices lowHard declines versus soft declines; whether the card-update link worksAsk for a new card sooner on hard declines

Verdict

Give every sequence one headline metric computed from product or billing data, keep delivery and complaints per stream as the guardrail, and downgrade opens to a smoke test. Choose an email tool that accepts your events and lets you export results, such as Customer.io or Loops, and pair it with a free analytics tier to start. Related reading: SaaS onboarding emails, churn prevention emails, platforms for revenue attribution and platforms for SaaS analytics.

Frequently asked questions

Which single metric should a SaaS team watch for onboarding emails?

Activation within a fixed window: the share of new signups who complete your activation event within, say, seven days. It comes from product data, so you can compute it in Mixpanel, Amplitude or PostHog and compare cohorts before and after the sequence launches. Opens and clicks only explain why that number moved.

Are open rates useless now?

Not useless, but unreliable as proof. Apple's Mail Privacy Protection can download remote content in the background when a message arrives, so a tracking pixel may load for a person who never read the email. Use opens to spot a delivery problem on one stream, and base decisions on clicks followed by a product event.

How do I measure payment recovery from dunning emails?

Use billing data, not the email dashboard. Count invoices with at least one failed attempt, then count how many ended paid, and split by whether the customer received your emails. Stripe's invoice.payment_failed event carries an attempt count you can send to Customer.io, Loops or your warehouse for that purpose.

What complaint rate is too high?

Google's sender guidelines say to keep the spam rate in Postmaster Tools below 0.10% and avoid ever reaching 0.30%, and Yahoo asks senders to stay below 0.3%. Measure per stream, so a noisy product newsletter does not hide a clean transactional stream.