GA4 shows bookings as referrals from our booking engine
When checkout runs on another domain or inside an iframe, GA4 starts a new session at the booking step. Sales get credited to the booking engine or the payment provider, and the ad that brought the visitor gets nothing. Paid channels look weaker than they are and budgets get cut in the wrong place.
We set up cross-domain linking where the engine allows it and use postMessage listeners for iframe widgets so the purchase fires on your own page. Unwanted referrals are excluded. Where the engine sends webhooks, we record the sale server-side with the original click details attached.