关于 Gmail 应用预取图像的更新
鸟
2022年1月25日
电子邮件
1 min read

关键要点
Gmail 现在会在用户网页或移动设备上开启 Gmail 会话时预抓取图像,导致在显示电子邮件之前出现错误的打开。
仅当 Gmail 应用打开并登录时会发生预抓取,并且在 UI 渲染电子邮件之前立即发生。
这些错误的打开来自 Google IP 范围,并且始终使用与 Google Image Cache 不同的特定用户代理字符串。
预抓取与用户实际打开电子邮件时发生的 Google Image Cache 打开行为分开。
对 98 亿次 Gmail 打开的分析发现,错误的打开占 Gmail 打开的1–6%,可能会使报告的打开率最多提高约 2 个百分点。
影响与 Apple Mail Privacy Protection 相比较小,但它进一步降低了打开追踪的可靠性。
参与度衡量应转向点击、主题行测试和下游行为。
SparkPost 会在 Events API 和 Webhooks 中用
is_prefetched属性自动标记这些事件。非 SparkPost 发送者仍可通过过滤已知的 Gmail Prefetch Bot 用户代理来检测错误的打开。
基于时间和请求行为,预抓取似乎与 Gmail 渲染电子邮件之前的安全扫描相关。
预抓取每个未读线程内仅发生一次;除非未读,同一线程中的后续消息不会触发额外的预抓取。
由于后台活动,关闭 Gmail 手机应用后预抓取可能会短暂持续。
Q&A 精华
Gmail引入了什么新行为?
Gmail 现在会在用户通过网络或移动设备主动登录 Gmail 时,预先加载图像以显示电子邮件。
Gmail 预取算作真正的电子邮件打开吗?
不。这些是false opens,发生在用户看到邮件之前。
Gmail 何时触发图片预取?
仅当收件人在电子邮件送达时的那一刻有一个激活的Gmail会话打开。
Gmail 的预取与 Google Image Cache 有何不同?
预取发生在之前电子邮件显示时,而谷歌图片缓存则在用户实际打开电子邮件时加载图片。
什么用户代理标识Gmail预取打开?
特定的 UA 字符串以以下内容开头:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ...开放率的通胀有多大影响?
伪打开占 Gmail 打开的约1–6%,使打开率虚增了大约2%。
发件人如何检测预取打开?
筛选与已知 Gmail Prefetch Bot 用户代理匹配并源自 Google 拥有的 IP 范围的开放事件。
SparkPost为了支持检测做了什么?
它在 Events API 和 Webhooks 中添加了一个
is_prefetched标志,以自动识别这些事件。为什么Gmail预取图像?
证据表明,它在向用户显示电子邮件之前,会作为security scan。
每个会话中的每条消息都会预取吗?
不。这通常仅发生在每个未读的Gmail线程中一次。
什么会在预取请求之后发生?
当用户实际打开电子邮件时,依然会发生一次单独的Google Image Cache请求。
发送人应该专注于什么,而不是打开率?
点击次数,现场行为,投递质量,列表卫生,和主题行优化。
Gmail image prefetching 是什么?
最近Apple Mail隐私保护的变更让我们好奇——还有哪里在进行预取?尽管falseopens并不令人感到惊讶,但我们有关于Gmail在特定情况下预取发送给Gmail用户的电子邮件中的图片的详尽信息。
Gmail何时进行预取
Gmail预取打开事件发生在以下情况下:
Gmail收件人已登录并在Gmail app(无论是网页版还是移动App)中有一个活跃的会话打开。
电子邮件在收件人的会话活跃/打开时发送到Gmail收件人。
Gmail在UI显示电子邮件之前立即预取所有图片。
此图像预取不同于Google Image Cache打开,这发生在用户打开电子邮件时。
图像预取仅在用户登录Gmail应用程序时发生,源自Google的IP地址,并使用以下用户代理字符串请求:
Mozilla/5.0(Windows NT 10.0; Win64; x64)AppleWebKit/537.36(KHTML, like Gecko)Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0
在调查数十亿次打开事件后,我们可以自信地说这些打开是false打开,并不表示实际的用户打开事件。这些打开事件是独立于由Google Image Cache触发的用户启动事件。
如何识别Gmail预取打开(摘要)
信号 | 它指示什么 |
|---|---|
活跃Gmail会话(网页版或移动端) | 预取仅在使用期间发生 |
在UI渲染前获取图像 | 在用户看到电子邮件前记录打开 |
源IP由Google拥有 | 服务器端请求,而非收件人设备 |
特定Gmail预取用户代理 | 可靠的过滤指纹 |
在交付后数秒内发生 | 时间确认自动化行为 |
最近Apple Mail隐私保护的变更让我们好奇——还有哪里在进行预取?尽管falseopens并不令人感到惊讶,但我们有关于Gmail在特定情况下预取发送给Gmail用户的电子邮件中的图片的详尽信息。
Gmail何时进行预取
Gmail预取打开事件发生在以下情况下:
Gmail收件人已登录并在Gmail app(无论是网页版还是移动App)中有一个活跃的会话打开。
电子邮件在收件人的会话活跃/打开时发送到Gmail收件人。
Gmail在UI显示电子邮件之前立即预取所有图片。
此图像预取不同于Google Image Cache打开,这发生在用户打开电子邮件时。
图像预取仅在用户登录Gmail应用程序时发生,源自Google的IP地址,并使用以下用户代理字符串请求:
Mozilla/5.0(Windows NT 10.0; Win64; x64)AppleWebKit/537.36(KHTML, like Gecko)Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0
在调查数十亿次打开事件后,我们可以自信地说这些打开是false打开,并不表示实际的用户打开事件。这些打开事件是独立于由Google Image Cache触发的用户启动事件。
如何识别Gmail预取打开(摘要)
信号 | 它指示什么 |
|---|---|
活跃Gmail会话(网页版或移动端) | 预取仅在使用期间发生 |
在UI渲染前获取图像 | 在用户看到电子邮件前记录打开 |
源IP由Google拥有 | 服务器端请求,而非收件人设备 |
特定Gmail预取用户代理 | 可靠的过滤指纹 |
在交付后数秒内发生 | 时间确认自动化行为 |
最近Apple Mail隐私保护的变更让我们好奇——还有哪里在进行预取?尽管falseopens并不令人感到惊讶,但我们有关于Gmail在特定情况下预取发送给Gmail用户的电子邮件中的图片的详尽信息。
Gmail何时进行预取
Gmail预取打开事件发生在以下情况下:
Gmail收件人已登录并在Gmail app(无论是网页版还是移动App)中有一个活跃的会话打开。
电子邮件在收件人的会话活跃/打开时发送到Gmail收件人。
Gmail在UI显示电子邮件之前立即预取所有图片。
此图像预取不同于Google Image Cache打开,这发生在用户打开电子邮件时。
图像预取仅在用户登录Gmail应用程序时发生,源自Google的IP地址,并使用以下用户代理字符串请求:
Mozilla/5.0(Windows NT 10.0; Win64; x64)AppleWebKit/537.36(KHTML, like Gecko)Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0
在调查数十亿次打开事件后,我们可以自信地说这些打开是false打开,并不表示实际的用户打开事件。这些打开事件是独立于由Google Image Cache触发的用户启动事件。
如何识别Gmail预取打开(摘要)
信号 | 它指示什么 |
|---|---|
活跃Gmail会话(网页版或移动端) | 预取仅在使用期间发生 |
在UI渲染前获取图像 | 在用户看到电子邮件前记录打开 |
源IP由Google拥有 | 服务器端请求,而非收件人设备 |
特定Gmail预取用户代理 | 可靠的过滤指纹 |
在交付后数秒内发生 | 时间确认自动化行为 |
Gmail 预取如何影响打开率
在Gmail中出现误开会有什么影响?值得庆幸的是,它们很小,远不如Apple Mail Privacy Protection的规模。然而,由于打开追踪变得不那么可靠,制作引人注目的主题行对于通过点击而不是打开来衡量参与度变得更加重要。
在查看2021年12月超过9.8B的Gmail收件人打开事件时,对于大多数发送者,我们发现虚假打开占打开事件的1-6%。这意味着您的打开率可能会高估多达2个百分点。例如:如果您目前在Gmail的整体打开率为20%,那么您的正确打开率应该更接近18%。
Gmail 预取与 Google 图片缓存打开
行为 | Gmail 预取 | Google 图片缓存 |
|---|---|---|
由何触发 | Gmail 应用活动 | 用户打开邮件 |
代表真实参与 | 否 | 更有可能 |
请求时机 | 邮件显示之前 | 打开后 |
分析处理 | 过滤或忽略 | 保留(有条件) |
您的具体虚假打开率可能明显高于或低于我们上面报告的情况。因为,虚假打开是根据用户何时使用Gmail应用程序触发的,您的特定受众行为和使用案例是您受此异常影响程度的主要因素。
鉴于这一影响,下一步是了解如何在您的数据中识别和过滤这些事件。
在Gmail中出现误开会有什么影响?值得庆幸的是,它们很小,远不如Apple Mail Privacy Protection的规模。然而,由于打开追踪变得不那么可靠,制作引人注目的主题行对于通过点击而不是打开来衡量参与度变得更加重要。
在查看2021年12月超过9.8B的Gmail收件人打开事件时,对于大多数发送者,我们发现虚假打开占打开事件的1-6%。这意味着您的打开率可能会高估多达2个百分点。例如:如果您目前在Gmail的整体打开率为20%,那么您的正确打开率应该更接近18%。
Gmail 预取与 Google 图片缓存打开
行为 | Gmail 预取 | Google 图片缓存 |
|---|---|---|
由何触发 | Gmail 应用活动 | 用户打开邮件 |
代表真实参与 | 否 | 更有可能 |
请求时机 | 邮件显示之前 | 打开后 |
分析处理 | 过滤或忽略 | 保留(有条件) |
您的具体虚假打开率可能明显高于或低于我们上面报告的情况。因为,虚假打开是根据用户何时使用Gmail应用程序触发的,您的特定受众行为和使用案例是您受此异常影响程度的主要因素。
鉴于这一影响,下一步是了解如何在您的数据中识别和过滤这些事件。
在Gmail中出现误开会有什么影响?值得庆幸的是,它们很小,远不如Apple Mail Privacy Protection的规模。然而,由于打开追踪变得不那么可靠,制作引人注目的主题行对于通过点击而不是打开来衡量参与度变得更加重要。
在查看2021年12月超过9.8B的Gmail收件人打开事件时,对于大多数发送者,我们发现虚假打开占打开事件的1-6%。这意味着您的打开率可能会高估多达2个百分点。例如:如果您目前在Gmail的整体打开率为20%,那么您的正确打开率应该更接近18%。
Gmail 预取与 Google 图片缓存打开
行为 | Gmail 预取 | Google 图片缓存 |
|---|---|---|
由何触发 | Gmail 应用活动 | 用户打开邮件 |
代表真实参与 | 否 | 更有可能 |
请求时机 | 邮件显示之前 | 打开后 |
分析处理 | 过滤或忽略 | 保留(有条件) |
您的具体虚假打开率可能明显高于或低于我们上面报告的情况。因为,虚假打开是根据用户何时使用Gmail应用程序触发的,您的特定受众行为和使用案例是您受此异常影响程度的主要因素。
鉴于这一影响,下一步是了解如何在您的数据中识别和过滤这些事件。
如何检测并忽略Gmail预取的打开
根据您的发送设置需要做的事情
发送者类型 | 推荐处理方式 |
|---|---|
SparkPost 发送者 | 在 Events API 和 Webhooks 中使用 |
非 SparkPost 发送者 | 过滤与已知 Gmail 预取用户代理匹配的打开事件 |
所有发送者 | 将重点从打开率转向点击率和下游信号 |
针对 SparkPost 发送者
对于 SparkPost 发送者,我们已经为您提供了支持。我们已经更新了我们的事件 API 和事件 webhooks,以使用 新引入的 is_prefetched 标志 自动识别这些 Gmail 预取事件。我们也在积极努力在我们的分析报告 UI 和指标 API 中添加区分预取和代理打开事件的能力。敬请关注关于报告 UI 增强的未来更新。
针对非 SparkPost 发送者
对于其他发送者,检测 Gmail 预取打开事件仍然相对简单。有关分析电子邮件数据的更多技术细节,请参阅我们的阅读电子邮件头文件指南。对于每个打开事件,您需要忽略(或唯一标记)任何与以下用户代理字符串匹配的打开事件:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0
我们已经确认该字符串是 Google 预取机器人独有的。
根据您的发送设置需要做的事情
发送者类型 | 推荐处理方式 |
|---|---|
SparkPost 发送者 | 在 Events API 和 Webhooks 中使用 |
非 SparkPost 发送者 | 过滤与已知 Gmail 预取用户代理匹配的打开事件 |
所有发送者 | 将重点从打开率转向点击率和下游信号 |
针对 SparkPost 发送者
对于 SparkPost 发送者,我们已经为您提供了支持。我们已经更新了我们的事件 API 和事件 webhooks,以使用 新引入的 is_prefetched 标志 自动识别这些 Gmail 预取事件。我们也在积极努力在我们的分析报告 UI 和指标 API 中添加区分预取和代理打开事件的能力。敬请关注关于报告 UI 增强的未来更新。
针对非 SparkPost 发送者
对于其他发送者,检测 Gmail 预取打开事件仍然相对简单。有关分析电子邮件数据的更多技术细节,请参阅我们的阅读电子邮件头文件指南。对于每个打开事件,您需要忽略(或唯一标记)任何与以下用户代理字符串匹配的打开事件:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0
我们已经确认该字符串是 Google 预取机器人独有的。
根据您的发送设置需要做的事情
发送者类型 | 推荐处理方式 |
|---|---|
SparkPost 发送者 | 在 Events API 和 Webhooks 中使用 |
非 SparkPost 发送者 | 过滤与已知 Gmail 预取用户代理匹配的打开事件 |
所有发送者 | 将重点从打开率转向点击率和下游信号 |
针对 SparkPost 发送者
对于 SparkPost 发送者,我们已经为您提供了支持。我们已经更新了我们的事件 API 和事件 webhooks,以使用 新引入的 is_prefetched 标志 自动识别这些 Gmail 预取事件。我们也在积极努力在我们的分析报告 UI 和指标 API 中添加区分预取和代理打开事件的能力。敬请关注关于报告 UI 增强的未来更新。
针对非 SparkPost 发送者
对于其他发送者,检测 Gmail 预取打开事件仍然相对简单。有关分析电子邮件数据的更多技术细节,请参阅我们的阅读电子邮件头文件指南。对于每个打开事件,您需要忽略(或唯一标记)任何与以下用户代理字符串匹配的打开事件:
Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0
我们已经确认该字符串是 Google 预取机器人独有的。
Gmail 预取详细分析
如上所述,Gmail 的预取仅在有限的情况下发生。其他邮件客户端不会发生预取。而是,当 Gmail 用户在其 Web 浏览器中打开 Gmail 应用程序或正在使用移动应用程序时,这种行为是特定的。我们最好的猜测是,这是在浏览器中向用户显示电子邮件之前的安全扫描。此预取行为还突出显示了为什么电子邮件文件大小优化对于更快的加载和更好的用户体验很重要。
请求行为和技术信号
图像请求的完整请求头如下所述。您会注意到以下几点:
Referer 被设置为http://mail.google.com。有趣的是,即使用户在 https:// 上,Gmail 在发出请求时仍将 Referer 设置为 http:// 协议。
请求来自 Gmail 的服务器,而不是用户的浏览器。客户端 IP 始终解析为 Google 拥有的 IP 空间。
与 Google 图片缓存不同,用户代理字符串并没有标识请求来自 Google 的机器人之一。相反,用户代理字符串看起来像是实际的用户图像请求。然而,我们已确认此用户代理字符串确实识别出 Google 的预取机器人。
打开请求发生在电子邮件传递后的几秒钟内。此外,请求在电子邮件出现在用户的 Gmail 界面之前进行。这种行为使我们相信请求是出于安全目的。
预取似乎仅在每个未读的 Gmail 电子邮件线程中发生一次。在我们的广泛测试中,一旦用户读取了一条信息,进入该线程组的任何未来电子邮件都不会启动预取请求。
此预取与 Google 图片缓存是分开的。我们的测试表明,即使在图像被预取后,当用户打开电子邮件时也会发起单独的 Google 图片缓存请求。
如果用户打开了 Gmail 移动应用,即使在关闭移动应用后,预取也会在短时间内继续发生。
以下是从 Google 预取机器人请求图像时请求头的示例:
headers: { host: ‘{redacted}.m.pipedream.net’, ‘x-amzn-trace-id’: ‘Root={redacted}’, ‘accept-language’: ‘en-US’, referer: ‘http://mail.google.com/’, accept: ‘image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8’, from: ”, ‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0’, ‘accept-encoding’: ‘gzip, deflate, br’ }, body: {}, inferred_body_type: ‘FORM’, method: ‘GET’, url: ‘https://{redacted}.m.pipedream.net/header-1641a1.gif’, client_ip: ‘66.249.92.1’, query: {}
如上所述,Gmail 的预取仅在有限的情况下发生。其他邮件客户端不会发生预取。而是,当 Gmail 用户在其 Web 浏览器中打开 Gmail 应用程序或正在使用移动应用程序时,这种行为是特定的。我们最好的猜测是,这是在浏览器中向用户显示电子邮件之前的安全扫描。此预取行为还突出显示了为什么电子邮件文件大小优化对于更快的加载和更好的用户体验很重要。
请求行为和技术信号
图像请求的完整请求头如下所述。您会注意到以下几点:
Referer 被设置为http://mail.google.com。有趣的是,即使用户在 https:// 上,Gmail 在发出请求时仍将 Referer 设置为 http:// 协议。
请求来自 Gmail 的服务器,而不是用户的浏览器。客户端 IP 始终解析为 Google 拥有的 IP 空间。
与 Google 图片缓存不同,用户代理字符串并没有标识请求来自 Google 的机器人之一。相反,用户代理字符串看起来像是实际的用户图像请求。然而,我们已确认此用户代理字符串确实识别出 Google 的预取机器人。
打开请求发生在电子邮件传递后的几秒钟内。此外,请求在电子邮件出现在用户的 Gmail 界面之前进行。这种行为使我们相信请求是出于安全目的。
预取似乎仅在每个未读的 Gmail 电子邮件线程中发生一次。在我们的广泛测试中,一旦用户读取了一条信息,进入该线程组的任何未来电子邮件都不会启动预取请求。
此预取与 Google 图片缓存是分开的。我们的测试表明,即使在图像被预取后,当用户打开电子邮件时也会发起单独的 Google 图片缓存请求。
如果用户打开了 Gmail 移动应用,即使在关闭移动应用后,预取也会在短时间内继续发生。
以下是从 Google 预取机器人请求图像时请求头的示例:
headers: { host: ‘{redacted}.m.pipedream.net’, ‘x-amzn-trace-id’: ‘Root={redacted}’, ‘accept-language’: ‘en-US’, referer: ‘http://mail.google.com/’, accept: ‘image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8’, from: ”, ‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0’, ‘accept-encoding’: ‘gzip, deflate, br’ }, body: {}, inferred_body_type: ‘FORM’, method: ‘GET’, url: ‘https://{redacted}.m.pipedream.net/header-1641a1.gif’, client_ip: ‘66.249.92.1’, query: {}
如上所述,Gmail 的预取仅在有限的情况下发生。其他邮件客户端不会发生预取。而是,当 Gmail 用户在其 Web 浏览器中打开 Gmail 应用程序或正在使用移动应用程序时,这种行为是特定的。我们最好的猜测是,这是在浏览器中向用户显示电子邮件之前的安全扫描。此预取行为还突出显示了为什么电子邮件文件大小优化对于更快的加载和更好的用户体验很重要。
请求行为和技术信号
图像请求的完整请求头如下所述。您会注意到以下几点:
Referer 被设置为http://mail.google.com。有趣的是,即使用户在 https:// 上,Gmail 在发出请求时仍将 Referer 设置为 http:// 协议。
请求来自 Gmail 的服务器,而不是用户的浏览器。客户端 IP 始终解析为 Google 拥有的 IP 空间。
与 Google 图片缓存不同,用户代理字符串并没有标识请求来自 Google 的机器人之一。相反,用户代理字符串看起来像是实际的用户图像请求。然而,我们已确认此用户代理字符串确实识别出 Google 的预取机器人。
打开请求发生在电子邮件传递后的几秒钟内。此外,请求在电子邮件出现在用户的 Gmail 界面之前进行。这种行为使我们相信请求是出于安全目的。
预取似乎仅在每个未读的 Gmail 电子邮件线程中发生一次。在我们的广泛测试中,一旦用户读取了一条信息,进入该线程组的任何未来电子邮件都不会启动预取请求。
此预取与 Google 图片缓存是分开的。我们的测试表明,即使在图像被预取后,当用户打开电子邮件时也会发起单独的 Google 图片缓存请求。
如果用户打开了 Gmail 移动应用,即使在关闭移动应用后,预取也会在短时间内继续发生。
以下是从 Google 预取机器人请求图像时请求头的示例:
headers: { host: ‘{redacted}.m.pipedream.net’, ‘x-amzn-trace-id’: ‘Root={redacted}’, ‘accept-language’: ‘en-US’, referer: ‘http://mail.google.com/’, accept: ‘image/avif,image/webp,image/apng,image/svg+xml,image/*,*/*;q=0.8’, from: ”, ‘user-agent’: ‘Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/42.0.2311.135 Safari/537.36 Edge/12.246 Mozilla/5.0’, ‘accept-encoding’: ‘gzip, deflate, br’ }, body: {}, inferred_body_type: ‘FORM’, method: ‘GET’, url: ‘https://{redacted}.m.pipedream.net/header-1641a1.gif’, client_ip: ‘66.249.92.1’, query: {}
发送方应该如何解读今后的打开指标
与 Apple 的邮件隐私保护一样,发送者应谨慎对待所有打开事件。专注于整体电子邮件质量,包括防止电子邮件地址输入错误并保持清洁的列表以获得更好的投递指标。打开只是发送者应监控和包含在关于用户互动的决定中的众多互动指标之一,并且往往不是最佳的一个。
与 Apple 的邮件隐私保护一样,发送者应谨慎对待所有打开事件。专注于整体电子邮件质量,包括防止电子邮件地址输入错误并保持清洁的列表以获得更好的投递指标。打开只是发送者应监控和包含在关于用户互动的决定中的众多互动指标之一,并且往往不是最佳的一个。
与 Apple 的邮件隐私保护一样,发送者应谨慎对待所有打开事件。专注于整体电子邮件质量,包括防止电子邮件地址输入错误并保持清洁的列表以获得更好的投递指标。打开只是发送者应监控和包含在关于用户互动的决定中的众多互动指标之一,并且往往不是最佳的一个。



