feat: tracking integration with GTM and CMP

This commit is contained in:
Björn Fromme
2026-01-27 17:31:41 +01:00
parent d5944bf717
commit e9548d9f38
21 changed files with 453 additions and 51 deletions
@@ -92,8 +92,11 @@ class Step4Controller extends AbstractController
);
}
// Success: Store booking number in flash and clear session
// Success: Store booking data in flash for conversion tracking
$summaryData = $this->summaryDataService->getSummaryData($bookingCreateDto);
$this->addFlash('booking_number', $bookingResponse->bookingNumber);
$this->addFlash('booking_total', $summaryData->payableAmount);
$this->addFlash('booking_travel_name', $bookingCreateDto->travel->label);
$this->clearTravelDataCache($bookingCreateDto);
$this->bookingService->clearBookingDto($request, BookingDto::MODE_CREATE);
@@ -23,7 +23,10 @@ class SuccessController extends AbstractController
#[Route('/bookings/create/success', name: 'app_booking_create_success')]
public function success(Request $request): Response
{
$bookingNumber = $request->getSession()->getFlashBag()->get('booking_number')[0] ?? null;
$flashBag = $request->getSession()->getFlashBag();
$bookingNumber = $flashBag->get('booking_number')[0] ?? null;
$bookingTotal = $flashBag->get('booking_total')[0] ?? null;
$travelName = $flashBag->get('booking_travel_name')[0] ?? null;
$returnUrl = $this->bookingService->getReturnUrl($request);
// Redirect to return URL if no booking number (direct access or refresh)
@@ -33,6 +36,8 @@ class SuccessController extends AbstractController
return $this->render('booking/create/success.html.twig', [
'bookingNumber' => $bookingNumber,
'bookingTotal' => $bookingTotal,
'travelName' => $travelName,
'returnUrl' => $returnUrl,
]);
}