首页 文章

为外部点击创建dataLayer自定义事件

提问于
浏览
0

我希望在任何外部链接上点击时创建一个dataLayer推送事件 - 我计划将其用作触发GTM标记以进行外部链接跟踪的触发器 . 我想它会是这样的:

<script>
Some code to detect clicks on any external links
dataLayer.push({'event': 'eventNameXYZ'});
</script

1 回答

  • 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来查找链接和附加事件 .

相关问题