Connect Typeform & set up form-submission tracking
FunnelTrack captures Typeform submissions server-side via webhook and stitches each one back to the visitor's ad session through a Typeform End Screen redirect — every form lead you fire to Meta, Google, TikTok, and the rest carries the original click ID, identity data, and session context. Works with both embedded forms on your own pages and standalone Typeform pages.
- •A Typeform account on any paid plan that allows Webhooks (Basic and up)
- •Editor access to the forms you want to track
- •The FunnelTrack pixel deployed on every page of your site — especially on the post-submission thank-you page
- •At least one connected destination (Meta CAPI, Google Ads, GA4, etc.)
- •About 10 minutes per form
Setup
Drop the FunnelTrack pixel into your site, wire your Typeform's End Screen to redirect to a thank-you page with the submitter's details appended, then add the FunnelTrack webhook on each form.
Deploy the FunnelTrack pixel
From the Pixelsection of FunnelTrack, copy your pixel snippet and deploy it on every page of your site — including any third-party landing pages, the page hosting your Typeform embed (if you're embedding), and the post-submission thank-you page users land on after the form ends.
typeform.com) can't run the FunnelTrack pixel themselves, so for those it's the End Screen redirect to your thank-you page that does the matching. Either way the user must ultimately land on a page on your domain that has the pixel.Grab your FunnelTrack Typeform webhook URL
In FunnelTrack, open Integrations → Sources → Typeform. Copy the Webhook URL shown on the connection page — this is the single endpoint every Typeform in your workspace posts submissions to.
Configure the End Screen redirect
Open the form in the Typeform editor, go to Endings, and either add or edit an End Screen. Set its type to Redirect to URLand paste a thank-you URL that points to a page on your site with the FunnelTrack pixel installed. Append the submitter's details as query parameters using Typeform's field-reference syntax ({{field:...}}).
Use the parameter names below — these are the ones FunnelTrack understands. You don't need every one; map what your form collects:
| Query param | What it should hold |
|---|---|
| Submitter's email address | |
| phone | Submitter's phone number |
| name | Submitter's full name (use only if you don't have separate first / last fields) |
| fn | Submitter's first name |
| ln | Submitter's last name |
| city | City |
| region | State / province / region |
| zip | ZIP / postal code |
| country | Country (ISO-2 code is best, e.g. US) |
An example redirect URL with several fields wired up:
https://your-site.com/typeform-thank-you?email={{field:EMAIL_FIELD_REF}}&fn={{field:FIRST_NAME_REF}}&ln={{field:LAST_NAME_REF}}&phone={{field:PHONE_REF}}&city={{field:CITY_REF}}®ion={{field:REGION_REF}}&zip={{field:ZIP_REF}}&country={{field:COUNTRY_REF}}answers[]array, then resolves to that same contact deterministically and links to the visitor's session through contact history. No IP fingerprinting, no time guessing — the match is direct.Add the FunnelTrack webhook to each Typeform
In the Typeform editor, go to Connect → Webhooks and click Add a webhook. Paste the FunnelTrack Typeform webhook URL from step 2 into the Endpoint URL field. Save, then make sure the webhook's toggle is enabled.
Once the webhook is saved, submit a quick test entry on the form so FunnelTrack has a sample payload to work with in the next steps.
Add a form-submission event in a connected destination
In FunnelTrack, open a connected destination's routing page (e.g. Typeform → Meta Conversions API). You'll see an All Form Submissionstemplate card already in the list — this fires for every Typeform submission in the workspace, no matter which form it came from. Pick a destination event (e.g. Meta's Lead), flip the toggle on, and save. Done.
Lead, another fires Schedule) or when you want to map specific Typeform fields into the event payload.(Optional) Build a custom per-form event
For per-form precision, click Add Event on the same destination routing page. The Add Event modal asks for a Form ID — you can find it in Typeform by opening the form editor and copying the short alphanumeric ID from the URL (e.g. iD9w0L4O).
Paste the form ID into the modal and click Find Last Submission. FunnelTrack pulls the most recent submission for that form and surfaces every field it found — both the raw Typeform field IDs (e.g. bQUJnQuXqDu7) and slugified question titles (e.g. work_email_address) so you can map by whichever feels more readable. Give the event a name that'll show up on the destination's outbound usage logs, then pick a destination event below.
(Optional) Map event parameters
Two kinds of parameters can be mapped on the event:
- •Event Parameters — static values you type in (e.g.
currency: USD) or dynamic values pulled from form fields (e.g.form_titlepulled from the Typeform form title). These are sent to the destination as standard or custom event parameters. - •User Data Parameters — FunnelTrack auto-captures email, phone, name, and address fields from the Typeform submission via the answer types (
email,phone_number) plus title heuristics. If your form collects identity data for more than one person (e.g. a referral form with both the referrer's and referee's emails), use the User Data section to map which field is the primary contact for matching.
(Optional) Set event conditions
Use the Conditions section to fire the event only when the submission matches certain criteria — for example, only count a pricing-form submission as a lead when the budget choice is over $5,000, or gate a Meta Schedule event behind a specific use-case answer.
Test & deploy
Save the event card. Submit a final test entry on the form — the saved card on the routing page shows the event as configured, the inbound usage log shows Form {{ID}} (e.g. Form iD9w0L4O), and the outbound log shows the event name you set being dispatched to the destination.
Notes & best practices
A few things worth knowing before you scale this across every Typeform on your site.
- •The End Screen redirect is what makes attribution work. Without it, the pixel never fires on a page tied to this submission, so the only matching signal is contact history (and for first-time visitors that's nothing). Always configure the redirect.
- •One webhook URL, many forms.Your workspace has a single FunnelTrack Typeform webhook URL. Add it to every form's Connect → Webhooks panel. FunnelTrack uses the form ID inside the payload to route to the right event config — you don't need separate URLs per form.
- •Embed where you can. Embedded Typeforms get the pixel on the embed page (so we see the session at form start), then the redirect carries it through to the thank-you page (so we see the session at form end). That gives the cleanest cross-channel attribution.
- •Email auto-detection just works.Typeform tells us each answer's type — when a field is
emailorphone_numberwe pick it up automatically. Title heuristics fill in first / last name and address fields. Manual mappings are only needed for ambiguous forms (e.g. multiple emails on a single submission).
Events we support
What Typeform can send to FunnelTrack out of the box.
Typeform ships one event type through the Webhooks integration: a form_response submission. FunnelTrack receives the full submission payload (every answer plus the form definition) and discovers every field the form contains, so you can map any of them to event parameters or user data on the destination side.
There's no fixed event catalog here — each form's submission is the event, and the form ID is the discriminator FunnelTrack uses to route it to the right destination config. The All Form Submissions template is a workspace-wide catch-all that ignores form ID and matches every Typeform submission.
FAQs
Ready to set it up?
Jump straight into your FunnelTrack workspace and start wiring up your first Typeform.
Configure your Typeform integration →Need a hand?
If anything in this guide didn't match what you're seeing in Typeform or FunnelTrack, open a support ticket in your dashboard and we'll get you sorted.