GTM:从事件中收集坐标(x,y)

时间:2017-05-19 11:56:00

标签: javascript jquery google-tag-manager web-analytics

我对Google代码管理器有编辑权限。是否可以通过此工具在数据层中收集事件触发时的坐标(x,y)?

事件跳转的网页元素可能会及时改变位置。

怎么做?

2 个答案:

答案 0 :(得分:1)

这个函数可以帮助你找到点击元素的位置,通过position()的jQuery函数检测事件并检测位置,所有这些都添加了一个监听器,这个代码需要在页面或里面实现自定义HTML标记



    $("a").click(function(event) {
        var loc = $(this).position();
        dataLayer = window.dataLayer || [];
        dataLayer.push({ 'event' : 'click_element' , 'posy' : loc.top , 'posx': loc.left });
    });




在var中也必须是一个干净的方法,但创建该函数要复杂一点。

问候

-------------旧答案-----------------

您在谈论什么类型的活动?这是一次点击?或者是由Javascript推出的事件?例如,对于头部的功能,您确定为X和Y?

也许确定什么类型的事件可以更好地指导答案,例如,您可以看到clickEvent位置的示例。

此功能非常有用,可跟踪鼠标位置并将信息推送到dataLayer。



var posX;
var posY;
document.onmousemove = function(e){
      posX= e.pageX;
      posY= e.pageY;
};
function mouseLocation(){
     if(typeof window.dataLayer === 'undefined'){ window.dataLayer =  window.dataLayer || [] };
     dataLayer.push({ 'event' : 'mouseLocation', 'PosX' : posX, 'PosY' : posY});
};
  // paste this on the head or inside an HTML tag. 

   mouseLocation(); //Use this function on the onClick on the object to be track




如果要与单击侦听器一起使用,可以尝试将此作为变量添加,并在函数上添加返回。请记住,位置取决于宽高比和分辨率,因此按钮可以位于同一位置,但X和Y位置可能不同。

答案 1 :(得分:0)

对于点击事件,您可以获取事件激活的坐标。

怎么办?

  • 编写一个简单的JS函数,以便在鼠标单击时获得x,y坐标。
  • 使用某个事件键将值推送到数据层。
  • 通过GTM在该数据层事件上触发标记