← Form tracking demos Watch it fail

8 · Form inside an iframe

A stand-in for every embedded form widget — HubSpot, Typeform, a booking tool. The form lives in its own document, so the Tag running on this page cannot see it, rewrite it, or hear it submit.

The form below is a separate document loaded in an iframe.

What you should see. The inspector on this page reports no Click ID field at all — from out here, the form does not exist. Inside the frame the hidden field still reads --CLICK-ID--. Whatever the Tag does on the parent page, the embedded form is untouched.
The fix. Same as the popup and quiz cases: let the Tag put _atid on the parent page's URL, then have the embed read it. Most form builders expose a way to prefill a field from a URL parameter — pass the value into the iframe's src, or map it in the widget's own field settings.
<!-- pass the parent page's _atid into the embed -->
<iframe src="/iframe-inner.html?click_id=ENCODED_ATID"></iframe>

Worth checking on real embeds. Some widgets, including HubSpot forms, expose a native way to collect a URL parameter into a field. Prefer that over anything that reaches across the frame boundary.