我希望在任何外部链接上点击时创建一个dataLayer推送事件 - 我计划将其用作触发GTM标记以进行外部链接跟踪的触发器。我想它会是这样的:
<script>
Some code to detect clicks on any external links
dataLayer.push({'event': 'eventNameXYZ'});
</script
答案 0 :(得分:0)
示例功能:
function pushToDataLayer() {
var links = document.getElementsByTagName('a');
for(var i=0,cnt=links.length;i<cnt;i++) {
var current = links[i];
current.onclick = function() {
dataLayer.push({
'href': current.href,
'event': 'outbound' // event to trigger a rule in the tag manager
});
}
}
}
(如果你使用jQuery或类似的东西,这会更容易)。这会将点击事件附加到所有链接。单击将使用单击的href将事件和变量推送到dataLayer。
在跟踪代码管理器中,您需要创建一个新规则,在自定义事件“outbound”上触发标记,并创建一个类型为dataLayer的宏,用于捕获“href”dataLayer变量。您可以在标记中使用此变量 - 例如使用GA虚拟'pageview - 并使用规则“fire on event”outbound“触发标记。
代码可能无法在所有浏览器上运行,并且是原型而非生产代码的演示(加上它将捕获所有链接,您需要测试绝对URL或域名或css类名称,表明出站链接)。我建议使用jQuery来查找链接和附加事件。