Cloudflare 收购 Zaraz 以实现第三方工具的加载

我们欣然宣布 Zaraz 已被 Cloudflare 收购,并将推出 Cloudflare Zaraz(测试版)。我们今天发布的是 Zaraz 产品的测试版,已集成到 Cloudflare 的系统和控制面板中。您可以用它来云端管理和加载第三方工具,并大幅改善速度、隐私和安全性。从第一天起,我们就押注在 Workers 和 Cloudflare 的技术和网络上,因此,对于今天能够向 Cloudflare 的所有客户免费提供 Zaraz,我们都感到十分兴奋。如果您是 Cloudflare 客户,只需在控制面板中点击 Zaraz icon 图标,即可开始配置第三方堆栈,无需更改任何代码。我们计划在未来几个月内继续发布新功能,直到这个测试版成为充分开发的产品。

是时候对传统的标签管理器和客户数据平台说再见了。它们很好的完成了自己的使命,但随着网络的发展,它们也产生了一些关键问题。我们就是来解决这些问题的。

第三方问题日益严重

创立 Zaraz 前,Yo'av 和我(Yair)一度在第三方工具实施上持相反的立场。在我与营销和产品经理一起工作时,他们经常要求实施多一个分析工具,但身为开发人员的 Yo'av 会因为相关性能影响和安全分风险而抗拒。

在与来自世界各地数百名沮丧的工程师交谈后,我们开始打造 Zaraz。这一切都发生在 2020 年冬季我们加入 Y Combinator 时。当时我们正在开发一个完全不同的产品:用于 Web 分析工具的 QA 软件。每次向新客户推销时,我们都会展示客户站点加载的工具列表。我们还提出了一份与这些工具有关的实施错误清单。我们不断地听到类似的问题:"我们怎么会加载这么多的第三方工具?这些会导致速度减慢吗?是否会影响SEO?如果这些工具之一被黑,我怎么能保护我的用户?" 没有人真正关心过QA。而事实上,工程师们持续在询问第三方工具造成的不断增加的性能影响和安全风险。

对于这些问题的答案,我们并没有把握。但我们意识到它们背后可能隐藏着更大的东西。因此我们决定做一些研究。我们制作一个机器人并扫描了美国访问量最高的 5,000 个域。我们分别在加载和不加载第三方工具的情况下打开网站,并对结果进行比较。平均而言,第三方工具导致 Web 速度降低了 40%。2015 年左右,即 Google 发布标签管理器(Tag Manager) 的几年之后,工程师经常问我们,添加 Google 标签管理器(GTM)是否会减慢网站速度。当时没有人能给出明确的答案。Google 的官方回应是,GTM 是异步加载的,因而应当不会减慢页面中“用户可见”部分的加载。但我们发现这完全不准确。

尽管 Google 正在推动市场加快网站速度,但往往是他们自己的堆栈导致速度变慢。如果您用过 Google PageSpeed Insights,可能已经注意到 Google 在诊断部分指出他们自己的工具存在问题。即使是主要使用 Google 工具堆栈(GTM、Analytics、ads、DoubleClick 等)的 Google Merchandise Store,第三方工具也阻塞主线程 4 秒左右。GTM 自身就造成了 1 秒的阻塞。这个领域的最新发展,例如客户数据平台(Customer Data Platforms)使情况变得甚至更加严重,因为现在有更多第三方代码在浏览器中进行评估和运行。

2021 年,处于中位数的网站在移动端和桌面端分别使用 21 个和 23 个第三方解决方案,同是,对处于 90th 百分位的网站而言,所使用的第三方解决方案数量增加到惊人的 89 个(移动端)和 91 个(桌面端)。加载数十个第三方工具会导致网站变慢,并会破坏各种重要指标,例如总阻塞时间(Total Blocking Time,)、可交互时间(Time to Interactive)等。事实上,这是一场必败的战斗。

在这个一切都在网上进行的时代,速度成为一种竞争优势。在今天的数字环境中,更快的网站显然会影响到利润并击败竞争对手。Google 和德勤(Deloitte)发布的最新数据显示,加载时间仅变化 0.1 秒,就能影响用户使用过程的每一步,最终使各行业的转化率增加多达 10%。此外,Google 去年发布了 Core Web Vitals,这是一组衡量速度的指标,会影响网站的 SEO 排名。

