Files
bilety.brzezovka.pl/.paul/PROJECT.md
Jacek Pyziak 28b7a1dd54 feat(05-purchase-redirect-hardening): harden purchase redirect tracking
Phase 5 complete:

- guard purchase event per transaction in sessionStorage

- restore saved consent before GTM and purchase

- add centered Przelewy24 countdown redirect
2026-05-08 23:56:37 +02:00

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)