Hands-on module
Forms & bookings
Capture lead-gen embeds that never touch GTM's built-in form trigger.
Booking and form widgets are usually iframes or third-party scripts, so a submission never touches GTM's built-in form trigger and never lands in your dataLayer on its own. This module captures the ones that matter for lead gen: Calendly, Typeform and HubSpot.
Each one talks to the page in its own way (postMessage events, or a callback), so the move is the same every time: add a small Custom HTML listener that turns the widget's signal into a clean dataLayer event, then trigger on it.
What you'll learn
- Catch Calendly's postMessage events, with calendly_event_scheduled as the booking conversion
- Listen for Typeform's form-submit and screen-change messages
- Catch HubSpot's hsFormCallback onFormSubmitted (the built-in form trigger misses it)
- Fire a GA4 Event tag on each captured event
Lessons
- 1→
Calendly Bookings
Capture Calendly's postMessage events (event_scheduled) into the dataLayer.
- 2→
Typeform Submissions
Listen for Typeform's form-submit / step-change messages and push them.
- 3→
HubSpot Forms
Catch HubSpot's hsFormCallback / onFormSubmitted message and tag it.
- 4→
Forms & Bookings: Recap And Verify
Recap every embed listener, then check your whole container in one pass.