这种工具的多样性也使网站面临服务器安全和因素风险。由于大多工具要求远程 JavaScript 资源,客户无法跟踪其网站上正在加载的内容。这还不是全部,很多第三方工具会调用其他第三方资源,或将 HTTP 请求重定向至您从未听说过的端点。这种糟糕的做法使您的用户暴露于恶意威胁面前,而且往往违反隐私伦理。随着 GDPR、CCPA 和其他法规实施,这已经成为一个令人痛苦的问题。

当前趋势是,我们使用第三方工具——尤其是广告和营销工具——的方式将发生重大变化。主流浏览器正在强制内置对第三方 cookie 的使用的限制。公众开始关注隐私和用户同意问题。市场营销和广告工具被迫放弃使用第三方 cookie 只是时间问题。届时,唯一合理的做法是开放其 API 并允许客户进行云加载。企业将需要采取易于使用的基础设施来实现这种转变。在边缘构建这种基础设施最合理不过了,因为需要在尽可能接近最终用户的地方运行来提高性能。

Zaraz 使您的网站更快、更安全!

Zaraz 可以通过优化加载第三方工具的方式来显著提升网站的性能。我们支持的每个工具都有所不同,但我们的主要想法是在云后端而不是浏览器中运行这些工具。使用仪表板,客户可以实施任何类型的第三方解决方案:交互部件、分析工具、广告工具、营销自动化、CRM 工具等。测试版包含 18 个第三方工具,供您集成到网站中。只需单击几下,您就可以开始在云中完全加载一个工具,没有任何 JavaScript 在您的终端用户浏览器中运行。您可以在我们的首席信息官 Yo'av Moshe 所写的博客文章中进一步了解我们这一独特的技术。

将第三方脚本的执行从浏览器中转移出来,对页面加载时间影响明显,完全是因为浏览器中运行的代码减少了。这样做还为个人身份信息、受保护的健康信息或其他经常无意中传递给第三方供应商的敏感信息提供了额外的保护和控制。如果您的网站确实包含一些第三方资源,Cloudflare 将在今天晚些时候发布 PageShield,一个保护网站免受潜在风险侵害的解决方案。这两种产品针对第三方安全和隐私威胁提供了一个全面的解决方案。

对于希望测试更复杂集成的客户,我们提供一个 Events API 以及一套供你使用的预设变量。通过这种方式,您可以根据上下文来衡量转化率或对网站采取的任何行动。对于目前的 Google 标签管理器用户,我们有一个好消息:Zaraz 提供开箱即用的 dataLayer 向后兼容性。您可从 GTM 轻松切换到 Zaraz ,无需对代码进行任何更改。在不久的将来,我们也会简化将当前 GTM 配置导入 Zaraz 的操作。欢迎查阅文档以了解更多信息。

使用 Zaraz 后,Instacart 实现了 0 ms 的阻塞时间,并提高了安全性。

“利用 Zaraz,Instacart 得以大幅提高我们购物网站的性能,但整个站点的改动非常小。我们对 https://shoppers.instacart.com/ 进行了大量优化工作,但发现第三方工具是影响性能的下一个因素。通过 Zaraz,我们优化了第三方工具加载时间,而使用 Cloudflare Workers 让我们可在自己的子域内进行集成,保持对可见性和安全性的控制。”
- Marc Barry, 云基础软件工程师,Instacart

没有人比我们的客户更适合谈论使用 Zaraz 的好处了。作为北美领先的在线超市平台,Instacart 决定在其 shoppers.instacart.com 网站上测试 Zaraz 。他们有两个目标:提高安全性和隐私性,并加快页面速度(具体而言,就是改善总阻塞时间)。

在安全和隐私方面,Zaraz 默认不保存任何最终用户信息,而只是作为一个管道运行,这是他们决定测试 Zaraz 的重要原因。通过阻止第三方脚本直接在浏览器中运行,他们希望减少使用第三方工具带来的安全风险。为了获得更大的控制权,他们决定使用 Cloudflare Workers 代理所有通过其 shoppers.instacart.com 子域来往 Zaraz 服务的请求。此举让他们对发送数据到第三方(包括 Zaraz 本身)的过程获得完全的可见性和控制。

Instacart 是世界上最精通技术的公司之一,与其他网站相比,Shoppers 子域的启动速度本身就已经相当快。他们之前已经在改善速度指标方面做了大量工作。但他们已经到了这样的地步:第三方脚本成为减慢速度的主要原因。

Speed metrics improvements measured on https://shoppers.instacart.com/, before and after implementing Zaraz. Measured on Mobile, US East.

