We have just shipped a change to Typeform tracking in Lead Source that removes most of the setup, and specifically the part everybody hated.

Until now, connecting a Typeform meant copying a webhook address out of Lead Source, opening Typeform, finding Connect, adding a webhook, pasting the address, and repeating that for every form. Before any of that, you declared Hidden Fields in the builder and made sure every link opening the form carried the right parameters. It worked. It was also about half an hour per form, and it broke whenever somebody added a button and forgot the query string.

That is gone. Here is what it looks like now.

The whole thing

In Forms, choose a form built in a separate tool, pick Typeform, and hit Connect Typeform. You sign in to Typeform and authorise Lead Source. Then you get a list of your Typeforms with tick boxes next to them. Tick the ones you want tracked and press continue.

That is the setup.

app.leadsource.co · forms

Step 1 of 4

Where do your forms come from?

  • Built into my website
  • A form built in a separate tool
  • A CRM-embedded form

Step 2 of 4

Which form service do you use?

  • Typeform
  • Jotform
  • Tally
  • Fillout
  • Paperform
  • Cognito Forms

Step 3 of 4

Lead Source wants to connect to your Typeform account

  • Forms
  • Webhooks
  • Offline access
Authorize

Step 4 of 4

Choose your Typeforms

  • Quote request
  • Book a consultation
  • Contact us
Done, continue

Connected. We will handle the webhooks.

Lead Source creates and manages the webhooks behind the scenes. You never see a webhook URL, because you no longer need to touch one. If you disconnect and reconnect later it will not leave duplicate webhooks behind, which was the other thing that used to go wrong.

We also detect the Typeforms already on your website. If one of them is not in the account you signed in to, we tell you plainly, rather than quietly showing you a shorter list than you expected.

What you get on the lead

The setup got shorter. The data did not.

When somebody submits a connected Typeform, Lead Source matches that response back to the visitor and everything they did on your site beforehand. The lead arrives carrying their name, email and phone if the form asked for it, plus the source, channel, campaign and UTMs, the landing page, first and last visit, and the pages they read before they converted. It also names which Typeform produced the lead, which matters once you are running more than two.

One response, one lead. Not a duplicate an hour later, and not a blank source field.

The bit that usually breaks

The hard case for Typeform tracking has always been the hosted form. Somebody clicks your ad, lands on your site, then clicks through to a Typeform on typeform.com. That click leaves your website, and anything depending on your site’s own tracking loses them right there.

Lead Source remembers the visitor before they go and matches the response when it comes back. Embedded or hosted, Logic Jumps, custom branding, Outcome variables: it does not matter, because we match the person.

One honest limit. If we had never seen that visitor on your website before they submitted, the lead still arrives with all its answers, but the marketing attribution may be limited or unknown. There is no visit to match it to. In practice that is somebody opening a hosted Typeform link straight from an email, having never been to your site.

Coming next

Select all, and an option to automatically include Typeforms you build later so you do not have to come back and tick them.

If you are already set up the old way

Nothing breaks. If you have Hidden Fields in your Typeforms, leave them. Lead Source does not read them or interfere with them, and plenty of people use Hidden Fields for things that have nothing to do with attribution, like passing a record ID or pre-filling a known email.

If you have webhooks you pasted in manually, reconnect through the new flow and we will take it from there.

Read more: