Як зробити відстеження JavaScript і Ajax подій з допомогою Google Analytics

301

Від автора: підніміть руку ті, хто стежить за користувачами через Google Analytics. Якщо говорити чесно, то швидше порахувати тих, хто не використовує Google Analytics. Незалежно від вашої думки про google і їх планів на світове домінування, відстеження Google Analytics – чудовий інструмент з революційною статистикою.

Щоб переглядати звіти про відвідувачів, вам необхідно вставити відслідковує код на всі сторінки сайту.

Як це зробити:

Увійдіть в Google Analytics (або прив’яжіть існуючий Google/Gmail ID).

Зайдіть в розділ Admin (значок шестерінки) зліва і створіть новий обліковий запис у колонці ACCOUNT

Відкрийте колонку PROPERTY та натисніть Створити нову властивість з URL вашого сайту. Вашого сайту буде присвоєно ID у форматі UA-XXXXX-Y.

Відкрийте Tracking Code в підменю Tracking Info.

Є й інші більш старі варіанти трек-коду, але Google рекомендує наступний JS варіант для сучасних браузерів:

window.ga=window.ga||function(){(ga.q=ga.q||[]).push(arguments)};ga.l=+new Date;
ga(‘create’, ‘UA-XXXXX-Y’, ‘auto’);
ga(‘send’, ‘pageview’);

Вставте цей шаблон на сайт і замініть UA-XXXXX-Y на свій трек-код. Google пропонує вставляти трек-код в тег head, але за фактом його можна вставити в будь-якому місці. Мені подобається вставляти його в кінець сторінки (перед закриваючим тегом body) або викликати його після завантаження сторінки, щоб у цього скрипта пріоритет був менше, ніж у інших завдань (покращує продуктивність сайту).

З цього моменту Google Analytics буде відслідковувати і звітувати про відвідувачів, а також про їх вік і поведінці.

Події на сторінці

Стандартний трек-код вище добре працює тільки з простими сайтами, на яких є лише контент, а також зі стандартними WordPress темами. Однак він не записує події на сторінці, такі як:

Виклики ajax

Програвання відео

Завантаження документів

Взаємодії з медіа контентом з соціальних мереж

Клієнтське взаємодія

Вихідні посилання і…

Будь-яка інша діяльність, що не вимагає нормального завантаження сторінки.

Події на сторінці можна записувати через наступний JS код, який викликає глобальний об’єкт Google Analytics:

ga(
‘send’,
‘event’,
[eventCategory],
[eventAction],
[eventLabel],
[eventValue]
);

Чи можна використовувати JS об’єкт:

ga(‘send’, {
hitType: ‘event’,
eventCategory: [eventCategory],
eventAction: [eventAction],
eventLabel: [eventLabel],
eventValue: [eventValue],
[transport: beacon ]
});

Розберемо кожну строчку коду окремо…

[eventCategory] (обов’язкова). Одиночне ім’я подій заданого типу (наприклад, video для взаємодії з відео або download для посилання на PDF).

[eventAction] (обов’язкова). Користувальницьке взаємодія, що приводить до запуску події (наприклад, play для відео або filename для завантаження).

[eventLabel] (необов’язкова). Необов’язковий лейбл для поділу подій за категоріями. Наприклад, можна використовувати назву типу Winter Campaign. Під цим лейблом можна зосередити всі події, будь-то завантаження, програвання відео, зовнішні посилання і т. д.

[eventValue] (необов’язкова). Його числове значення, пов’язане з подією. Для відео можна задати розмір файлу або довжину відео, щоб можна було створити загальну і середню статистику пропускної здатності. Можна також записувати грошову суму, але майте на увазі, що у Google Analytics є спеціальні можливості для запису E-Commerce транзакцій.

[transport: beacon] (необов’язкова). Відстеження подій можна використовувати для запису чогось на кшталт завантаження PDF через інлайн подія onclick:

download

У цьому прикладі eventCategory задається в download, а eventAction присвоюється URL файлу. Можна написати загальний JS обробник події для запису всіх завантажень PDF, неважливо скільки їх:

// record all PDF download events
document.body.addEventListener. (‘click’, e => {
let t = e.target;
if (t.href && t.href.endsWith(‘.pdf’)) {
ga(‘send’, {
hitType: ‘event’,
eventCategory: ‘download’,
eventAction: t.href,
transport: beacon
});
}
}, false);

Взаємодія з соціальними мережами

Відстеження подій можна використовувати для стеження за взаємодією з соціальними мережами на сайті. Google пропонує для цього Social Interaction API – відгалуження від коду відстеження подій:

ga(
‘send’,
‘social’,
[socialNetwork],
[socialAction],
[socialTarget]
);

Чи можна використовувати:

ga(‘send’, {
hitType: ‘social’,
socialNetwork: [socialNetwork],
socialAction: [socialAction],
socialTarget: [socialTarget]
});

Давайте розберемо кожну рядок в об’єкті окремо…

[socialNetwork] (обов’язкова). Соціальна мережа (Facebook, Twitter тощо).

[socialAction] (обов’язкова). Тип дії (лайк, відправлення, твіт…).

[socialTarget] (обов’язкова). Мета взаємодії. Зазвичай це URL.

Відстеження подій у звітах в реальному часі

Дії подій повинні бути доступні відразу ж у звітах в режимі реального часу (Real-Time → Events). Більш детальна інформація доступна через 24 години в розділі Behavior → Events.