feat(02-purchase-event-prepayment): move purchase event to przelewy24 pre-payment page

Phase 2 complete:
- buildPurchaseDataLayer() called in przelewy24() controller, payload passed to template
- dataLayer.push added to templates/tickets/przelewy24.php (fires at order commitment)
- dataLayer.push removed from templates/tickets/order-confirm.php
- Captures 100% of orders regardless of user returning from payment gateway

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
2026-04-26 22:29:54 +02:00
parent 5bbec72b59
commit 86e712ba4f
9 changed files with 404 additions and 54 deletions

View File

@@ -1,4 +1,4 @@
# Project: bilety.brzezovka.pl
# Project: bilety.brzezovka.pl
## Description
Aplikacja webowa do sprzedazy biletow online z obsluga zamowien, platnosci i komunikacji potransakcyjnej.
@@ -12,9 +12,11 @@ Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmi
- [x] Obsluga zakupu biletow end-to-end (wybor, checkout, finalizacja)
- [x] Poprawne rejestrowanie zamowien i danych transakcyjnych
- [x] Data layer purchase po finalizacji zakupu (wdrozone w Phase 1)
- [x] 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)
### Should Have
- Spojny tracking analityczny dla zdarzen ecommerce
- [x] Spojny tracking analityczny dla zdarzen ecommerce
- Walidacja danych telemetrycznych i brak duplikatow eventow
### Nice to Have
@@ -25,11 +27,20 @@ Uzytkownicy moga szybko i bezpiecznie kupic bilety online oraz otrzymac natychmi
- Bez logiki biznesowej w widokach
- Bez zmian poza zakresem ecommerce tracking 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 |
## Success Criteria
- Event purchase trafia do data layer po skutecznym zakupie (osiagniete)
- 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 (cel Phase 3)
---
*Created: 2026-04-19 20:20*
*Last updated: 2026-04-19 after Phase 1*
*Last updated: 2026-04-26 after Phase 2*