How to clean analytics before analysis?

Still have a question, spotted an error, or have a better explanation or a source we should cite?

Raw email analytics are almost never clean enough to analyze at face value. Before you draw conclusions from open rates or click data, there's usually a layer of noise to remove, because some of what looks like engagement isn't human engagement at all.

The main sources of dirty data

Apple Mail Privacy Protection. Since 2021, Apple pre-fetches tracking pixels for Apple Mail users, registering opens even when the recipient hasn't read the email. If a significant share of your audience uses Apple Mail, your open rate is inflated. It may be meaningfully inflated.

Security gateway bot clicks. Corporate email filters, like Proofpoint and Microsoft Defender, scan links before delivery. These show up as clicks in raw event logs, sometimes milliseconds after send. Clicks before an open is recorded, or clicks on every single link in a campaign simultaneously, are almost certainly machine activity.

ISP probing. Some ISPs retrieve email content automatically when evaluating it. This can trigger opens and occasionally clicks without any human involvement.

How to clean it

For opens: filter or discount Apple MPP signals. Some ESPs let you exclude known Apple MPP events. If yours doesn't, use click rate as your primary engagement metric instead of open rate, since clicks require an actual action.

For clicks: filter out clicks that happened before a corresponding open, clicks that fired on every link in one session, or clicks from known security scanning user agents. Your ESP may offer bot filtering as a setting. If not, look for these patterns in your event-level data and exclude them before analysis.

For comparisons across campaigns: apply the same filters consistently. A cleaned open rate from one campaign compared against an uncleaned rate from another tells you nothing useful.

If you're not sure what's noise and what's signal in your data, the SOS hotline is free. Getting this wrong means optimizing for bot behavior, which isn't a useful direction.

Contributors

Who worked on this answer

Every name links to their profile. Every company links to their site. Real people, real accountability.

Ask an AI · tailored to your setup

Help Me Clean My Analytics Data

I just read the Email Almanac entry on cleaning email analytics before analysis. Help me figure out how much noise is in my current data and how to filter it. Walk me through: 1. How to estimate how much Apple MPP is inflating my open rate 2. How to identify bot clicks in my event data 3. Which filters my current ESP offers and how to enable them 4. What metrics to use as primary signals once inflated data is filtered out --- My details (fill in what applies): - ESP or sending platform: Mailchimp / Klaviyo / Brevo / SendGrid / other - Current open rate: percentage - Current click rate: percentage - Approximate Apple Mail share of my audience: percentage or "unsure" - Whether I've noticed suspicious click patterns: yes, describe / no / unsure - Whether my ESP has a bot filtering setting: yes / no / unsure - Whether I have access to raw event logs: yes / no

Edit the yellow boxes, then send to the AI of your choice.