经典问题:多地区/语言站点的GA如何布局?
本篇极诣将和大家探讨一个跨国公司网站常见的问题,GA怎么部署。本篇讲的GA并非是GA4,而是Google Analytics 3,也就是使用gtag.js的版本,再老的GA2(analytics.js)甚至GA1(ga.js)的解决方案就不讨论了。
这羊毛要不要薅?
我们知道GA是免费的,也有付费的GA360版本。免费的限制是每项媒体资源(Property)每月不能超过 1000 万次匹配。对于大型网站来说,1000万次Hits还是很有限的。于是就有人会想把各个地区的网站分开申请不同的Property。但这样做会造成许多统计问题,极诣并不建议这么做。我们本篇要讲的多地区/语言的GA布局是基于所有网站都使用一个共同的Property ID的基础上的。
常见的多地区/语言网站的配置
实际上我们能看到的市面上的配置方式无外过这几种:
- 所有地区语言都建立在同一个域名下。比如微软的网站Microsoft.com下有各种locale配置。
- https://www.microsoft.com/en-us/
- https://www.microsoft.com/zh-cn/
- https://www.microsoft.com/ja-jp/
- 使用不同的ccTLD或者子域名部署不同地区网站。
- https://www.google.com/
- https://www.google.co.jp/
- https://www.google.co.uk/
- 使用不同的子域名部署不同地区网站。
- https://uk.burberry.com/
- https://cn.burberry.com/
- https://jp.burberry.com/
- 上述各种混用的情况。
对GA来说这些做法相应分为同域名、跨域名和跨子域名三种配置。
同域名不同目录的GA配置
同域名不同目录的情况我们只要在GA中设置不同的View就可以。在ADMIN视图中选择+ Create View即可新建视图。接下来要注意新建一个Filter。
上图中我们就将/us/开头的页面过滤出来了。我们的视图中将只包括这些页面。我们可以为每个地区、语言建这样的视图。那么你可能要问了,有的网站有一个默认的地区后面什么目录也没有,那怎么办?
你可以参考上面的Filter做法,用正则表达式排除掉/gb/或者/cn/的页面:
^\/(gb|cn)([\/?]|$)
不同域名的GA配置
不同域名的GA配置也需要为不同域名建立不同的View。第一步,在View Setting中设置好URL。
第二步,新建一个Filter,过滤出目的地为该域名的流量。如下图:
第三步,你要去ADMIN > Property > Tracking Info > Referral Exclusion List中把所有你用到的域名都添加进去。这样做就不会发生内部的跨站点击覆盖掉原始来源的情况。
第四步是要建立一个Linker,为的是一次跨域访问不会被分别记为两次或者多次访问。下图是在Google Tag Manager中的例子:
如果不使用GTM可以用以下代码:
gtag('config', 'GA_MEASUREMENT_ID', {
'linker': {
'domains': ['maxket.us', 'maxket.eu', 'maxket.cn', 'maxket.com']
}
});
最后,第五步,如果需要考究一点。可以通过Filter在页面URL前面加上访问的域名:
不同子域名的GA配置
跨不同子域名的GA配置要比跨域名简单多了。参考上面,除了第四步,View Setting,View Filter,Referral Exclusion List和最后的添加域名这些步骤你仍旧要做。另外你需要改一个设置:
如果没有使用GTM也可以用下面代码进行设置。
gtag('config', 'GA_MEASUREMENT_ID', { 'cookieDomain': 'auto' });
至此,我们已经讲了三种不同配置多地区、语言网站GA的方法。如果你的网站因为历史原因是几种方式混合使用的,那只要把上述方法都配一遍即可,要记得Linker里面的域名不要放subdomain子域名。
这篇文章篇幅问题仅仅讲了做法,但没有介绍原理。感兴趣的读者请参阅下面的文章:
《Google Analytics Cross Domain Tracking with Google Tag Manager. The Guide. – Julius Fedorovicius》
《Cross-domain tracking across subdomains – Simo Ahava》