Phase 5 complete: - guard purchase event per transaction in sessionStorage - restore saved consent before GTM and purchase - add centered Przelewy24 countdown redirect
2.9 KiB
2.9 KiB
Project: bilety.brzezovka.pl
Description
Aplikacja webowa do sprzedazy biletow online z obsluga zamowien, platnosci i komunikacji potransakcyjnej.
Core Value
Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmiastowe potwierdzenie zakupu.
Requirements
Must Have
- Obsluga zakupu biletow end-to-end (wybor, checkout, finalizacja)
- Poprawne rejestrowanie zamowien i danych transakcyjnych
- Data layer purchase po finalizacji zakupu (wdrozone w Phase 1)
- Event purchase capturuje 100% zamowien - fires przy skladaniu, nie przy powrocie z P24 (Phase 2)
- Zgodnosc z RODO - baner zgody na cookies z Google Consent Mode v2 (Phase 3)
- Baner cookies dziala bez bledu
injectScripts is not defined(Phase 4) - Event purchase ma zabezpieczenie przed duplikatem przy odswiezeniu strony Przelewy24 (Phase 5)
- Przekierowanie do Przelewy24 dziala automatycznie po 5 sekundach z czytelnym komunikatem (Phase 5)
Should Have
- Spojny tracking analityczny dla zdarzen ecommerce
- Walidacja danych telemetrycznych i brak duplikatow eventow
Nice to Have
- Rozszerzony monitoring jakosci danych analitycznych
Constraints
- PHP + Medoo + prepared statements bez sklejania SQL
- Bez logiki biznesowej w widokach
- Bez zmian poza zakresem ecommerce tracking/cookie consent dla aktualnej pracy
Key Decisions
| Decision | Phase | Impact |
|---|---|---|
| Event purchase na order-confirm (post-payment) | Phase 1 | Eliminuje falszywe konwersje |
| ZMIANA: Event purchase na przelewy24 (pre-payment, post-order) | Phase 2 | Capturuje 100% zamowien, beacon transport |
| Payload ecommerce budowany w backendzie | Phase 1 | Bezpieczenstwo, brak XSS |
| cookieNoticePro.init() zamiast $.fn.cookieNoticePro() | Phase 3 | Zgodnie z dokumentacja biblioteki |
| Consent Mode v2 default-denied przed GTM snippetem | Phase 3 | Wymog Google od marca 2024 |
| Usuniecie niezdefiniowanego injectScripts() | Phase 4 | Naprawia blad konsoli przy cookies bez zmiany GTM/Consent Mode |
| Purchase guard w sessionStorage per transaction_id | Phase 5 | Chroni przed duplikatem eventu przy odswiezeniu strony |
| Restore zapisanych zgod przed GTM | Phase 5 | Purchase uruchamia sie z poprawnym stanem Consent Mode |
Success Criteria
- Event purchase trafia do data layer po zlozeniu zamowienia (osiagniete - Phase 2)
- Payload zawiera wszystkie dostepne dane transakcyjne i produktowe
- Integracja nie wplywa negatywnie na istniejacy checkout
- Baner cookies zgodny z RODO + Google Consent Mode v2 (osiagniete - Phase 3)
- Baner cookies nie generuje bledu
injectScripts is not defined(osiagniete - Phase 4) - Purchase nie duplikuje sie po odswiezeniu strony Przelewy24 w tej samej sesji przegladarki (osiagniete - Phase 5)
- Przelewy24 redirect jest automatyczny i poprzedzony czytelnym alertem z odliczaniem (osiagniete - Phase 5)
Created: 2026-04-19 20:20 Last updated: 2026-05-08 after Phase 5 (v0.4 complete)