我的帐户中有两个 Google Analytics(分析)配置文件。一,对于我的生产账户, Assets ID:UA-XXXXXXXX-1。我的第二个配置文件用于我的暂存帐户进行测试,它具有属性 ID:UA_XXXXXXXX-2。
在标签管理器中,如果我的 url 包含“mydomain.com”,我的“-1”标签会触发;如果 url 包含“mydomain.it”,我的“-2”标签会触发。
使用此设置触发 GA 代码效果很好。我的暂存数据与生产数据分开,并且能够测试基本的 GA 综合浏览量。
现在需要的是分离事件的能力。目前,我在每次事件跟踪之前调用 setAccount(我知道这可以在单个调用中进行)。
_gaq.push(['_setAccount', 'UA-XXXXXXXX-1']);
_gaq.push(['_trackEvent', 'Videos', 'Play', 'Gone With the Wind']);
我想做的是调用 _setAccount 方法并动态传递来自 Google 跟踪代码管理器的值,我在其中根据 url 设置属性 ID。
有没有办法做这样的事情(或更好的事情),以便我可以根据跟踪代码管理器规则设置帐户?
_gaq.push(['_setAccount', [Tag Manager Property ID] ]);
感谢您提供的任何建议/帮助。
谢谢!
最佳答案
IMO 将数据从标签管理器传递到网站,除了所有实际困难之外,将完全破坏具有异步加载代码的目的。
您将方法“推送”到堆栈上,这样您就可以在将来某个不确定的时间点加载代码时处理它们。如果您想从代码中获取帐户 ID,则必须等到代码加载完毕,这样您就失去了异步加载的所有优势。
据我所知(还没有广泛使用标签管理器)正确的方法是将事件数据推送到“数据层”变量:
dataLayer.push({'myevent': 'mylabel'});
并在通过标签管理器部署的代码中使用变量(如 dataLayer.myevent)(这样您就可以在域特定代码中进行实际的事件跟踪)。
这在以下位置有描述:https://developers.google.com/tag-manager/devguide
标签管理器中实际上有一个用于 Google Analytics 的事件跟踪模板。对于事件值,您可以创建一个新宏并将其设置为数据层变量。然后添加您的域特定规则,您应该已经准备就绪。
关于google-analytics - 将数据从 Google Tag Manager 传递到 Google Analytics,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13353065/