Rozwiązywanie problemów
Gdy scena zachowuje się dziwnie, przyczyna prawie zawsze leży w jednej z małego zbioru kategorii. Ta strona prowadzi przez nie z naciskiem na to, co sprawdzić, zanim założysz że coś jest popsute.
Scena nie pojawia się na storefroncie
Dział zatytułowany „Scena nie pojawia się na storefroncie”To najczęstsze zgłoszenie. Przejdź przez pipeline filtrów od zewnątrz do środka — filtry /p2lab-stage/resolve failują cicho (popup po prostu nie jest zwrócony), więc jedynym sposobem znalezienia winowajcy jest sprawdzenie każdej bramki.
1. Czy master switch jest on?
Dział zatytułowany „1. Czy master switch jest on?”Settings → Plugins → P2Lab Stage → Popup → Enable popups on storefront. Gdy off, żaden popup nie renderuje się na tym kanale sprzedaży. Per-kanał, więc sprawdź właściwy.
2. Czy scena jest aktywna?
Dział zatytułowany „2. Czy scena jest aktywna?”Na zakładce Overview sceny Active musi być on. Strona listy pokazuje stan aktywności jako kolumnę — potwierdź że jest zielona.
3. Czy harmonogram jest w zakresie?
Dział zatytułowany „3. Czy harmonogram jest w zakresie?”active_from i active_to są ewaluowane przeciwko czasowi serwera (UTC). Jeśli ustawisz je w lokalnej strefie czasowej, sprawdź, czy picker nie pokazuje lokalnego ale nie zapisuje złego UTC. Karta info overview strony szczegółów pokazuje skonfigurowane daty — przeczytaj co jest faktycznie zapisane.
4. Czy kanał sprzedaży matchuje?
Dział zatytułowany „4. Czy kanał sprzedaży matchuje?”Zakładka Targeting → Channels & customer groups → Sales channels — musi zawierać kanał, na którym testujesz, albo być pusty (= wszystkie kanały). Częsty błąd: scena utworzona na Channel A zostaje pusta podczas testów, potem merchant przypisuje ją do Channel B na produkcję, ale zapomina usunąć pusty constraint.
5. Czy grupa klientów matchuje?
Dział zatytułowany „5. Czy grupa klientów matchuje?”Ta sama karta. Jeśli grupy klientów odwiedzającego nie ma na liście (a lista nie jest pusta), scena jest odfiltrowana. Anonymous odwiedzający zwykle wpadają w “default” grupę klientów kanału sprzedaży — potwierdź, jaka to grupa.
6. Czy filtry stron matchują?
Dział zatytułowany „6. Czy filtry stron matchują?”Zakładka Targeting → Pages. Strict opt-in — puste page types AND puste URL patterns oznacza, że scena nie matchuje niczego. Jeśli ustawisz tylko jedną oś, scena odpala się tylko gdy ta jedna matchuje. Z obiema ustawionymi, operator Pages / URL match (OR / AND) decyduje o kombinacji.
Testuj konkretnie: jaki typ strony Shopware oblicza dla URL-a, który odwiedzasz? Nie zawsze oczywiste — /cart to cart, /checkout/cart też może być cart, ale /checkout/confirm to checkout. Sprawdź kontener danych w stopce ([data-p2lab-stage-context]), żeby zobaczyć jaki page type storefront uważa.
7. Czy reguły się ewaluują?
Dział zatytułowany „7. Czy reguły się ewaluują?”Jeśli reguły są ustawione, kontekst odwiedzającego musi je spełnić zgodnie z operatorem reguł. Testuj najpierw z usuniętymi regułami — jeśli scena pokazuje się bez nich, wiesz którą oś debugować.
8. Czy odwiedzający jest już suppressed?
Dział zatytułowany „8. Czy odwiedzający jest już suppressed?”Otwórz DevTools → Application → Storage:
sessionStorage— wpisy z prefixemp2lab-stage-wskazują session-level suppression.localStorage— wpisy z prefixemp2lab-stage-z wartością zawierającą timestamp expiry wskazują days/permanent suppression.
Wyczyść je i przeładuj. Jeśli popup teraz się pojawia, problem to suppression częstotliwości — albo odwiedzający widział go już, albo ktoś inny w tej samej przeglądarce.
Dla czystego testu użyj okna private/incognito albo innego profilu przeglądarki.
9. Czy zgoda GDPR bramkuje storage?
Dział zatytułowany „9. Czy zgoda GDPR bramkuje storage?”W trybie consent plugin nie zapisuje do sessionStorage / localStorage, dopóki nie odpali cookie acceptance. Stan dismiss żyje w sesji PHP, której nie widać w DevTools. Stuknij GET /p2lab-stage/dismissed bezpośrednio, żeby zobaczyć co serwer uważa za suppressed.
10. Czy trigger się odpalił?
Dział zatytułowany „10. Czy trigger się odpalił?”Jeśli wszystko matchuje, ale popup nadal się nie pokazuje:
immediate— powinien zamontować się przy załadowaniu strony. Sprawdź DevTools console pod kątem błędów JS.delay— poczekaj co najmniejtriggerValuesekund. Częsty błąd: testowanie 60-sekundowego delay i poddawanie się po 5.scroll— zweryfikuj, że scrollowałeś pozatriggerValue%strony. Na krótkich stronach może to być niemożliwe (100% strona jest krótsza niż viewport).
11. Zbadaj odpowiedź resolve
Dział zatytułowany „11. Zbadaj odpowiedź resolve”Decydujący check. Otwórz DevTools → Network, filtruj resolve, znajdź POST do /p2lab-stage/resolve. Tablica popups w response to ground truth: jeśli twojej sceny tam nie ma, któryś z filtrów (1–9) ją odrzucił.
Glitche animacji
Dział zatytułowany „Glitche animacji”Warstwy skaczą albo snapują zamiast animować się płynnie
Dział zatytułowany „Warstwy skaczą albo snapują zamiast animować się płynnie”Prawdopodobna przyczyna: konfliktujące transformy na elemencie rodzicu. Mouse parallax dodaje transform: translate3d(...) rotate3d(...) do .p2lab-stage__layer-wrap. Jeśli rodzic (np. wrapper sceny) też jest transformowany przez keyframe’y osi czasu, kolejność komponowania ma znaczenie.
Fix: animuj liściową warstwę zamiast kontenera, albo wyłącz parallax na konfliktującej warstwie.
Animacja odpala się raz i zatrzymuje
Dział zatytułowany „Animacja odpala się raz i zatrzymuje”Prawdopodobna przyczyna: przełącznik Loop jest off na osi czasu. Kliknij Loop w nagłówku osi czasu. Dla scen, które mają cyklować niezależnie od root osi czasu, wiersz sceny ma osobny przełącznik Scene loops independently.
Animacja startuje, ale warstwa znika w połowie klatki
Dział zatytułowany „Animacja startuje, ale warstwa znika w połowie klatki”Prawdopodobna przyczyna: keyframe opacity spada do 0 w którymś momencie. Sprawdź track opacity dla warstwy; upewnij się że żaden keyframe nie ustawia opacity na 0, gdy tego nie chcesz.
Migotanie parallax
Dział zatytułowany „Migotanie parallax”Subtelne drżenie przy każdym ruchu myszy
Dział zatytułowany „Subtelne drżenie przy każdym ruchu myszy”Prawdopodobna przyczyna: intensywność za duża + niskie wartości depth. Silnik snapuje do subpixel precision; bardzo małe wartości połączone z wysoką intensywnością mogą produkować widoczne drżenie na niektórych GPU.
Fix: zmniejsz intensywność (Stage Settings → Parallax), albo zwiększ wartości depth/tilt per warstwa.
Parallax w ogóle się nie włącza
Dział zatytułowany „Parallax w ogóle się nie włącza”Przejdź przez to:
- Odwiedzający nie używa urządzenia dotykowego (parallax jest wyłączony na coarse pointers).
prefers-reduced-motion: reducenie jest ustawione w OS preferences.- Warstwa ma efekt Parallax włączony w Layer Style.
- Oba depth i tilt nie są oba 0.
- Stage intensity nie jest 0.
Konflikty CSS motywu
Dział zatytułowany „Konflikty CSS motywu”Style pluginu wyglądają źle na jednym motywie, dobrze na innym
Dział zatytułowany „Style pluginu wyglądają źle na jednym motywie, dobrze na innym”Prawdopodobna przyczyna: motyw nadpisuje zmienne CSS, których oczekuje plugin. Otwórz DevTools → zbadaj .p2lab-stage__shell, spójrz na zakładkę Computed. Jeśli zmienne --p2lab-stage-shell-* pokazują wartości, których nie wybierałeś, motyw je nadpisuje.
Fix: scope override w motywie do nie-pluginowych selektorów, albo ustaw zmienne z powrotem na pożądane wartości wewnątrz .p2lab-stage.
Bitwa o z-index ze sticky headerem
Dział zatytułowany „Bitwa o z-index ze sticky headerem”Domyślnie plugin używa z-index: 9999. Jeśli motyw ma cokolwiek wyższego (niektóre headery używają z-index: 999999), popup zostanie ukryty za nim.
Fix: zbumpuj z-index pluginu w swoim motywie (--p2lab-stage-z), albo obniż z-index nagłówka gdy popup jest widoczny.
Eventy / statystyki
Dział zatytułowany „Eventy / statystyki”Zakładka Stats pokazuje zera
Dział zatytułowany „Zakładka Stats pokazuje zera”Przejdź przez to:
- Czy Track statistics jest on (zakładka Overview → karta Statistics)?
- Czy zakres dat jest poprawny? Domyślnie to skonfigurowane okno retencji — jeśli retencja jest 90 dni, ale chcesz spojrzeć na miesiąc 6, nie znajdziesz tego.
- Czy ktoś odwiedził storefront po aktywacji sceny? Statystyki pojawiają się dopiero po prawdziwych eventach impression.
Liczba cta_click wygląda za nisko
Dział zatytułowany „Liczba cta_click wygląda za nisko”CTA clicks odpalają tylko na warstwach button i warstwach z włączonym Click action. Plain text / image warstwy bez click action nie liczą się. Jeśli oczekiwałeś że będą, włącz click action na tych warstwach w Layer Style.
Gdzie dalej
Dział zatytułowany „Gdzie dalej”- System config — każde ustawienie systemowe.
- Storefront → Jak renderują się sceny — pełny pipeline.
- Storefront → GDPR i storage — gdzie suppression naprawdę żyje.
- Analityka → Eventy — co rejestruje każdy event.