【问题标题】:Create dataLayer custom event for external clicks为外部点击创建 dataLayer 自定义事件
【发布时间】:2013-02-18 20:32:47
【问题描述】:

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

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

【问题讨论】:

  • 这不是一个真正的问题,是吗?无论如何,你是对的。您可能还想使用单击的 url 推送变量。
  • 是的 - 我正在寻找有关代码外观的指导 - 不知道 javascript

标签: google-analytics google-tag-manager


【解决方案1】:

一个示例函数:

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。

在跟踪代码管理器中,您需要创建一个在自定义事件“出站”上触发代码的新规则,以及一个捕获“href”数据层变量的 dataLayer 类型的宏。您可以在代码中使用此变量(例如,使用 GA 虚拟“网页浏览”)并使用规则“触发事件“出站”来触发代码。

该代码可能无法在所有浏览器上运行,并且是一个原理演示而不是生产代码(此外,它会捕获所有链接,您需要测试建议出站的绝对 url 或域名或 css 类名关联)。我建议使用 jQuery 来查找链接和附加事件。

【讨论】:

    猜你喜欢
    • 2019-11-09
    • 2014-10-31
    • 2011-05-22
    • 2020-09-24
    • 1970-01-01
    • 2011-03-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多