Javascript:通过Google跟踪代码管理器将鼠标流会话ID作为自定义维度推送到Google Analytics

时间:2016-04-26 11:30:39

标签: javascript google-tag-manager

我想在Google Analytics中添加Mouseflow ID作为自定义维度。我正确地集成了我的GTM,其他标签和触发器工作得很好。我正在努力解决以下问题:

我需要一个包含返回Mouseflow ID的javascript的自定义变量。我已将此链接用作参考:

https://mouseflow.zendesk.com/hc/en-us/articles/206505015-How-do-I-push-data-into-third-party-tools-

Google跟踪代码管理器中的自定义Javscript变量需要一个函数并返回,因此我无法直接使用上述网站上的代码。我尝试过的两件事是:

$(window).load(function() {
   return mouseflow.getSessionId;
});

function() {
    return mouseflow.getSessionId();
}

正如您所猜测的,我缺乏Javascript知识来正确实现代码。我已经在这几个小时了,并认为现在是在这里提出这个问题的合适时机。最近我一直在在Analytics中的自定义维度中获取对象,实际上并不接近。

我通过将变量设置为事件的标签来测试变量,我将其配置为GTM中的Mouseflow记录。只有带变量的自定义维度保持(未设置)或对象对象。

谢谢,如果我错过了什么或者不清楚,请告诉我。

米克

3 个答案:

答案 0 :(得分:1)

您是否尝试过查看此文章: https://mouseflow.zendesk.com/hc/en-us/articles/206505595-Google-Analytics-Integration

基本上,它建议做这样的事情:

if (typeof ga != 'undefined' && typeof mouseflow != 'undefined') {
   ga('set', 'dimensionX', mouseflow.getSessionId());
   ga('send', 'event', 'Mouseflow', mouseflow.getSessionId(), {'nonInteraction': 1});
}

要使用此功能,您需要先在Google Analytics中创建自定义维度,然后将正确的维度名称添加到上面的代码段中。

答案 1 :(得分:0)

我怀疑你的问题是鼠标流代码是在页面底部加载的。 GTM在页面开头加载。尝试使用自定义js变量的第二个版本,但仅在页面加载时触发GA标记(创建新的页面视图触发器并将触发器类型设置为加载窗口)。

作为替代方案,在页面源代码中设置mouseflow ID,将变量推送到数据层并通过datalayer变量获取它。在鼠标流代码后推送到数据层:

$(window).load(function() {
   dataLayer.push({"mouseflow_id": mouseflow.getSessionId});
});

然后创建dataLayer类型的新变量,将datalayer键设置为“mouseflow_id”并在分析标记中使用它。

答案 2 :(得分:0)

我目前在Google跟踪代码管理器中将其设置为以下内容:

包含以下内容的自定义javascript变量:

function() { return mouseflow.getSessionId(); }

添加了一个窗口加载触发器,在我的Google Analytics帐户中设置了会话范围的维度。之后我为我的GA代码添加了一个事件标记,它使用窗口加载的触发器设置所添加的变量所选的自定义维度槽。

为我的案子工作。