Fillo doesn't inject GA4, Meta Pixel, or Google Tag Manager scripts from a form setting. Track product events in your host app through renderer callbacks or native DOM events.
Track an accepted submission in React
onSubmitted runs after Fillo accepts the response. Push a minimal event to the analytics system your app has already initialized.
<FilloForm
formId="onboarding"
onSubmitted={(responseId) => {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "fillo_form_submitted",
form_id: "onboarding",
response_id: responseId,
});
}}
/>This example uses the conventional Google Tag Manager data layer; configure the matching custom-event trigger in your own GTM container. For another vendor, call its already-loaded client in the same callback.
Track with the DOM renderer
The <fillo-form> custom element emits native fillo-submit and fillo-error events:
const form = document.querySelector("fillo-form");
form.addEventListener("fillo-submit", (event) => {
window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
event: "fillo_form_submitted",
form_id: "onboarding",
response_id: event.detail.responseId,
});
});For a view event, use the host route's page-view or visibility tracking. Fillo's own session and funnel analytics power the workspace Insights page — they aren't a public pixel-forwarding API.
Event contract
| Event | Send | Don't send |
|---|---|---|
| Form viewed | Stable form handle or public ID | Labels, hidden values, prefilled personal data |
| Form submitted | Form ID and optional response ID | Answers, email, phone, signature, file URL |
| Form error | A safe error category | Raw server body, secret, or respondent text |
Consent and blockers
Your host app controls when analytics code loads, how consent is collected, and which vendor receives the event. Browser extensions, consent choices, network policy, and vendor quotas can block tracking without affecting Fillo response storage.
A pixel event isn't proof that Fillo stored a response. For accepted-response analytics, use onSubmitted rather than a submit-button click. For server-side business work that has to be reliable, use signed webhooks.
Related
- Responses and insights: Use Fillo's form activity and funnel analysis.
- Custom UI: Attach host-owned events to a headless experience.
- Webhooks: Run durable server-side work after response storage.