Why does embedded form tracking keep breaking?
Forms and schedulers from HubSpot, Calendly, Typeform and Chili Piper run inside their own frames, so your tags can't see them directly.
The short answer
Because the form isn't really on your page. HubSpot forms, Calendly and Chili Piper schedulers, and Typeform surveys usually run inside their own frame or script. Your tags can't see inside, so tracking depends on each tool announcing that a submission or booking happened. When anything in that chain changes, conversions quietly stop or start double counting.
Where it breaks
- The tool changes how it announces a submission or booking, and the listener stops hearing it.
- A redesign moves the form to a new page, swaps an embedded form for a popup, or removes the listener.
- The tool's own analytics integration and your Tag Manager setup both send the same conversion, so it counts twice.
- The listener counts the form being opened or a scheduler step, not a completed submission or booked meeting.
- Consent settings block the listener entirely, or let it fire before the visitor chooses.
- Chili Piper and similar routers add steps after the form, so "form submitted" and "meeting booked" become different outcomes. Decide which one is the conversion.
Signs yours is broken
- Leads in HubSpot or meetings in your calendar don't match conversions in GA4 or Google Ads.
- Conversions dropped to zero, or doubled, after a site change.
- One form converts and a nearly identical one on another page doesn't.
Keeping it working
Setting it up once isn't the hard part. Keeping it accurate through tool updates, redesigns and new forms is. Test every key form after each site change, compare conversions with the leads and meetings your team actually received, and know which tool owns each conversion so nothing counts twice.
