Typeform + Meta ads: know which ad brought in each lead

Connect the Typeform on your Framer, Webflow, or WordPress landing page to Nod so every response arrives as a lead with its campaign and ad. See which ads bring in leads, calls, and sales, use answers in automations, and send events through Meta Conversions API to help Meta optimize.

Why is this needed? When someone clicks an ad, your landing page URL contains parameters that identify where they came from. If the form does not collect them, they are lost on submission. Nod adds hidden fields to Typeform and provides embed code that passes those details into the form, linking each response to the ad that brought it in.

Before you start

  • A Typeform account with the form you use in your ads.
  • Owner or administrator access in Nod. Only these roles can connect integrations.
  • Access to the editor for the landing page that contains your form, such as Framer.
  • Access to Meta Ads Manager to edit your ads.

Step 1 — Connect Typeform to Nod

  1. In Nod, open «Integrations».
  2. Find the «Typeform» card and click «Configure».
  3. In the panel, click «Connect with Typeform».
  4. Sign in to Typeform if needed and approve the permissions. Nod reads your forms and responses, adds the hidden ad fields, and creates a webhook: an automatic notification that sends each response to Nod.
  5. You will return to Nod, to the Typeform «Set up forms» page.
Note: if the panel asks for a token instead of showing the button, create one in Typeform → your profile → Settings → Personal tokens, with permissions for accounts, forms, webhooks, and responses. Paste it into Nod and click «Connect».

Step 2 — Choose the form used in your ads

  1. Click «Connect a form».
  2. Find and select the form you use in your ads.
  3. Under «Stage new leads land in», choose a pipeline stage or leave «First stage of the main pipeline» selected.
  4. Keep «Also import the responses from the last 30 days» checked if you want to bring in existing leads.
  5. Click «Connect».

Nod adds five hidden fields to your Typeform: utm_source, utm_medium, utm_campaign, utm_content, and fbclid. UTM parameters identify the source and campaign; fbclid stores the Meta click identifier. Nod also creates a secure webhook to receive responses. Your questions, design, and form logic stay the same.

Important: older responses are imported with ad information only if they already contained it. They do not trigger automations or send events to Meta, so you avoid sending emails or events weeks after the original response.
Choose the starting stage and whether to import older responses.

Step 3 — Add the code to your landing page

  1. On the connected form card, find «Paste this code into your landing page». Choose «Inside the page» to embed the form and adjust «Height (px)», or «Button that opens it» to open it in a window and customize «Button text».
  2. Click «Copy code».
  3. Replace the existing Typeform on your landing page with this code. In Framer, insert an «Embed» block, choose HTML, paste the code, and publish your site. In Webflow, use an «Embed» element; in WordPress, use a «Custom HTML» block.
Important: use the code from Nod, not Typeform’s code or Framer’s Typeform component. Nod’s code passes the campaign and ad from the page URL into the form. Without that adjustment, the ad information is lost.
Typeform embed options for your landing page.

Step 4 — Add URL parameters to your Meta ads

  1. In Meta Ads Manager, open the campaign and the ad that sends people to your landing page. Go to Ad setup → Tracking → «URL parameters».
  2. Paste the exact block below. Do not change the values inside the braces.
  3. Publish your changes.
utm_source=meta&utm_medium=paid&utm_campaign={{campaign.name}}&utm_content={{ad.id}}

Meta replaces {{campaign.name}} with the campaign name and {{ad.id}} with the ad identifier. The ad identifier lets Nod recognize the exact ad that brought in each lead. Do not replace it with your ad name or any other text.

You can also copy these parameters from «Meta Ads» in Nod. Find the notice explaining that your ads are not yet identifying which ad brings in each lead, then click the copy button.

Step 5 — Test the connection

  1. On the form card, find «Test that the ad comes through» and enter the URL in «Your landing page address».
  2. Click «Open the test landing page». The page opens with a test campaign and ad.
  3. Complete and submit the form on that page using a test email address.
  4. Return to Nod and wait a few seconds. The latest-response message will confirm whether the campaign and ad came through. If they did, attribution is working. If the response arrived without an ad, review Step 3: the embed may not be Nod’s code, or the landing page may not be preserving the URL parameters.
  5. Under «Latest responses», find the test response with its ad and campaign label. Open it to review the answers, then click «Open the lead» to check the record.
  6. Delete the test lead from your pipeline when you are done.
Attribution test on the form card.

Settings for each form

Under «Where the leads land», choose how each response enters your business. Review these settings and click «Save» when you are done.

  • «Stage for new leads»: sets the starting stage for new leads. If a lead already exists with the same email, they keep their stage and Nod fills in missing information.
  • «Send «Lead» to Meta»: when Meta CAPI is connected through «Meta Ads» → «Connect Meta CAPI», each response is sent as a Lead. Turn this off if you want to send only leads that match your ideal customer criteria using an automation with «Send event to Meta».
  • «Temperature from the Typeform score»: if your form calculates a score, use «Warm from» and «Hot from» to set the score thresholds for each temperature.
Starting stage, Lead event, and score-based temperature.

Use responses in your automations

  1. In «Automations», create an automation with the «Form submitted» trigger.
  2. Select «Typeform · form name».
  3. Add a condition using a question by its name. For example: “What is your monthly business revenue?” → “equals” → “More than €10,000”.
  4. Then add an action: notify your team, move the lead to another stage, or «Send event to Meta». For example, send the Complete Registration event only for responses that meet your criteria.

This lets you use a person’s answers to decide the next step without reviewing every response manually.

Where to see your results

  • In the lead record: the source, «Typeform · form name», and the campaign that brought them in.
  • In «Meta Ads»: leads, calls, and sales for each ad, along with its return. Data updates every hour, or you can click «Refresh».
Note: Nod credits the first ad that brought in the lead. If the same person returns through a different ad, the original ad keeps the credit.

Frequently asked questions

Does this change my Typeform?

Only the five hidden fields are added. Respondents cannot see them. Your questions, design, and logic stay the same.

What happens if someone submits the form twice?

Both responses are saved. If they use the same email, Nod updates the same lead record. A single response is never recorded twice.

Does it work with partial responses?

No. Nod receives completed responses, not forms someone leaves unfinished.

What if I delete the hidden fields in Typeform?

Connect the form again so Nod can add them back.

Does this work with ads that open an Instagram or Messenger conversation?

No. This guide covers ads that send people to your landing page and a Typeform form.

How do I stop receiving responses from a form?

Click «Disconnect form» on its card. Leads and responses already received are kept.

Troubleshooting

I do not see «Connect with Typeform».

Check that you are an owner or administrator. If the panel asks for a token, follow the note in Step 1.

The test says the response arrived without an ad.

Check that you used Nod’s embed code, published the landing page, and opened it through «Open the test landing page».

No responses are arriving.

The form on your landing page must be the same one you connected in Nod. Check that it appears as connected on Nod’s Typeform page.

Typeform does not allow this action with my connection.

Reconnect Typeform and approve all the requested permissions.

Leads do not appear under an ad in Meta Ads.

Check «URL parameters»: it must contain {{ad.id}} exactly as shown in Step 4, including both pairs of braces.

Summary

  1. Connect Typeform to Nod.
  2. Choose your ad’s form and its starting pipeline stage.
  3. Add Nod’s code to your landing page and publish it.
  4. Add the URL parameters in Meta and publish your ads.
  5. Open the test landing page and check that the campaign and ad arrive.
Still have a question? Contact us through Report a bug or the chat.