Javascript:通过 Google 标签管理器将 Mouseflow 会话 ID 作为自定义维度推送到 Google Analytics

Javascript: Push Mouseflow session ID as a custom dimension to Google Analytics through Google Tag Manager

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

认为 我需要一个包含 javascript 的自定义变量,return 是 Mouseflow ID。我用这个 link 作为参考:

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

Google标签管理器中的一个自定义Javscript变量需要一个函数和return,所以我不能直接使用上面网站上的代码。我尝试过的两件事是:

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

并且:

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

如您所料,我缺乏 Javascript 正确实施代码的知识。我已经研究了几个小时了,我认为现在是时候在这里问这个问题了。我最接近的是在 Analytics 的自定义维度中获取 Object 对象,这实际上并不接近。

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

谢谢,如果我遗漏了什么或不清楚,请告诉我。

米克

你有没有试过看这篇文章: 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 中创建一个自定义维度,然后将正确的维度名称添加到上面的代码段中。

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

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

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

然后创建一个数据层类型的新变量,将数据层键设置为 "mouseflow_id" 并在您的分析标签中使用它。

我目前在 Google 跟踪代码管理器中进行了如下设置:

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

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

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

为我的案子工作。