右键单击可进行跨域跟踪



当用户使用右键单击(而不是左键单击)跳域时,是否有方法传递GA cookie以进行跨域跟踪?

似乎依赖于autoLink,它在左键单击时自动装饰链接,并且不直接提供替代事件。

由于我在做假设,所以我没有提供完整的解决方案。

根据GA分析中的autoLink。js开发指南:

// Loads the Linker plugin
ga('require', 'linker');
// Instructs the Linker plugin to automatically add linker parameters
// to all links and forms pointing to the domain "destination.com".
ga('linker:autoLink', ['destination.com'], false, true);

这也将在oncontextmenu上操作,因此如果访问者右键单击并选择"在新选项卡中打开",则链接仍将被装饰,并将附加数据。

如果需要对其他事件进行修饰,则需要通过使用手动添加链接器参数来扩展autoLinking

ga('linker:decorate', destinationLink);

这样的函数调用根据上面"linker:autoLink"数组中列出的域装饰链接。它可以适用于所有跨域链接。

假设上下文菜单需要禁用:来自Andy E的回答

destinationLink.oncontextmenu = function ()
{
    ga('linker:decorate', destinationLink);
    console.log(destinationLink.href);
    document.location = destinationLink.href;
    return false;
}

这将在右键单击时装饰链接,并将浏览器指向装饰的URL。

如果上下文菜单已经被禁用,则缩写为Andy E的代码:

destinationLink.addEventListener('mousedown', function (e) {
    console.log('mousedown', e);
    if (3 == e.which) { // is it a right click
        ga('linker:decorate', destinationLink)
        document.location = destinationLink.href;
    }
})

请注意,由于参数在2分钟后过期,因此必须在访问者单击之前尽快进行装饰。

Analytics Ninja,根据您的具体需求调整您的代码,如果遇到进一步的问题,请遵循Philip Walton的建议

相关内容

  • 没有找到相关文章

最新更新