2016-01-14 3 views
0

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

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

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

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

Теперь с помощью JavaScript (или в данном случае, JQuery) I может глобально отслеживать каждую кнопку:

$('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 или это невозможно, поскольку я изначально подозревал?

+1

«Связывание ссылок по сути регистрируется как PageViews» - нет. Только когда они загружают новую страницу или запускают код отслеживания GA (т. Е. Навигация по страницам по URL-адресам - это ссылки, но не должны вызывать перезагрузки и не отслеживаться). С другой стороны, кнопки могут запускать просмотры страниц (их первоначальная цель состояла в том, чтобы отправить формы, которые обычно загружали новую форму). В целом я не совсем уверен, какого ответа вы ожидаете - нет никакого отслеживания без кода, но если ваш босс не поверит вам, почему он поверит в кого-нибудь еще? –

+0

Я ожидаю подтверждения так или иначе. Я могу предположить, что он поверит коллективному опыту форума программирования по опыту одного человека. –

ответ

-2

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

+0

Это не решит проблему. 'e.preventDefault()' только предотвращает действие по умолчанию, заданное этой страницей, а не внешний плагин или приложение. –

Смежные вопросы