Przejdź do głównej zawartości

Triggery

Trigger odpowiada na proste pytanie: w którym momencie obecności odwiedzającego na stronie pojawia się popup? Trzy typy triggera, konfigurowane na zakładce Overview sceny, w karcie Trigger.

Domyślny. Popup jest planowany w momencie gdy strona jest gotowa (DOMContentLoaded). Bez opóźnienia, bez zależności od scrolla.

Wybierz, gdy chcesz maksymalnej widoczności — ogłoszenia wyprzedaży, ważne informacje, cookie bannery, które wymagają zgody zanim odwiedzający wejdzie w interakcję. Minusem jest przerwanie: odwiedzający widzi popup zanim zaangażował się w stronę.

Popup jest planowany przez setTimeout(triggerValue * 1000) po tym jak strona jest gotowa. Pole Trigger value staje się number inputem z labelem Delay (seconds).

Wybierz, gdy chcesz dać odwiedzającemu chwilę na rozeznanie się przed przerwaniem — typowo 5–15 sekund. Częsty pattern: prompty newsletter, lead magnety, exit-style nudge.

Popup jest planowany gdy odwiedzający przewinie ponad triggerValue% strony (obliczane wzg. document.documentElement.scrollHeight minus wysokość viewportu). Pole Trigger value staje się number inputem z labelem Scroll percentage, akceptując 0–100.

Wybierz, gdy popup ma sygnalizować zaangażowanie — odwiedzający przewinął poza hero, więc jest na tyle zainteresowany, że zasługuje na ofertę. Częste wartości: 30% (początek strony), 50% (środek), 80% (dół strony — last-chance prompt).

Pole Trigger value jest ukryte, gdy Trigger type = Immediately. Gdy Trigger type się zmienia, label i walidacja pola się dostosowują:

Trigger typeLabelPoprawny zakres
Immediately on page load(ukryte)n/d
After delay (seconds)Delay (seconds)liczba dodatnia
On scroll (% of page)Scroll percentage0–100

Trigger planuje kiedy popup miałby się odpalić. Frequency (Targetowanie → Frequency) decyduje, czy faktycznie się odpali dla tego odwiedzającego, czy już zużył swoje okno sesja / N dni / permanent dismiss.

Innymi słowy: trigger mówi “to jest właściwy moment”, frequency mówi “tak, ten odwiedzający kwalifikuje się”. Oba muszą przejść zanim popup się zamontuje i zarejestruje event impression.

  1. Strona się ładuje, footer hook wstrzykuje [data-p2lab-stage].
  2. Plugin JS strzela do /p2lab-stage/resolve z kontekstem strony.
  3. Backend filtruje wg kanału sprzedaży / strony / reguły / harmonogramu i zwraca pasujące sceny — każdą z config triggera.
  4. Dla każdego zwróconego popupu, który nie jest już suppressed przez częstotliwość, plugin planuje go zgodnie z triggerem:
    • immediate_show() od razu
    • delaysetTimeout(triggerValue * 1000) potem _show()
    • scroll → listener scrolla na window, odpala _show() przy progu i usuwa listener
  5. Przy _show() rejestruje event impression i popup się montuje.

Jeśli odwiedzający zamknie popup zanim silnik uzna go za pokazanego (np. nawiguje gdzie indziej zanim odpali delay), event impression nie jest rejestrowany.