姗姗来迟的GA-AMP最终解决方案

AMP和GA终于可以好好相处了

AMP和GA终于可以好好相处了

AMP发布以来,最为人诟病的不是它压缩了媒体发布广告的能力,而是它将网站分析搞成了一片混沌。由于AMP具有三种形态,其中两种URL不在你自己的主域名上,这就形成了跨域跟踪。此外,由于Cookie与域名相对应,GA会因此把访问普通页面和AMP页面的访客当做两个访客来看待。对网站分析师来说这形同噩梦。

如果你还不清楚AMP页面URL的三种形态,那么Search Engine Land的这篇文章可以很好地帮到你。

同一篇文章的AMP版URL有三个版本

同一篇文章的AMP版URL有三个版本

在2017年5月,谷歌解决了AMP和普通页面之间的跨域跟踪问题,这样一来一个AMP页面点击到普通页面或者相反路径的访问就不会被视为一次refer,仅仅算一个用户的一次访问。但是5月的更新并不能解决单一访客的问题。假设用户访问了AMP页面,过了几天又在另一个Session中访问了普通页面。这两次访问仍然无法被关联到一个访客。于是乎就有了9月的这次GA更新

Google’s AMP Client ID API和部署

谷歌在9月5日通过GA官方博客发布了Google’s AMP Client ID API。顾名思义它是将在客户端上做文章,已填补Cookie跨域能力的不足。由于它基于一套API,所以为了使用它,我们还需要对我们的页面和AMP页面进行一些更改。

首先你需要将下面这行代码放入你的每一个AMP页面的<head></head>中。

<meta name=”amp-google-client-id-api” content=”googleanalytics”>

如果你使用WordPress插件AMPforWP,那这一步很容易就可以完成。你只要在其Settings中找到SEO,并将代码贴入Additional tags for Head section AMP page中保存即可。见下图:

通过插件我们可以轻松添加设置代码

通过插件我们可以轻松添加设置代码

第二步同样是小修改。你此处取决于你使用GTM(Google Tag Manager)还是直接使用GA代码。

当你使用GTM时,你可以在AMPforWP中启用GTM模式(Use Google Tag Manager)。然后在GTM的Universal Analytics标签中添加新的域useAmpClientId,值为true。详见下图:

不用更改添加代码,直接通过GTM搞定

不用更改添加代码,直接通过GTM搞定

保存完发布即可。

当你直接使用GA时,你需要在GA新建tracker的代码中添加参数,原理同上。

ga(‘create’, ‘UA-XXXXX-Y’, ‘auto’, {‘useAmpClientId’: true});

使用AMP Client ID带来的影响

当你部署了AMP Client ID之后,你的访客数和访问数都会更加准确。由于合并了同一访客,并且减少了跨域访问的多次计算,你的访客数和访问数会变少。Avg. Time on Site和Bounce Rate也会相应变化。

不过你也会发现你的New User数会增加,因为新的部署“刷新”了受众。因此如果你的AMP流量占到一定比例,在部署前要充分了解之后的影响免得被吓坏哦~