我已在我的网站上实施了Google Analytics(GA),并通过 ga("send", "event", ...);
函数发送了多个自定义事件,效果很好 .
我正在尝试使用Google跟踪代码管理器(GTM) . 我删除了原始GA代码段,现在我使用GTM在我的网站上注入GA标记,并正确跟踪网页浏览量 . 什么效果不好的是由ga()函数发送的自定义事件 .
我注意到 GA create
有跟踪器名称变量之类的
ga("create", "UA-12345678-1", {name: "gtm0123456789", allowLinker: false});
Google Chrome浏览器的Google Analytics Debugger扩展程序报告 Command ignored. Unknown target: undefined
.
我发现发送事件调用应该包含跟踪器名称,所以它应该看起来像 ga("gtm0123456789.send", "event", ...);
,但我不想更改所有现有的 GA send event
调用 .
我通过在GTM设置中将跟踪器名称设置为空字符串来快速修改它( Edit Tag -> More Settings -> Advanced Configuration -> ☑ Tracker Name
,将文本框保留为空白),现在它可以正常工作,但我不认为它是如此出色的解决方案 .
有没有其他选项可以让我现有的 GA send event
调用并通过GTM使用事件跟踪?
4 回答
有一种方法 - 您可以在标签管理器中重命名ga功能(高级配置,全局功能名称),例如到“real_ga” . 然后在您自己的页面中创建一个自定义ga函数,该函数从事件跟踪调用中获取参数并将它们传递给real_ga函数(因此您只需要在一个位置更改跟踪器名称),或者更好地将它们推送到dataLayer (然后您可以在GTM中使用dataLayer值进行事件跟踪) .
但是你为什么要那样做呢?你实际上没有问题,你对你的解决方法感到很糟糕 . 对此的正确答案是,只要它起作用就不会感觉不好 .
我有类似的配置(Google跟踪代码管理器中的通用分析代码),我想点击按钮触发事件 .
我使用petriq的注释来解决我的问题,因此想要添加我的注释 .
普通Universal Analytics事件代码采用以下格式:
您可以使用跟踪器名称从代码中触发Universal Analytics事件:
但是跟踪器名称在每个gtm加载中都会发生变化,因此我更改了以下代码:
希望能帮助到你!
http://www.lunametrics.com/blog/2015/01/21/gtm-existing-tracking/
最好的方法是使用GTM实现所有跟踪 . 它可以让您更好地控制跟踪代码,并在部署新标签时提供更大的灵活性 .