Versionv1

Form provider integrations

Intastellar Analytics detects third-party form providers automatically via their native postMessage events. No extra configuration or SDK is needed — embed the third-party form as you normally would and the analytics embed handles detection.

Supported providers

ProviderDetection mechanismNotes
HubSpotwindow.postMessage with type hsFormCallbackFires on HubSpot's Embedded Forms script (hs-script.js). Includes multi-step form progression.
Typeformwindow.postMessage with type form-ready, form-submit, form-closeWorks for embedded Typeform iframes. Submit fires when Typeform reports the final answer.
Calendlywindow.postMessage with type calendly.event_type_viewed, calendly.event_scheduledevent_scheduled maps to form_submit in the analytics stream.
Tallywindow.postMessage with type TallyFormSubmitWorks for embedded Tally forms.

The provider field

The form_started, form_submit, and form_error events all include a provider field that reflects which system was detected:

ValueMeaning
"hubspot"HubSpot Embedded Form
"typeform"Typeform embedded iframe
"calendly"Calendly embedded widget
"tally"Tally embedded form
"native"Standard HTML <form> element

If a page has both a native form and an embedded third-party form, the embed tracks them independently using separate formId values.

Form error types

The errorType field on form_error events takes one of three values:

TypeWhen it firesfield value
validationHTML5 invalid event fires on a form field — browser or custom validation rejected the inputName of the failing field, e.g. "email"
serverThe form's fetch or XHR submission received an HTTP 4xx or 5xx response"" (error is at the request level, not a specific field)
networkThe form's fetch or XHR failed with no response (offline, DNS failure, timeout, CORS block)""

Using form_error to improve conversion

Aggregate form_error events by errorType and field to identify where visitors fail most often:

  • High validation errors on email → the field label or input type may be unclear.
  • High server errors → a backend endpoint is returning errors for legitimate submissions; check server logs.
  • High network errors → visitors may be on flaky connections, or a third-party form endpoint has availability issues.

How the embed attaches to third-party forms

Detection relies entirely on postMessage events dispatched by the third-party form script — the embed does not read the iframe DOM or intercept network requests. This means:

  • Detection works regardless of cross-origin iframe restrictions.
  • If a provider changes their postMessage event format in an update, detection may stop working until the analytics embed is updated.
  • Forms loaded via <iframe> with a src that does not send postMessage events (for example, a plain HTML page in an iframe) are not auto-detected.

For forms that are not auto-detected, use window.inta.track() to fire form_started, form_submit, and form_error events manually.

Last updated