Google Analytics Проследяване на събития

Опитвам се да внедря API за проследяване на събития на google в html5 плейър, но по някаква причина той не иска да работи.. Ето какво правя:

var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-myid-1']);
    _gaq.push(['_trackPageview']);
    (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com//u/ga_debug.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
    })();


    if (typeof _gaq != undefined){
        _gaq.push(['_trackEvent', 'krusty-player', eventName, 'demo', 1]);
    }

Копирах кода от страницата с документация на Google, така че предполагам, че трябва да е правилен. От конзолата за разработчици не виждам HTTP заявка да се случва, когато кодът се изпълнява, но когато го правя:

console.log(_gaq.push(['_trackEvent', 'krusty-player', eventName]));

получавам брояч, който се повишава с +1 за всеки път, когато се извика тази част. Тук няма грешки..

аз също се опитах да използвам:

_trackEvent('krusty-player', eventName);

Това връща грешка „_trackEvent не е дефинирано“

Някаква идея какво става?


person tk66    schedule 29.08.2012    source източник
comment
Изглежда добре. _trackPageview възниква ли правилно?   -  person Tchoupi    schedule 29.08.2012
comment
@MathieuImbert не.. не виждам заявка и за тази..   -  person tk66    schedule 29.08.2012
comment
Каква заявка търсите? Трябва да е файл с изображение, наречен __utm.gif   -  person Tchoupi    schedule 29.08.2012
comment
добре, изчиствам конзолата и не идва нова заявка, когато задействам събитието. Така или иначе търсех нещо като това, което е публикувано тук: pranshuarya.com/jaal/Development/   -  person tk66    schedule 29.08.2012
comment
Много е трудно да се отстраняват грешки без достъп до кода. Вашият уебсайт публичен ли е? Можем ли да го видим?   -  person Tchoupi    schedule 29.08.2012
comment
не, не се страхувам:/ това, което ме притеснява най-много е, че _trackEvent() казва, че не е дефинирано..   -  person tk66    schedule 29.08.2012
comment
нека да продължим тази дискусия в чата   -  person Tchoupi    schedule 29.08.2012


Отговори (2)


Тествате ли на localhost или интранет? Вижте Заявката за GIF на Google Анализ не е изпратена за подробности.
TLDR: GIF заявката за проследяване не се прави за localhost сървъри по подразбиране.

Относно _trackEvent is not defined: _trackEvent() не е самостоятелна функция и трябва да бъде извикана чрез _gaq.push

_gaq.push(['_trackEvent', category, action])

или чрез обект pageTracker (стар стил, неасинхронен анализ)

pageTracker._trackEvent(category, action)
person mike    schedule 29.08.2012
comment
Благодаря! Това оправи проблема ми. @tk66: Чувствам, че това трябва да се приеме като отговор... - person tony722; 05.02.2013
comment
Уверете се, че имате инсталиран асинхронен проследяващ код... developers.google.com/ analytics/devguides/collection/gajs/ - person ATSiem; 14.05.2013

Свържете действието _gaq.push към събитие.

Като :

<span onClick="_gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]);">Click me</span>

И преименувайте имената с главни букви с обикновен / динамично генериран текст и трябва да работи.

person Cosmin    schedule 29.08.2012
comment
след това просто поставете _gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]); на събитието на клавиатурата ( $('#target').keydown(function() { _gaq.push(['_trackEvent', EVENT_NAME, EVENT_ACTION, EVENT_DESCRIPTION]); }); и евентуално, ако искате, филтрирайте желаното от вас събитие на клавиатурата - api.jquery .com/keydown - person Cosmin; 29.08.2012
comment
това е голям проект и структурата за събития на клавиатурата вече е там.. така че не мога да променя начина, по който е.. Но не трябва ли да работи по същия начин в javascript? - person tk66; 29.08.2012
comment
Да, трябва. Имам точно същия код във всички проекти и те работят. За съжаление не мога да бъда полезен повече. - person Cosmin; 29.08.2012