On this page
  1. Two jobs, two tools
  2. Store UTM values on each response
  3. With Source tracking
  4. With URL parameters on any plan
  5. Pass UTMs through a form embedded on your site
  6. Fixed values for each embed
  7. The visitor's own UTMs from your page URL
  8. Send Typeform activity to GA4
  9. Choose the values and test before launch
  10. Sources

Typeform UTM tracking is two separate jobs. To know which campaign each response came from, add Source tracking (opens in a new tab) to the form so the UTM values appear in your Responses. To count form activity in Google Analytics, connect Typeform's Google Analytics integration (opens in a new tab), which tracks when a question is passed or a typeform is submitted.

Two jobs, two tools

Source tracking (opens in a new tab) puts the campaign into the response itself. You can track source, medium, campaign, term and content, and the UTM data appears in your Responses. Per Typeform's GA FAQs (opens in a new tab), tracking source with UTM parameters this way is for accounts on a Business plan.

The Google Analytics integration (opens in a new tab) sends events instead: a question passed, a typeform submitted. It is only available on a Business or above plan. It does not track answer options, views or scrolls.

Not on a Business plan? URL parameters (opens in a new tab) (formerly Hidden Fields) are a Free feature, and you can still use UTM parameters as URL parameters.

Build a campaign link

Create a UTM link with the free builder. No account needed.

Store UTM values on each response

With Source tracking

The steps, from Typeform's Source tracking guide (opens in a new tab):

  1. Open the Workflow panel and click the + button under Pull data in.
  2. Toggle on the Source tracking UTMs you want and click Save.
  3. Click the Share/Publish edits button to make your form live.
  4. Go to the Share panel and copy the share link.
  5. Paste the link where you plan to use it and replace the XXXXX strings with your values: for example, &utm_source=facebook tracks responses coming from Facebook.

The values then show in your Responses.

With URL parameters on any plan

URL parameters (opens in a new tab) do the same job with names you choose. Typeform requires lower-case names with underscores for spaces, so utm_source and utm_campaign work as names. Typeform's example link carries them after a #: /to/nzthWI#first_name=xxxxx&source=xxxxx. Typeform's embed configuration reference (opens in a new tab) describes hidden fields as passed in the URL hash and tracking parameters in the URL query string.

Two cautions from Typeform. Renaming a URL parameter that has already collected responses also deletes the responses collected before. And do not pass sensitive or secret information in URL parameters.

Pass UTMs through a form embedded on your site

Fixed values for each embed

URL parameters are included in the embed code automatically (opens in a new tab). To give them values, click Advanced and toggle Set custom values. You can create several embed codes for the same form with different values. With Source tracking (opens in a new tab), you specify the UTM values before generating the embed code.

If your embed code already has URL parameters configured, the ones added with the data-tf-hidden attribute overwrite them.

The visitor's own UTMs from your page URL

When the campaign link points at your page rather than at Typeform, you can forward the page's UTM values to the embed. Typeform's guide to passing UTM values to an embed (opens in a new tab) starts from two prerequisites: a Google Analytics integration for the form, set up in the Connect panel, and the UTM parameters toggled on under Source tracking. Then either add the data-tf-transitive-search-params attribute, or toggle Read URL parameters in the Advanced panel. Your page URL must include the UTM parameters you activated, such as utm_source and utm_medium. The form then captures those values from the URL, even when they change.

Send Typeform activity to GA4

Typeform's Google Analytics integration (opens in a new tab) asks for your Measurement ID: paste it and click Finish. Before relying on the numbers, know its limits:

  • Events can take up to 24 hours to populate in Google Analytics.
  • You cannot use it if the typeform has a Payment field.
  • If your website and the embedded typeform use the same tracking ID, form events show up as duplicates. For duplicated tracking records on an embedded typeform, Typeform's GA FAQs (opens in a new tab) say to enable shareGoogleAnalyticsInstance in the embed code, for example the data-tf-share-ga-instance attribute.
  • Events may not reach GA, for example when a respondent uses an ad blocker or does not accept cookies in the typeform's cookie consent banner (Typeform's GA4 FAQ (opens in a new tab)).

For embedded typeforms, the UTM tracking parameters you have enabled are included in Typeform's embed code and also tracked in Google Analytics.

To see where visitors to your site came from, open Acquisition > Traffic acquisition (opens in a new tab) in GA4, where session source and medium are the ones associated with a new session. The GA4 reporting guide walks through it.

Choose the values and test before launch

Google recommends (opens in a new tab) always using utm_source, utm_medium and utm_campaign. Values with different capitalization, such as Meta and meta, count as different values, so agree on lowercase spellings and keep them in a naming worksheet.

Build the link with the free UTM builder, which builds a campaign URL with UTM parameters for GA4. Then open the tagged link, submit a test response, and check that the values appear in your Responses.

Sources

Tools for this

Frequently asked questions

Do I need a paid Typeform plan to track UTMs?

On a Business plan you can track source and other respondent properties using UTM parameters, and the Google Analytics integration needs a Business or above plan. URL parameters are a Free feature and can carry UTM parameters.

Why don't my UTM values show up when the form is embedded on my site?

Typeform's method needs a Google Analytics integration for the form and the UTM parameters toggled on under Source tracking. Then toggle Read URL parameters in the Advanced panel, and make sure the page URL includes the UTM parameters you activated.

Does the Google Analytics integration show which answer someone picked?

No. It tracks whether a respondent answered a question or completed the typeform, not answer options, and it does not track views or scrolls.

Build a campaign link

Create a UTM link with the free builder. No account needed.