javascript 的跟踪像素

Tracking pixel with javascript

我有一个跟踪像素需要在 JS 中加载,只需单击一个按钮即可。所以过程如下:

  1. 用户点击了一个link
  2. 我阻止点击(e.preventDefault)
  3. 加载跟踪像素
  4. 重定向用户

这是代码:

$('.btn-cta').on('click', function (e) {
   e.preventDefault();
   $('body').append('<img width="1" height="1" src="http://main.exoclick.com/tag.php?goal=xyz">');
   window.location.replace($(this).attr('href'));
});

我的问题是,并非 100% 的点击者都被跟踪,似乎大约有 40/50% 的人没有被跟踪。我没有看到其他方法可以做到这一点,你有更好的主意在 JS 中跟踪这种事情吗?

欢迎所有想法。

约翰

等待图像加载,然后重定向。

$('.btn-cta').on('click', function (e) {
   e.preventDefault();

    var url = $(this).attr('href');
    var track = new Image();
    track.onload = function(){
        window.location.replace( url );
    };
    // in case the tracking server is down or misconfigured (see comments)
    // otherwise the navigation would be broken.
    track.onerror = function(){
        window.location.replace( url );
    };
    track.src = 'http://main.exoclick.com/tag.php?goal=xyz';
});