2017-05-08 3 views
0

Ich habe versucht, ein Google Analytics-Ereignis auszulösen, wenn auf einen bestimmten Link geklickt wird. Um sicherzustellen, dass das Ereignis gesendet wird, bevor es zur URL weitergeleitet wird, schlägt Google vor, die Funktion hitCallback zu verwenden.Verwenden von Google Analytics hitCallback zum Senden eines Ereignisses vor der Umleitung an die URL

Ich habe versucht, es auf diese Weise, aber es wird nicht funktionieren, weil der Link sofort geöffnet wird:

$('#service a').on("click",function(e){ 

    e.preventDefault(); 
    var title = $(this).data('title'); 
    var url = $(this).attr('href'); 

    if (typeof ga === 'function') { 
    //console.log('started'); 
    ga('send', { 
     hitType: 'event', 
     eventCategory: 'header', 
     eventAction: 'nav', 
     eventLabel: 'service', 
     eventValue: title, 
     hitCallback : createFunctionWithTimeout(function() { 
     //console.log('done') 
     document.location = url; 
     }, 100000) 
    }); 
    }else{ 
    document.location = url; 
    } 

}); 

Here is the timeout function, vorgeschlagen von Google:

function createFunctionWithTimeout(callback, opt_timeout) { 
    var called = false; 
    function fn() { 
     if (!called) { 
     called = true; 
     callback(); 
     } 
    }setTimeout(fn, 1000); 
    return fn; 
} 

Ich würde gerne wissen, warum es funktioniert nicht, oder wenn es einen anderen Weg gibt, dies zu erreichen.

Antwort

0

Event-Wert sollte vom Integer-Typ sein. Können Sie versuchen, eine ganze Zahl zu codieren, um zu sehen, ob sie funktioniert?

Verwandte Themen