在邮件营销实践中,很多企业都会遇到一个共同问题:打开率、点击率看起来很高,但实际转化却不匹配。这背后的关键原因之一,就是异常打开与异常点击(Non-human activity)
作为长期服务企业客户的邮件营销平台,我们在大量数据中发现:异常行为并不是偶发,而是“常态存在”。本文将从三个方面,系统讲清这个问题。
一、为什么会出现异常打开和点击?异常打开和点击的来源是哪里?
1. 本质原因:邮件在“到达人之前已经被访问”
当一封邮件送达收件箱时,并不是只有“用户”会打开它。
在用户真正看到邮件之前,可能已经被多种系统“提前访问”。
2. 异常流量的主要来源
(1)邮件安全网关扫描
企业邮箱(尤其ToB场景)通常部署安全系统,来检测病毒、钓鱼、恶意链接,例如:
l Proofpoint
l Barracuda Networks
这些系统会:
l 自动打开邮件
l 加载图片(触发“打开”)
l 访问链接(触发“点击”)
(2)云厂商服务器请求
部分扫描行为会运行在云基础设施上,例如:
l Amazon Web Services
l Microsoft Azure
l Google Cloud
(3)CDN / 边缘网络预取
一些网络服务会提前请求资源,如:
l Cloudflare
l Akamai Technologies
(4)自动化程序 / 爬虫
例如:
l python脚本
l curl / wget
l 企业内部自动化工具
二、异常打开和点击有哪些典型特征?
基于灵动创新平台的大规模数据,我们总结出以下高频特征:
1. 弹回前扫描
在实际数据中,我们发现有部分打开和点击时间早于邮件“被弹回”的时间,也就是说,在邮件被弹回前,已经被进行安全扫描。在实际计算中,这部分数据必须要被剔除。
2. 批量行为(同一IP触发)
一个IP短时间内打开/点击多个邮箱,且涉及多个不同域名。
如一个IP打开了10个以上不同域名邮箱,在30分钟内产生了50次以上的点击,这种行为明显不符合真人操作行为。
3. 云服务器IP占比高
针对异常IP,通过查询IP的ASN,我们发现异常流量大量来自:云厂商/数据中心,这些IP不属于家庭宽带或运营商网络。
4. 异常User-Agent
比如,我们的数据中会出现以下user-agent:
l python-requests/2.32.4
l ASEG-3.15
三、如何识别异常打开与点击?
识别异常行为,应该是 “多维度判断问题”,而不是使用单一规则。
1. 建立数据分层
需要将数据拆分为:
l 原始数据:全部原始打开 / 点击
l 异常数据:100%确定为异常扫描的数据
l 可疑数据:可能是扫描,也可能是真人行为的数据
l 真实数据:确认属于真实用户的行为
所有对外报表,优先基于“真实数据 + 部分可疑数据”进行统计。
2. 建立两大识别维度
(1)User-Agent识别
识别典型机器人UA,命中后直接标记为异常,如:
l python-requests
l curl / wget
l Java / Go-http-client
这类UA通常来自自动化程序或安全扫描,可以直接判定为非真人行为。
(2)异常行为 & IP & ASN识别
基于邮件行为数据,识别出异常IP(如短时间高频访问、批量触发等),再结合IP的ASN归属进行进一步判断:
(1)如果IP属于云厂商或数据中心网络,例如:
l Amazon Web Services
l Microsoft Azure
l Google Cloud
l Alibaba Cloud
且同时存在以下行为特征:
l 短时间批量打开多个邮箱
l 涉及多个不同域名
则判定为异常数据(扫描行为),不计入统计。
(2)如果IP属于CDN或边缘网络,例如:
l Cloudflare
l Akamai Technologies
l 或属于云厂商但行为不明显(如单次访问):
则判定为可疑数据:
l 暂时计入统计
l 持续观测其后续行为(是否出现批量特征)
(3)如果IP属于企业宽带 / 运营商 / ISP(如电信、联通、移动、家庭宽带等),且行为符合正常用户特征,如打开与点击间隔合理,无批量行为,UA为正常浏览器,则判定为真实用户数据,计入统计。
四、总结
异常打开与点击,本质是“系统行为被误认为用户行为”。它的存在不可避免,但可以被识别和过滤。当然100%识别是不可能的,我们要做的是尽量识别(提高准确率)、避免误伤(保护真实用户),最大可能还原真实数据。


