注意:以下客座文章由 WompMobile 首席执行官兼创始人 Madison Miner 撰写
AMP 以其作为速度综合解决方案而闻名。然而,一个常见的误解是,由于 AMP 页面可能从缓存中提供,因此 AMP 最适合新闻文章和博客页面等静态内容,而不适合动态的个性化体验。作为一项开源计划,AMP 稳步发展并日趋成熟。如今,AMP 以有保证的速度提供丰富、动态的内容,这使得该框架非常适合依赖提供有针对性的个性化体验的电子商务、零售和其他行业。
本文介绍如何在 AMP 框架中使用动态数据(通常是电子商务网站所需的)。
三种类型的动态数据
1. 时间敏感数据:对所有用户而言相同且经常更改的数据,例如产品定价和可用性。展示时间敏感数据的示例 AMP 页面
- Provident Metals 在金价每次变化时更新价格
- https://amp.providentmetals.com/french-20-franc-gold-coin-napoleon-circulated.html
- 适用于所有浏览器、所有用户以及 AMP 缓存
- 1 Stop Florist 根据客户的位置和时间承诺为客户提供新鲜花卉
- https://amp.1stopflorists.com/p3/13134/how-sweet-it-is-1
- 适用于所有浏览器、所有用户以及 AMP 缓存
2. 用户个人资料或个人数据:根据您了解(或猜测)的用户情况而更改的数据。这通常用于根据用户的浏览历史记录和位置显示相关产品,或提供高度针对性的个性化体验。示例
- AutoList 显示靠近您地理位置的汽车
- http://amp.autolist.com/ford-mustang
- 适用于所有浏览器、所有用户以及 AMP 缓存
- JM Bullion 根据您的个人资料和浏览历史记录推荐产品
- https://www.jmbullion.com/1-oz-american-gold-eagle/
- 使用 AMP 客户端 ID 而非 Cookie,适用于所有浏览器、所有用户以及 AMP 缓存
3. 用户帐户数据:与特定用户帐户相关联的数据,通常包括身份验证、货币、购物车中的商品数量或愿望清单。示例
- George 记住您的 Cookie 设置,并且仅提示新用户在 AMP 上选择 Cookie
- https://amp.direct.asda.com/
- 仅在有 Cookie 时才起作用
- R.S. Hughes 向已登录用户显示不同的菜单
- https://amp.rshughes.com/
- 仅在有 Cookie 时才起作用
深入了解 AMP 的工作原理
AMP 要求采用性能护栏和最佳实践,同时确保可以从缓存中使用内容。要实现上述每个动态功能,需要两件事:<amp-list> 组件和兼容 AMP 的 API。让我们看看这些功能是如何工作的。
时间敏感数据是最简单的动态数据类型,只需要一个 amp-list 和一个返回纯 JSON 的 API,其中包含正确的 CORS 头。由于价格和可用性数据对所有用户都是相同的,因此 API 无需关注 cookie 或凭据。
要返回有意义的用户帐户数据,API 通常会使用 cookie 来识别用户。要在 <amp-list> 发出的请求中包含 cookie,需要使用 credentials=”include” 属性。这需要一个更复杂的 API,该 API 接受 cookie、识别用户、可能设置 cookie、响应个性化内容,并且还响应 access-control-allow-credentials 头。
在自己的域上使用 AMP 页面时,没有不寻常的 cookie 限制。但是,当页面从 AMP 缓存中提供时,请务必记住您的域被识别为第三方。某些浏览器(如 Safari,可能会阻止第三方 cookie)。建议在确定最终策略之前了解 Safari cookie 管理。
针对此问题有多种解决方法,例如使用 AMP 客户端 ID 来识别用户,而不是 cookie。当 AMP 页面从您自己的域中提供时,cookie 会按预期工作,从而允许 AMP 为所有浏览器提供特定于用户的的数据。
基于用户个人资料或角色创建个性化体验可以通过多种方式完成。
- 根据位置提供体验
- IP 地理定位可用于服务器以估算用户的位置。需要一个 IP 地址数据库,例如 MaxMind 提供的数据库。IP 地理定位无法提供类似 GPS 的准确性;但是,它会返回准确的城市级别结果。一旦确定了用户的大致位置,服务器就会通过 API 响应返回本地化结果。这可用于显示附近的商店销售、最接近的可用位置服务或当地货币和语言。George.com、Providence Health Services 和 Zales.com 是利用 IP 地理定位估算位置并返回个性化结果的品牌示例。
- 根据用户历史提供体验
- 根据客户在您网站上的浏览历史展示相关产品或服务。
- 根据角色提供体验
- 使用数据和算法猜测客户最有可能购买您的哪些产品。此技术可能需要使用第三方数据和创建特定于 AMP 的 API。
此类定制的关键组成部分是跟踪用户行为。amp-analytics 组件可通过多种方式用于报告用户旅程步骤,例如产品浏览和用户互动。AMP 客户端 ID 是统一会话管理的最直接且最一致的方法。 amp-analytics 的 Linker 功能还可用于在第三方 AMP 缓存和您自己的域名之间链接 AMP 会话。
最后的想法
AMP 框架毫不掩饰地强调速度的重要性,并制定规则和最佳实践以保证快速体验。 但实现速度不能以牺牲功能为代价。您需要两者兼得。正如您所了解的,AMP 提供了一个框架来实现这一点。
通过使用组件和 API,AMP 消除了臃肿的 JavaScript 和历史遗留的错误做法,同时保留了对任何业务至关重要的所有功能和逻辑。AMP 是构建网络的绝佳方式,它提供了一种平衡的方法,提升速度并帮助您的客户。