Отслеживание кликов по кнопкам в Google Analytics автоматически

Технический руководитель в моем офисе ругается вверх и вниз, что возможно следующее, но не знает, как именно. Мое исследование ничего не дало, но результат, который он ищет, — это нажатия кнопок (не привязки), которые будут автоматически отслеживаться в Google Analytics без назначения каждой кнопке функции.

Я был в школе мысли, что лучшая практика для семантической структуры HTML заключается в том, что ссылки (якоря) используются для перехода на новые страницы, а кнопки (и другие входные данные) используются для изменения элементов на существующей странице (с несколькими исключения). Клики по ссылкам изначально регистрируются как просмотры страниц в Google Analytics без использования дополнительного JavaScript для каждой привязки; неоспоримый факт. Мы знаем, что пользователь переходит на новую страницу; вот почему тег привязки используется семантически правильно.

Кнопки (насколько мне известно, если кто-то здесь не покажет мне обратное) не отслеживаются без нажатия события с помощью функции JavaScript, такой как:

ga('send', 'event', 'Button Click', 'Open Menu');

Теперь, используя JavaScript (или, в данном случае, jQuery), я мог глобально отслеживать каждое нажатие кнопки:

$('body').on('click', 'button', function(e){
    e.preventDefault();
    ga('send', 'event', 'Button Click', 'Open Menu');
});

Но это тонна потенциально бессмысленных данных. Затем мне пришлось бы сначала установить переменные для чтения для каждой кнопки, чтобы отправляемые данные были значимыми. Например:

$('body').on('click', 'button', function(e){
    e.preventDefault();
    //check if the data-event attribute was set
    if($(this).data('event')){
        ga('send', 'event', 'Button Click', $(this).data('event'));
    };
});

Но все же он непреклонен в том, что в моем JavaScript-коде есть что-то, что блокирует кнопки от отправки кликов, когда мне не нужно выполнять всю эту дополнительную работу. Первоначально я заканчивал все события кнопок с помощью return false;, что, как я позже прочитал, было не лучшей практикой при отслеживании, поэтому все это было удалено. Изменений по-прежнему не было. Есть ли что-то еще, что я должен проверить, чтобы заставить кнопки регистрироваться без JavaScript, или это невозможно, как я изначально подозревал?


person Donnie D'Amato    schedule 14.01.2016    source источник
comment
Клики по ссылкам по своей сути регистрируются как просмотры страниц — нет. Только когда они загружают новую страницу или запускают код отслеживания GA (т. е. навигация по странице по URL-адресу #фрагменты являются ссылками, но не должны вызывать перезагрузки и не будут отслеживаться). С другой стороны, кнопки могут запускать просмотры страниц (их первоначальная цель заключалась в отправке форм, которые обычно загружали новую форму). В общем, я не совсем уверен, какого ответа вы ожидаете - отслеживание без кода не существует, но если ваш босс не верит вам, почему он должен верить кому-то еще?   -  person Eike Pierstorff    schedule 14.01.2016
comment
Я жду подтверждения так или иначе. Я могу предположить, что он поверит коллективному опыту форума программирования опыту одного человека.   -  person Donnie D'Amato    schedule 14.01.2016


Ответы (1)


просто удалите e.preventDefault(); нить

person q21forfun    schedule 09.02.2017
comment
Это не решит проблему. e.preventDefault() предотвращает только действие по умолчанию, заданное страницей, а не какой-либо внешний плагин или приложение. - person Donnie D'Amato; 09.02.2017