Javascript 创建后更改google analytics TrackingId
说明: 我有一个使用googleanalytics代码的单页应用程序。该应用程序适用于4个不同的国家顶级域名,例如www.example.de、www.example.at、www.example.be等。。也可以在不更改域名的情况下更改国家/地区。例如,如果您在www.example.co.uk域上工作,则无需重新加载页面即可将国家/地区更改为德国 问题: 我需要为每个国家使用不同的trackingID,而无需重新加载页面 如果我加载带有.co.uk顶级域跟踪id的页面,我以后无法在不重新加载页面的情况下对其进行更改。这怎么可能 我读了谷歌的文件。并使用文档创建跟踪代码 创建跟踪ID后是否可以更改跟踪IDJavascript 创建后更改google analytics TrackingId,javascript,google-analytics,Javascript,Google Analytics,说明: 我有一个使用googleanalytics代码的单页应用程序。该应用程序适用于4个不同的国家顶级域名,例如www.example.de、www.example.at、www.example.be等。。也可以在不更改域名的情况下更改国家/地区。例如,如果您在www.example.co.uk域上工作,则无需重新加载页面即可将国家/地区更改为德国 问题: 我需要为每个国家使用不同的trackingID,而无需重新加载页面 如果我加载带有.co.uk顶级域跟踪id的页面,我以后无法在不重新加载
您可以做一个变通方法:
- 创建一个cookie,存储国家名称
- 当用户单击以更改国家时,推送一个数据层对象,并使用该国家更改cookie的值
- 创建一个自定义变量,并根据cookie值将该变量的值设置为跟踪id
附言:这是个小把戏,反正我也不能尝试,因为我没有网站。请仔细检查 哇,这真有趣。但是,在不知道技术是否有效的情况下采取行动是有风险的。也许你需要做一个跨域的例子。在两个帐户上具有相同的id。但我会尽量保持简单: 是的,可以执行create命令,在用户到达您的域跟踪常规跟踪代码时执行此操作
<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','https://www.google-analytics.com/analytics.js','ga');
ga('create', 'UA-XXXXX-Y', 'auto');
ga('send', 'pageview');
</script>
<!-- End Google Analytics -->
因此,在SPA上,您可以使用命令手动推送页面视图
ga('send', 'pageview'); //to you original loaded tracking code
或
铁道部信息:
奖金轨道,使用GTM:
通过谷歌标签管理器和数据层,你可以在每次点击时设置国家。例如,您可以创建一个Vlookup表
例如,更改变量的UA,该变量在dataLayer.push上读取您的国家值,并在标记上返回所需的UA。这是最好的办法。但是,这个答案越来越长了。阅读更多信息
谢谢你,回答得很好。但一些国家由于数据安全问题希望禁用跟踪。在这种情况下,不可能使用GTM,因为一些国家不希望将用户数据传输到google服务器。我想我找到了另一个解决办法。我删除了默认的命名跟踪程序,并根据国家/地区的变化添加了一个新的跟踪程序。这是一个解决方案吗?@KorayGüclü,不确定你是否可以自然删除一个create对象,我们必须检查一下。因为创建是一个堆栈对象。我找到了一个解决方案,可以删除默认trackingId并创建一个新的。没有命名的TrackingID。这对于facebook是不可能的,只有谷歌是working@KorayGüclü,我不知道你为什么要谈论facebook,这是另一个脚本,但情况将非常相似。如果您的id在所有国家/地区都相同,您只需执行fb('track','PageView'),另一方面,如果您的id因国家/地区而异,则必须初始化另一个对象。我不知道该怎么做。
ga('send', 'pageview'); //to you original loaded tracking code
ga('trackercountryXX.send', 'pageview'); //If the interaction goes to the new tracking code.
dataLayer.push({'country' : 'xxxx'})