Jak nastavit měření u webu s iframe rezervačním systémem
Iframe měření je problém hlavně u cross-origin rezervačních systémů. Bez podpory poskytovatele potřebujete postMessage, thank-you page, webhook nebo serverový event.
Krátká odpověď
Iframe měření je problém hlavně tehdy, když je rezervační systém na jiné doméně. Rodičovská stránka obvykle nevidí dovnitř cross-origin iframe, takže nelze spolehlivě měřit kliknutí nebo úspěšné odeslání přímo z DOM. Potřebujete spolupráci poskytovatele: postMessage, redirect na thank-you page, webhook nebo serverový event.
Proč nestačí klik na iframe
Když je rezervační systém vložený v iframe, rodičovský web často vidí jen to, že uživatel klikl do oblasti iframe. Nevidí, jestli vybral termín, vyplnil údaje nebo dokončil rezervaci. U cross-origin iframe je přístup do obsahu omezený z bezpečnostních důvodů.
Měřit klik do iframe jako konverzi je stejné jako měřit otevření formuláře místo skutečného leadu. Pro optimalizaci kampaní je to slabý a zavádějící signál.
Možnost 1: thank-you page
Nejjednodušší varianta je po dokončení rezervace přesměrovat uživatele na děkovací stránku na vašem webu. Tam se spustí konverzní event. Funguje to dobře, pokud poskytovatel umožňuje nastavit return URL a pokud se děkovací stránka nedá jednoduše navštívit bez rezervace.
Nevýhodou je, že někdy ztratíte detail rezervace, například typ služby, pobočku nebo hodnotu. Tyto parametry lze doplnit do návratové URL, ale musí to být bezpečné a nesmí to přenášet citlivá data nevhodným způsobem.
Možnost 2: postMessage
Pokud poskytovatel iframe umožňuje poslat zprávu rodičovskému oknu, lze použít window.postMessage. Rezervační systém po úspěchu odešle zprávu typu booking_success a rodičovská stránka ji zachytí, ověří origin a pošle dataLayer event.
Bezpečnost je zásadní. Nikdy nereagujte na zprávy z libovolného originu. Ověřujte event.origin a očekávaný formát payloadu.
window.addEventListener('message', function(event) {
if (event.origin !== 'https://rezervace.example.com') return;
if (!event.data || event.data.type !== 'booking_success') return;
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: 'booking_success',
booking_id: event.data.booking_id,
service_type: event.data.service_type,
value: event.data.value,
currency: 'CZK'
});
});Možnost 3: webhook nebo server event
Nejspolehlivější varianta pro obchodní výsledek je webhook z rezervačního systému do vašeho backendu nebo server-side GTM. Když rezervace vznikne, systém pošle serverový event. Ten lze spojit s uloženým click ID, e-mailem nebo jiným identifikátorem podle pravidel měření.
Tato varianta je technicky náročnější, ale lépe odolává refreshům, blokaci browser tagů a chybám na děkovací stránce. Zároveň umožňuje posílat jen skutečně potvrzené rezervace.
Auditní otázky pro poskytovatele
Umí systém return URL po dokončení? Umí předat booking_id a typ služby? Umí postMessage? Umí webhook? Lze do iframe předat UTM, GCLID nebo interní session ID? Kde se ukládá souhlas? Je možné měřit storna a změny rezervace? Bez odpovědí na tyto otázky budete měřit odhadem.
FAQ
Časté otázky
Další článek
měření více formulářů lead value
Jak měřit leady z více formulářů, když každý formulář znamená jinou obchodní hodnotu
Více formulářů neznamená jednu konverzi. Kontakt, enterprise poptávka, rezervace konzultace i e-book mají jinou obchodní hodnotu.
Hledáte někoho, kdo to vezme za vás?
Prověříme rezervační systém a navrhneme měření, které zachytí skutečné rezervace, ne jen kliknutí do iframe.