Zakładka Zdarzenia pozwala definiować zdarzenia śledzenia w celu rejestrowania konkretnych działań odwiedzających na Twojej stronie. Śledź kliknięcia przycisków, wysyłki formularzy, kamienie milowe przewijania, widoczność elementów lub wywoływaj niestandardowe zdarzenia z własnego kodu. Każde zdarzenie może być oznaczone jako cel konwersji do mierzenia skuteczności kampanii.
Wywołuje się, gdy odwiedzający kliknie element pasujący do selektora CSS.
Ustawienie
Opis
Selektor CSS
Selektor elementu docelowego (np. #cta-button, .buy-now, a[href="/contact"])
URL strony
Opcjonalne — ogranicz śledzenie do konkretnej strony
Co jest rejestrowane:
Treść tekstowa elementu (pierwsze 100 znaków)
Nazwa tagu elementu (button, a, div itp.)
Selektor CSS, który pasował
Aktualny URL strony
Użyj DevTools przeglądarki, aby znaleźć odpowiedni selektor CSS. Kliknij prawym przyciskiem myszy element → Zbadaj → kliknij prawym przyciskiem myszy tag HTML → Kopiuj → Kopiuj selektor.
Przykłady selektorów CSS:
/* Przycisk po ID */#buy-now-btn/* Wszystkie przyciski z konkretną klasą */.add-to-cart/* Link do konkretnej strony */a[href="/pricing"]/* Przycisk wewnątrz konkretnej sekcji */.hero-section .cta-button/* Dowolny element z atrybutem data */[data-action="subscribe"]
Wywołuje się, gdy odwiedzający przewinie obok konkretnego elementu na stronie. Używa IntersectionObserver do wykrywania, kiedy element pojawia się w oknie widoku.
Ustawienie
Opis
Selektor CSS
Element docelowy do obserwacji (np. #pricing-section, .testimonials)
Próg przewijania
Procent elementu, który musi być widoczny (domyślnie: 50%)
Przypadki użycia:
Śledź, ilu odwiedzających widzi Twoją sekcję cenową
Mierz zaangażowanie w konkretne bloki treści
Wykrywaj, czy odwiedzający docierają do końca długiej strony
Każde zdarzenie przewijania wywołuje się tylko raz na sesję na element — nawet jeśli odwiedzający przewinie obok niego wielokrotnie. Zapobiega to zawyżeniu liczników.
Wywołuje się, gdy odwiedzający wyśle formularz pasujący do selektora CSS.
Ustawienie
Opis
Selektor CSS
Element docelowy formularza (np. #contact-form, .signup-form)
Pola formularza
Opcjonalne — lista dozwolonych nazw pól do rejestrowania (np. email, phone, name)
Co jest rejestrowane:
Wartości z pól <input>, <select> i <textarea>
Nazwy pól i ich wartości (do 500 znaków na pole)
Pola hasła i ukryte są automatycznie wykluczane
Domyślnie rejestrowane są wszystkie widoczne pola formularza. Użyj listy dozwolonych Pól formularza, aby ograniczyć zbieranie danych do konkretnych pól i uniknąć rejestrowania wrażliwych informacji.
Wywołuje się, gdy konkretny element staje się widoczny w oknie widoku przeglądarki. Podobne do Przewijania, ale skoncentrowane na śledzeniu, czy dany element interfejsu został zobaczony.
Ustawienie
Opis
Selektor CSS
Element docelowy (np. .promo-banner, #special-offer)
Przypadki użycia:
Śledź wyświetlenia banerów promocyjnych
Mierz widoczność ważnych CTA
Wykrywaj, czy dynamicznie ładowana treść jest widziana (działa z SPA)
Tracker używa MutationObserver do obserwacji dynamicznie dodawanych elementów. Jeśli element docelowy jest renderowany przez JavaScript po załadowaniu strony (React, Vue itp.), nadal zostanie wykryty.
Wywołuje się, gdy wywołasz JavaScript API z własnego kodu. To najbardziej elastyczny typ zdarzenia — sam kontrolujesz, kiedy i z jakimi danymi zdarzenie się wywołuje.
Ustawienie
Opis
Nazwa
Nazwa zdarzenia zgodna z nazwą używaną w RevolTracker.track()
Oznacz wysyłki formularzy jako konwersje — formularze kontaktowe, prośby o wycenę, zapisy na newsletter. To wyraźne wskaźniki, że odwiedzający stał się leadem.
E-commerce
Oznacz zdarzenia niestandardowe dodaj do koszyka lub zakup zakończony jako konwersje. Śledź pełny lejek od odsłony strony do zakupu.
Zaangażowanie
Oznacz zdarzenia przewinięcie za cennik lub odtworzenie wideo jako mikro-konwersje. Wskazują one na silne zainteresowanie nawet bez wysłania formularza.
Połączenia i czaty
Oznacz zdarzenia kliknięcie numeru telefonu lub otwarcie widżetu czatu jako konwersje. Pokazują one zamiar bezpośredniego kontaktu.
Możesz mieć jednocześnie wiele aktywnych celów konwersji. KPI Konwersje w Panelu analitycznym liczy unikalne sesje z co najmniej jednym zdarzeniem konwersji — więc sesja, która wywołuje 3 zdarzenia konwersji, nadal liczy się jako 1 konwersja.
Zdarzenia niestandardowe dają pełną kontrolę nad śledzeniem zdarzeń z własnego kodu JavaScript. Używaj ich, gdy automatyczne śledzenie (kliknięcia, formularze, widoczność) nie wystarczy — dla dynamicznych interakcji, wieloetapowych procesów lub działań specyficznych dla biznesu.
Zdarzenia są buforowane i wysyłane partiami dla wydajności:
Każde wywołanie RevolTracker.track() dodaje zdarzenie do wewnętrznego bufora
Co 5 sekund wszystkie zbuforowane zdarzenia są wysyłane na serwer w jednym żądaniu
Przy opuszczaniu strony pozostałe zdarzenia są wysyłane przez sendBeacon() dla niezawodności
Maksymalnie 50 zdarzeń na partię — nadmiarowe zdarzenia są odrzucane
Nie musisz tworzyć definicji zdarzenia w panelu, aby zdarzenia niestandardowe były rejestrowane. Niezdefiniowane zdarzenia niestandardowe są nadal zapisywane z ich danymi — ale nie będą miały licznika wywołań na liście Zdarzeń. Dla pełnego śledzenia utwórz pasującą definicję zdarzenia o tej samej nazwie.
Jeśli nie jesteś pewien, które elementy śledzić, możesz użyć Claude Code do analizy swojej strony i zasugerowania optymalnej konfiguracji śledzenia zdarzeń.
Prompt do analizy strony
# Instrukcja: Generowanie klas CSS do sledzenia zdarzen na stronie## KontekstUzywam systemu sledzenia Revol, ktory monitoruje dzialaniauzytkownikow na stronach za pomoca selektorow CSS. Tracker jestosadzany jednym skryptem i automatycznie nasluchuje zdarzen naelementach pasujacych do podanych selektorow CSS. Zaden dodatkowykod JS na stronie nie jest potrzebny (z wyjatkiem formularzy AJAX,patrz nizej).## Jak dziala sledzenie zdarzenSystem obsluguje 5 typow zdarzen:- click — klikniecie elementu. Uzywa document.addEventListener('click') + e.target.closest(css_selector), delegacja na document w fazie przechwytywania.- form_submit — wyslanie formularza. Uzywa document.addEventListener('submit') + sprawdza css_selector na tagu <form>.- scroll — przewiniecie do elementu. IntersectionObserver z threshold (0-100%), wyzwala sie raz na sesje.- visibility — element pojawil sie w viewport. IntersectionObserver, jednorazowo.- custom — reczne wywolanie JS: RevolTracker.track('Nazwa', {data})## Twoje Zadanie### Krok 1: Przeanalizuj wszystkie stronyPrzejrzyj wszystkie pliki HTML/szablonow i znajdz:1. Przyciski (buttons/links) — CTA, nawigacja, akcje2. Numery telefonow — <a href="tel:...">, bloki tekstu z numerami3. Linki email — <a href="mailto:...">4. Komunikatory — Telegram, Viber, WhatsApp linki5. Formularze — kontaktowe, zgloszenia, subskrypcje, zamowienia6. Klikalne bloki — karty, bannery, sekcje z linkami7. Elementy konwersji — koszyk, zamowienie, rejestracja### Krok 2: Dodaj klasy CSS do sledzeniaDla kazdego znalezionego elementu dodaj klase CSS z prefiksem rv-:Konwencja nazewnictwa: rv-{typ}-{sekcja}-{akcja}Typy: btn, link, form, block, scrollPrzyklady:- rv-btn-hero-cta — przycisk CTA w sekcji hero- rv-btn-header-phone — klikniecie telefonu w naglowku- rv-btn-footer-phone — klikniecie telefonu w stopce- rv-btn-pricing-order — przycisk zamowienia na cennik- rv-btn-header-telegram — klikniecie Telegram w naglowku- rv-form-contact — formularz kontaktowy- rv-form-callback — formularz oddzwonienia- rv-block-services-card — klikniecie karty uslugi- rv-link-nav-about — link nawigacyjny "O nas"- rv-scroll-testimonials — przewiniecie do opiniiZasady:- Klasa rv-* jest dodawana DODATKOWO do istniejacych klas- Jeden element = jedna klasa rv-- Klasa powinna byc unikalna na stronie (lub celowo wspolna dla podobnych elementow, np. wszystkie karty uslug)### Krok 3: Zasady dla formularzyKlasa rv-form-* idzie na tag <form>, NIE na przycisk submit: Poprawnie: <form class="contact-form rv-form-contact" action="/submit"> <input name="phone" type="tel"> <button type="submit">Wyslij</button> </form> Niepoprawnie: <form class="contact-form"> <button class="rv-form-contact" type="submit">Wyslij</button> </form>Formularze AJAX (bez natywnego submit):Jesli formularz jest wysylany przez JS (fetch, axios, $.ajax) beznatywnego zdarzenia submit, tracker go NIE przechwyci. Oznaki:- e.preventDefault() + fetch/axios/$.ajax w handlerze- Formularz bez action lub z action="javascript:void(0)"- Przycisk ma type="button" zamiast type="submit"Dla takich formularzy dodaj reczne wywolanie obok AJAX: RevolTracker.track('Formularz kontaktowy', { form: 'contact' });W tabeli zdarzen oznacz takie jako typ custom zamiast form_submiti zaznacz, ze potrzebne jest reczne wywolanie.### Krok 4: Utworz tabele zdarzenNazwy zdarzen po polsku. Format tabeli:# | Nazwa zdarzenia | Selektor CSS | Typ | Konwersja? | Strona | OpisPrzyklad:1 | Klik CTA Hero | .rv-btn-hero-cta | click | Tak | Glowna | Glowny CTA w hero2 | Klik telefon naglowek | .rv-btn-header-phone | click | Tak | Wszystkie | Klik telefonu w naglowku3 | Klik telefon stopka | .rv-btn-footer-phone | click | Tak | Wszystkie | Klik telefonu w stopce4 | Klik Telegram | .rv-btn-header-telegram | click | Tak | Wszystkie | Klik linku Telegram5 | Formularz kontaktowy | .rv-form-contact | form_submit | Tak | Kontakt | Wyslanie formularza6 | Formularz oddzwonienia | .rv-form-callback | form_submit | Tak | Glowna | Formularz "Oddzwon"7 | Klik karta uslugi | .rv-block-services-card | click | Nie | Uslugi | Klik na karte uslugi8 | Nav — O nas | .rv-link-nav-about | click | Nie | Wszystkie | Przejscie do "O nas"9 | Scroll do opinii | .rv-scroll-testimonials | scroll (80%) | Nie | Glowna | Przewiniecie do opinii10 | Formularz zgloszenia (AJAX) | — | custom | Tak | Uslugi | AJAX, potrzebuje RevolTracker.track()### Co liczy sie jako konwersjaTak — konwersja:- Klik telefonu (<a href="tel:...">)- Klik emaila (<a href="mailto:...">)- Klik komunikatorow (Telegram, Viber, WhatsApp)- Wyslanie dowolnego formularza (zgloszenie, zamowienie, kontakt)- Klik przyciskow CTA ("Zamow", "Kup", "Zarezerwuj")Nie — nie konwersja:- Linki nawigacyjne- Klikniecia na bloki informacyjne (jesli nie CTA)- Zdarzenia scroll/visibility- Klikniecia social media (jesli nie CTA)## Format odpowiedzi1. Zmiany w plikach — jakie klasy rv-* dodac, z diff2. Tabela zdarzen — pelna lista ze wszystkimi kolumnami3. Formularze AJAX — osobno wymienic formularze wymagajace recznego wywolania RevolTracker.track(), z gotowym kodemMoja strona: [WKLEJ URL]Typ biznesu: [np. e-commerce, SaaS, uslugi, agencja]Glowna akcja konwersji: [np. formularz, zakup, rezerwacja]