我编写此代码,只要用户将鼠标悬停在网站的特定区域上1秒钟,就可以通过Google跟踪代码管理器将事件推送到数据层。问题是我有8个其他区域使用这段代码并将其他信息推送到数据层(当然我为这些div定义了不同的ID),但是这里遇到了困难的部分:每个区域都推送相同的事件mouseover(上次创建的事件,作为Google跟踪代码管理器中的标记)。 我怎样才能将这些事件正确地推送到数据层?
谢谢, 阿提拉
我的代码有两个例子:
var startTime; var endTime; var differenceTime;
document.getElementById("budapest-pin").onmouseover = function() {mouseOver()};
document.getElementById("budapest-pin").onmouseout = function() {mouseOut()};
function mouseOver() {
startTime = Date.now();
};
function mouseOut() {
endTime = Date.now();
differenceTime = (endTime-startTime)/1000;
if(differenceTime>1)
{
dataLayer.push({'event': 'budapest'
});
};
};
</script>
<script>
var startTime; var endTime; var differenceTime;
document.getElementById("szeged-pin").onmouseover = function() {mouseOver()};
document.getElementById("szeged-pin").onmouseout = function() {mouseOut()};
function mouseOver() {
startTime = Date.now();
};
function mouseOut() {
endTime = Date.now();
differenceTime = (endTime-startTime)/1000;
if(differenceTime>1) {
dataLayer.push({'event': 'szeged'
});
};
};
</script>
答案 0 :(得分:2)
使用以下代码在您的网页上设置收听活动:
var startTime = {};
var endTime = {};
document.getElementById("budapest-pin").onmouseover = function() {
mouseOver('budapest')
};
document.getElementById("budapest-pin").onmouseout = function() {
mouseOut('budapest')
};
document.getElementById("szeged-pin").onmouseover = function() {
mouseOver('szeged')
};
document.getElementById("szeged-pin").onmouseout = function() {
mouseOut('szeged')
};
function mouseOver(id) {
startTime[id] = Date.now();
};
function mouseOut(id) {
endTime[id] = Date.now();
var differenceTime = (endTime[id] - startTime[id]) / 1000;
if (differenceTime > 1) {
dataLayer.push({
'event': 'mytaghover',
'eventCategory': id,
'eventAction': 'hover',
'eventLabel': 'hovered ' + differenceTime + ' seconds'
});
};
};
在GTM中执行以下步骤:
使用类型&#39;数据层变量&#39;创建3个GTM变量。和followint&#39; Title&#39; - &#39;数据层变量名称&#39;:
dataLayer Category
- eventCategory
dataLayer Action
- eventAction
dataLayer Label
- eventLabel
使用标题MyHover trigger
创建GTM触发器,输入&#39;自定义事件&#39;和&#39;活动名称&#39; mytaghover
创建类型为&#39; Google Analytics&#39;的GTM代码。定义您的跟踪ID&#39;。选择&#39;事件&#39;在&#39;跟踪类型&#39;领域。填写&#39;事件跟踪参数&#39;的字段使用步骤1中的适当变量。在&#39; Fire On&#39;部分选择&#39;更多&#39;并选择MyHover trigger
。
在&#39;预览&#39;中测试您的容器模式然后发布它。