setTimeout для отслеживания Google Analytics

ДОБАВЛЕНО после публикации. Когда посетитель нажимает на ссылку выхода на сайте, и эта ссылка выхода помечена в инструменте аналитики (в данном случае Google Analytics), иногда данные о событии не передаются в инструмент аналитики вовремя к тому времени, когда браузер переходит на новый сайт. . Распространенным решением является добавление задержки к ссылке, чтобы дать инструменту аналитики время для сбора данных. С тех пор, как я задал свой вопрос ниже, я экспериментировал с тем, какую задержку добавить. Изначально мне сказали 5 миллисекунд. В конце концов мне пришлось увеличить время до 500 миллисекунд.

Я настроил несколько пользовательских html в Диспетчере тегов Google для отслеживания событий.

Исходный код, который я использовал, находится здесь:

    <script type="text/javascript"> 


$(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});

</script>

Это не позволяло зафиксировать категории событий, действия и ярлыки в аналитике Google. Однако я собирал их в Httpfox. Коллега предложил добавить 5 millisecond delay. Я не уверен в логике, но мне сказали, что это обычное решение моей проблемы.

Используя Google и W3 Schools, я думаю, что понял, как добавить задержку в 5 миллисекунд:

    <script type="text/javascript"> 

setTimeout(function(){
$(document).ready(function(){ 

    $('.app-cta a').click(function(){ 
        dataLayer.push({ 'event':'GAevent', 'eventCategory':'App', 'eventAction':'Click to App Store', 'eventLabel':'iOS' }) 
    }); 

});
},5);

</script>

Похоже, это не сработало. Google Analytics не собирает данные о событиях, но Httpfox по-прежнему это делает. Поскольку я не разбираюсь в Javascript, мне было интересно, был ли второй блок кода правильным - правильно ли я добавил метод setTimeout?


person Doug Fir    schedule 11.08.2013    source источник
comment
Задержка в 5 миллисекунд никогда не является хорошим решением любой проблемы.   -  person SLaks    schedule 11.08.2013


Ответы (1)


Мне кажется, вы перепутали отслеживание событий Google Analytics и события Google Tag Manager. Для отслеживания события GA в сравнении с событием GTM необходимо:

  1. Создайте тег HTML в GTM следующим образом:

    <script type="text/javascript">
    _trackEvent('event':'GAevent', 'eventCategory':'App', 
                'eventAction':'Click to App Store', 'eventLabel':'iOS' });
    </script>
    
  2. Создать для этого тега правило "{{event}} contains GAevent_track"
  3. Сохраните тег и отобразите его на страницах, где вы хотите отслеживать ссылки. Опубликовать новую версию
  4. Сделайте ссылки, которые вы хотите отслеживать, вот так :<a href="#" name="button_event" onclick="dataLayer.push({'event': 'GAevent'});" Event tracking</a>
person Ruslan Konygin    schedule 12.08.2013
comment
Хорошо, но как тогда связать этот скрипт со ссылкой $('.app-cta a')? Кроме того, я попытался вырезать и вставить, но GTM не позволил мне опубликовать ошибку в строке 3, символ 20: ошибка синтаксического анализа. отсутствует ) после списка аргументов. и Ошибка в строке 4, символ 26: Ошибка синтаксического анализа. синтаксическая ошибка.. Я не вижу, где эти ошибки? - person Doug Fir; 12.08.2013
comment
Посмотрите, пожалуйста, п.4 моего первого комментария - я его редактировал, были проблемы с форматированием. - person Ruslan Konygin; 13.08.2013