Вкладка Events дозволяє визначати події для відстеження конкретних дій відвідувачів на вашому сайті. Відстежуйте кліки на кнопки, відправлення форм, прокрутку до ключових елементів, видимість елементів або відправляйте кастомні події зі свого коду. Будь-яку подію можна позначити як конверсійну ціль для вимірювання ефективності кампаній.
Використовуйте DevTools браузера, щоб знайти правильний CSS-селектор. Клацніть правою кнопкою на елемент → Інспектувати → клацніть правою кнопкою на HTML-тег → Copy → Copy selector.
Приклади CSS-селекторів:
/* Кнопка за ID */#buy-now-btn/* Всі кнопки з певним класом */.add-to-cart/* Посилання на конкретну сторінку */a[href="/pricing"]/* Кнопка всередині певної секції */.hero-section .cta-button/* Будь-який елемент з data-атрибутом */[data-action="subscribe"]
Спрацьовує коли відвідувач прокручує до певного елемента на сторінці. Використовує IntersectionObserver для виявлення входу елемента у viewport.
Налаштування
Опис
CSS Selector
Цільовий елемент для спостереження (наприклад, #pricing-section, .testimonials)
Scroll Threshold
Відсоток елемента, який повинен бути видимим (за замовчуванням: 50%)
Сценарії використання:
Відстеження скільки відвідувачів бачать секцію з цінами
Вимірювання залучення до конкретних блоків контенту
Виявлення чи відвідувачі досягають низу довгої сторінки
Кожна подія прокрутки спрацьовує лише один раз за сесію на елемент — навіть якщо відвідувач прокручує повз нього кілька разів. Це запобігає завищеним підрахункам.
Спрацьовує коли відвідувач відправляє форму, що відповідає CSS-селектору.
Налаштування
Опис
CSS Selector
Цільовий елемент форми (наприклад, #contact-form, .signup-form)
Form Fields
Необов’язково — список дозволених полів для збору (наприклад, email, phone, name)
Що фіксується:
Значення з <input>, <select> та <textarea> полів
Назви полів та їх значення (до 500 символів на поле)
Поля паролів та приховані поля автоматично виключаються
За замовчуванням збираються всі видимі поля форми. Використовуйте список Form Fields, щоб обмежити збір даних конкретними полями та уникнути збору конфіденційної інформації.
Спрацьовує коли певний елемент стає видимим у viewport браузера. Подібно до Scroll, але фокусується на відстеженні чи був побачений конкретний UI-елемент.
Налаштування
Опис
CSS Selector
Цільовий елемент (наприклад, .promo-banner, #special-offer)
Сценарії використання:
Відстеження показів рекламних банерів
Вимірювання видимості важливих CTA
Виявлення чи динамічно завантажений контент був побачений (працює з SPA)
Трекер використовує MutationObserver для спостереження за динамічно доданими елементами. Якщо цільовий елемент рендериться JavaScript після завантаження сторінки (React, Vue тощо), він все одно буде виявлений.
Позначте відправлення форм як конверсії — контактні форми, запити на розрахунок, підписки на розсилку. Це чіткі індикатори того, що відвідувач став лідом.
E-commerce
Позначте кастомні події додавання в кошик або завершення покупки як конверсії. Відстежуйте повну воронку від перегляду до покупки.
Залучення
Позначте події прокрутка до цін або запуск відео як мікро-конверсії. Вони вказують на сильний інтерес навіть без відправлення форми.
Дзвінки та чати
Позначте події клік на номер телефону або відкриття чат-віджета як конверсії. Вони показують намір прямої взаємодії.
Можна мати кілька активних конверсійних цілей одночасно. KPI Conversions на Dashboard рахує унікальні сесії з хоча б однією конверсійною подією — тому сесія, що спрацювала 3 конверсійні події, все одно рахується як 1 конверсія.
Кастомні події дають вам повний контроль над трекінгом з вашого власного JavaScript-коду. Використовуйте їх коли автоматичний трекінг (кліки, форми, видимість) недостатній — для динамічних взаємодій, багатокрокових процесів або бізнес-специфічних дій.
Події буферизуються та відправляються пакетами для продуктивності:
Кожен виклик RevolTracker.track() додає подію у внутрішній буфер
Кожні 5 секунд всі буферизовані події відправляються на сервер одним запитом
При закритті сторінки залишкові події відправляються через sendBeacon() для надійності
Максимум 50 подій на пакет — зайві події відкидаються
Не обов’язково створювати визначення події у дашборді, щоб кастомні події записувалися. Невизначені кастомні події все одно зберігаються з даними — але не матимуть лічильника спрацювань у списку Events. Для повного трекінгу створіть відповідне визначення з тією самою назвою.
Якщо ви не впевнені які елементи відстежувати, ви можете використати Claude Code для аналізу вашого сайту та рекомендації оптимального набору подій.
Промпт для аналізу сайту
# Інструкція: Генерація класів для відстеження подій на сайті## КонтекстЯ використовую систему трекінгу Revol, яка відстежує діїкористувачів на сайті через CSS-селектори. Трекер підключаєтьсяодним скриптом і автоматично слухає події на елементах, яківідповідають заданим CSS-селекторам. Ніякого додаткового JS-кодуна сайті не потрібно (за винятком AJAX-форм, про це нижче).## Як працює трекінг подійСистема підтримує 5 типів подій:- click — клік на елемент. Працює через document.addEventListener('click') + e.target.closest(css_selector), делегування на document у capture phase.- form_submit — відправка форми. Працює через document.addEventListener('submit') + перевірка css_selector на тезі <form>.- scroll — прокрутка до елемента. IntersectionObserver з threshold (0-100%), спрацьовує один раз за сесію.- visibility — елемент з'явився у viewport. IntersectionObserver, одноразово.- custom — ручний виклик з JS: RevolTracker.track('Назва', {data})## Твоє завдання### Крок 1: Проаналізуй всі сторінки сайтуПройди по всіх HTML/шаблонних файлах і знайди:1. Кнопки (buttons/links) — CTA, навігація, дії2. Телефонні номери — <a href="tel:...">, текстові блоки з номерами3. Email-посилання — <a href="mailto:...">4. Месенджери — Telegram, Viber, WhatsApp посилання5. Форми — контактні, заявки, підписки, замовлення6. Клікабельні блоки — картки, банери, секції з посиланнями7. Елементи конверсії — кошик, замовлення, реєстрація### Крок 2: Додай CSS-класи для трекінгуДля кожного знайденого елемента додай CSS-клас з префіксом rv-:Конвенція іменування: rv-{тип}-{секція}-{дія}Типи: btn, link, form, block, scrollПриклади:- rv-btn-hero-cta — кнопка CTA в hero-секції- rv-btn-header-phone — клік на телефон у хедері- rv-btn-footer-phone — клік на телефон у футері- rv-btn-pricing-order — кнопка замовлення- rv-btn-header-telegram — клік на Telegram у хедері- rv-form-contact — контактна форма- rv-form-callback — форма зворотного дзвінка- rv-block-services-card — клік на картку послуги- rv-link-nav-about — навігаційне посилання "Про нас"- rv-scroll-testimonials — прокрутка до відгуківПравила:- Клас rv-* додається ДОДАТКОВО до існуючих класів- Один елемент = один rv- клас- Клас має бути унікальним на сторінці (або спільним для однотипних елементів, наприклад всі картки послуг)### Крок 3: Правила для формКлас rv-form-* ставиться на тег <form>, НЕ на кнопку submit: Правильно: <form class="contact-form rv-form-contact" action="/submit"> <input name="phone" type="tel"> <button type="submit">Надіслати</button> </form> Неправильно: <form class="contact-form"> <button class="rv-form-contact" type="submit">Надіслати</button> </form>AJAX-форми (без нативного submit):Якщо форма відправляється через JS (fetch, axios, $.ajax) безнативної події submit, трекер НЕ зловить її автоматично. Ознаки:- e.preventDefault() + fetch/axios/$.ajax в обробнику- Форма без action або з action="javascript:void(0)"- Кнопка має type="button" замість type="submit"Для таких форм додай ручний виклик поряд з AJAX-відправкою: RevolTracker.track('Контактна форма', { form: 'contact' });В таблиці подій такі форми позначай типом custom замістьform_submit і вказуй що потрібен ручний виклик.### Крок 4: Сформуй таблицю подійНазви подій — українською мовою. Формат таблиці:№ | Назва події | CSS-селектор | Тип | Конверсія? | Сторінка | ОписПриклад:1 | Клік CTA Hero | .rv-btn-hero-cta | click | Так | Головна | Основна кнопка в hero-банері2 | Клік телефон хедер | .rv-btn-header-phone | click | Так | Всі | Клік на телефон у шапці3 | Клік телефон футер | .rv-btn-footer-phone | click | Так | Всі | Клік на телефон у підвалі4 | Клік Telegram | .rv-btn-header-telegram | click | Так | Всі | Клік на Telegram5 | Контактна форма | .rv-form-contact | form_submit | Так | Контакти | Відправка контактної форми6 | Форма зворотного дзвінка | .rv-form-callback | form_submit | Так | Головна | Форма "Передзвоніть мені"7 | Клік картка послуги | .rv-block-services-card | click | Ні | Послуги | Клік на картку послуги8 | Навігація Про нас | .rv-link-nav-about | click | Ні | Всі | Перехід на сторінку "Про нас"9 | Скрол до відгуків | .rv-scroll-testimonials | scroll (80%) | Ні | Головна | Доскролив до відгуків10 | Форма заявки (AJAX) | — | custom | Так | Послуги | AJAX-форма, потрібен RevolTracker.track()### Що вважати конверсієюТак — конверсія:- Клік на телефон (<a href="tel:...">)- Клік на email (<a href="mailto:...">)- Клік на месенджери (Telegram, Viber, WhatsApp)- Відправка будь-якої форми (заявка, замовлення, зв'язок)- Клік на CTA-кнопки ("Замовити", "Купити", "Записатись")Ні — не конверсія:- Навігаційні посилання- Кліки на інформаційні блоки/картки (якщо це не CTA)- Scroll/visibility події- Кліки на соцмережі (якщо це не CTA)## Формат відповіді1. Список змін у файлах — які класи rv-* додати, з diff2. Таблиця подій — повний перелік подій з усіма колонками3. AJAX-форми — окремо перелічи форми що потребують ручного виклику RevolTracker.track(), з готовим кодом вставкиМій сайт: [ВСТАВТЕ URL]Тип бізнесу: [напр. e-commerce, SaaS, послуги, агенція]Основна конверсійна дія: [напр. заповнення форми, покупка, запис]