Metrics8 min read

Engagement-seconds: how long users actually spend in your email

Two campaigns both hit 22% open rate. One averages 4 seconds of read time. The other averages 38. Only one of those is a real audience. Engagement-seconds is how you tell them apart.

The web learned this lesson a decade ago. Bounce rate alone is meaningless — you need time-on-page. Email is still catching up. A message that is “opened” for 0.3 seconds before being deleted is not engaged with. A message that is read for 45 seconds is a buying signal. Engagement-seconds is a single, cheap, mostly-honest quality metric that most teams do not track at all.

TL;DR

Engagement-seconds = median time between the first and last pixel load for a given recipient, filtered for bot-like patterns. It is the closest thing email has to dwell time, and it differentiates good copy from hollow subject-line wins.

What engagement-seconds measures

The implementation trick: embed two (or more) tracking pixels in the message, spaced by DOM position. The first fires when the email is opened. Subsequent pixels fire as the client requests images further down the body. Sum the deltas and you have a rough time-on-email figure.

<!-- top of email -->
<img src="https://t.example.com/o?id=X&p=1" alt="" />

<!-- middle, ~40% down -->
<img src="https://t.example.com/o?id=X&p=2" alt="" />

<!-- bottom -->
<img src="https://t.example.com/o?id=X&p=3" alt="" />

Most clients lazy-load images as they enter the viewport. Apple MPP pre-fetches everything at once (rendering the metric invalid for MPP-enabled recipients, which you must exclude or segment separately). Gmail caches but serves on viewport. Outlook Consumer blocks by default.

Why the metric is useful despite the noise

Three reasons engagement-seconds is worth tracking even with the caveats:

  1. Relative, not absolute. You are comparing campaigns to each other, not to a universal benchmark. MPP noise is roughly constant across campaigns.
  2. Distribution shape matters. A campaign with a fat right tail (many readers > 30s) is qualitatively different from one with a spike at <2s.
  3. It catches hollow wins. Clickbait subject lines inflate opens; they do not inflate read time. Engagement-seconds will out them.

Always segment by provider

Do not report a single engagement-seconds number. Report one per provider:

  • Gmail Webmail — cleanest signal, decent accuracy
  • Gmail Mobile — viewport scrolling is real, pixel delta reflects scroll
  • Apple Mail (MPP) — segment separately or exclude; MPP pre-fetches all pixels at once
  • Outlook Consumer — images blocked by default; only trust results from recipients who clicked “Show images”
  • M365 / Outlook.com — Safe Links can interfere; budget 1–2s of noise

What the numbers look like

From our corpus of opt-in B2B newsletters in 2026:

  • Median engagement-seconds (non-MPP): 7–12s
  • P75: 18–25s
  • P95: 45–90s
  • Bot-cluster (excluded): 0–1s burst, all pixels in same 200ms window

Cold outbound skews lower (most messages get scanned, not read). Transactional skews much lower (receipt checked and closed). Long-form newsletter content skews higher.

Filtering out the bots

You will see three bot signatures in raw data:

  1. Burst pattern. All pixels fire in <500ms from a datacenter IP. Almost certainly a security scanner.
  2. Single-pixel-only. Only the first pixel fires, ever. Imaging disabled or early-exit scanner.
  3. Re-open pattern. Same recipient opens the same message every 5 minutes for days. Usually an indexing bot.

Flag and drop these before computing medians. Failing to do so will make your engagement-seconds look artificially low.

Pair engagement with placement

Engagement-seconds is only meaningful for messages that landed in the inbox. If 40% of sends went to spam, your engagement numerator is tiny. Inbox Check measures placement; engagement-seconds measures quality of the readers you reached. Run a free placement test.

How to use engagement-seconds in practice

  1. A/B test subject lines. If variant B has higher opens but lower engagement-seconds, variant B is clickbait. Ship variant A.
  2. Newsletter section optimisation. Pixel-per-section gives you per-section dwell time. Shrink sections that nobody reads.
  3. List health check. A list whose engagement-seconds is drifting down month-over-month is a list that needs pruning or re-engagement.

Limitations to be honest about

  • MPP recipients are ~35–55% of typical consumer lists. Segment them out; do not pretend the metric works for them.
  • Outlook Consumer blocks images. Most of your data will come from Gmail + mobile.
  • A recipient who opens, leaves the tab open for an hour, and never scrolls will report a huge engagement number. Cap at 5 minutes.

FAQ

Can I use this on transactional emails?

Yes, but expect low numbers. A receipt gets 2–4 seconds; a password reset gets less than 1. Use it as a relative metric across transactional categories, not as an absolute.

What's the minimum number of pixels needed?

Two gives you a delta. Three gives you a shape. More than five wastes bandwidth and risks looking suspicious to filters. Three is the sweet spot.

Does this violate email privacy regulations?

Tracking pixels fall under the same consent regime as your first tracking pixel. If you have consent for open tracking, multi-pixel engagement timing is in scope. GDPR-sensitive audiences may require a click-based alternative.

Can I buy this from my ESP?

Occasionally. Most ESPs don't expose it. If you use Postmark, SendGrid with custom tracking, or run your own pixel service, you can build it. Otherwise, a lightweight custom pixel is 30 lines of code.
Related reading

Check your deliverability across 20+ providers

Gmail, Outlook, Yahoo, Mail.ru, Yandex, GMX, ProtonMail and more. Real inbox screenshots, SPF/DKIM/DMARC, spam engine verdicts. Free, no signup.

Run Free Test →

Unlimited tests · 20+ seed mailboxes · Live results · No account required