如上图所示,启用 Zaraz 显著提高了移动设备上的页面速度。总阻塞时间从 500 ms 下降至 0 ms。可交互时间改善 63%,从 11.8 秒缩短到 4.26 秒。CPU 时间改善 60%,从 3.62 秒缩短至 1.45 秒。JavaScript 文件缩小 63%,从 448 KB 减少至 165 KB。

Speed metrics improvements measured on https://shoppers.instacart.com/, before and after implementing Zaraz. Measured on Desktop, US East.

在桌面端也测量到明显的改善。总阻塞时间从 65 ms 下降至 0 ms。可交互时间改善 23%,从 1.64 秒缩短到 1.26 秒。CPU 时间改善 55%,从 1.57 秒缩短至 0.7 秒。JavaScript 文件缩小同样的幅度,从 448 KB 减少至 165 KB。

随着越来越多象 Instacart 这样的行业领军企业开始将工具转移到云端,大多 SaaS 提供商和初创公司开始构建服务器端集成,作为在边缘运行的完整解决方案,这只是时间问题。第三方提供商从未打算作恶,他们只是缺少在边缘构建可扩展集成的工具。与 Instacart 一起,我们有机会与一些供应商取得直接联系并进行合作,共同找到最优化的解决方案。我们将投入大量精力与 SaaS 公司和供应商合作,并向他们提供一种在边缘构建解决方案的简单方法。敬请关注!

Zaraz 作为平台的未来

这是我们公司发展史上的一个重要里程碑。我们的团队很高兴能加入 Cloudflare 位于葡萄牙的办公室,并将在当地继续领导 Zaraz 的产品开发。作为 Cloudflare 的一部分,我们将把 Zaraz 变成一个平台,第三方供应商可以在这个平台上轻松构建各种工具并利用 Cloudflare 的全球网络能力。我们将引领整个行业采用第三方工具的服务器端加载,让每个人都能够轻松地构建更好、更快、更安全的产品。

甚至在加入 Cloudflare 前,Zaraz 就已经完全在 Workers 上运行,因而集成工作简单快捷。因此,我们能够快速地继续构建新功能,直至能提供一个完整的产品并正式发布。借助 Cloudflare 独特的内部能力,我们将能使 Zaraz 甚至更加健壮,并简化了新客户的上手过程。我们已经实现的一个重大改进是,Cloudflare 客户无需更改任何代码即可使用 Zaraz。一旦启用,我们的脚本就会直接嵌入到 HTML 的 <head> 中。另一个令人兴奋之处是,整个服务现在都在您自己的域上运行。

此外,我们计划利用 Cloudflare 的专长来扩展我们的功能集,帮助我们的客户处理更多第三方代码带来的安全威胁和隐私风险。一个例子是添加地理位置触发器,从而有可能为世界不同地区访问网站的最终用户加载不同的工具。这样做是为了遵守各种不同的规定。另一个例子是数据丢失防护(DLP)功能,目前由我们的一些企业用户使用。DLP 功能扫描发送至第三方端点的每一个请求,确保其不包含敏感信息,例如姓名、电子邮件地址、社会保险号码(SSN)等。还有大量功能正在开发中。

像 Cloudflare 这样有影响力的公司将帮助我们在市场中推动积极的变化,促使供应商在边缘构建,并推动公司采用云加载。我们计划扩展我们的 SDK,使所有第三方供应商都能够在我们的平台上构建集成,并轻松地使用 Workers 在边缘上运行他们的解决方案。与 Cloudflare 一起,我们将在第三方代码向云加载转变的过程中发挥主导作用。是时候对标签管理器和客户数据平台说再见了。本宣告标志着一个时代的终结。很快,只需优化网站加载第三方工具的方式,我们就能享受速度提高 40% 的浏览体验。

通过向世界各地数以百万计 Cloudflare 用户提供 Zaraz ,我们更进一步接近实现我们的目标:使互联网对每一个人都更快、更安全。我们认为,任何网站,无论大小,其用户体验都不应该因为使用分析、聊天机器人或任何第三方工具而降低。这些工具应当改善而非损害用户体验。我们将不断努力,直到整个 web 转移到第三方工具云加载,从而释放浏览器来完成其原本设计要做的工作:加载网站。我们为这个未来感到兴奋,不达目的绝不罢休。

如果您希望体验免费测试版, 请点击这里。如果您是企业,并有其他/定制要求,请 点击这里 以加入等候名单。要加入我们的 Discord 频道,请点击这里