How to Track UTM Parameters in Fluent Forms

See which campaign sent each Fluent Forms lead on WordPress. Add one script tag, no hidden fields, then test with a UTM link.

Author
SourceTrack Team
Read Time
05 Mins read
Published Date
Updated
How to Track UTM Parameters in Fluent Forms

A Fluent Forms enquiry arrives in your WordPress dashboard, and it tells you the name and the message. It does not tell you whether the visitor came from an ad, a newsletter or a post. This guide fixes that. You add one script tag, and SourceTrack links each Fluent Forms lead to the campaign that sent the visitor.

How Fluent Forms handles UTM parameters on its own

Fluent Forms can fill a field from the link. According to the Fluent Forms documentation on URL parameters, you open the form in the editor, select a field, open Advanced Options and click the three-dot icon next to Default Value. There you choose “Populate by GET Param” and enter the field’s name attribute. The link then carries that name, for example ?fieldname=value, and the field is filled when the form loads.

To track a campaign this way you add a hidden field for each tag you care about, such as source, medium and campaign, and set each one to fill from the matching parameter.

That is a real option, and it falls short in a few places:

  • One field per tag, per form. Every UTM needs its own hidden field, and every form needs the same setup. A new form without them saves no campaign.
  • The tags must be in the address. The field is filled from the link of the page that loads the form. If a visitor lands on a blog post from an ad and then clicks to your contact page, the tags are no longer in the address, and the fields stay empty.
  • Caching. The Fluent Forms page on URL parameters does not say how page caching affects prefilled values, so check the vendor documentation or ask their support if your site uses a cache.
  • First touch against last touch. A hidden field holds one value from one page view. It cannot show where the visitor first came from and what brought them back.

What SourceTrack records for each Fluent Forms lead

A Fluent Forms form is rendered in your own page. When someone sends it on a page that has the script, the tracker sees the submit and links the lead to the visit that brought them. For each lead you can see:

  • UTM parameters: utm_source, utm_medium, utm_campaign, utm_content and utm_term.
  • Ad click IDs: gclid for Google Ads, fbclid for Meta Ads, msclkid for Bing Ads, li_fat_id for LinkedIn Ads and ttclid for TikTok Ads.
  • Referrer and landing page: the site that sent the visitor and the first page they viewed.
  • First touch and last touch: both appear in the lead’s touchpoint timeline, so you can compare what started the journey with what closed it.

All of this comes from the visit, not from the form, so none of it needs a field in Fluent Forms. The tracker is first-party, sets no third-party cookies and honours Do Not Track and Global Privacy Control. Cookieless Mode is a setting on every plan.

Step 1: Add the script tag

Copy your one script tag from SourceTrack. Paste it into the head of your WordPress site, once. The install guide shows where it goes. On WordPress you can use the SourceTrack plugin or a header snippet tool, and the WordPress guide explains both. If a form plugin or a cache bundles your scripts, check the settings of that tool after you save.

Step 2: Put your Fluent Forms form on a page

Show your Fluent Forms form on a page of your site as you normally do, with its shortcode or block. SourceTrack captures a form that sits directly on your page. A form counts as a lead when its name or address, or the page address, has a word such as contact, demo or quote. Forms that look like login, password, reset or search forms do not count. Do not add hidden fields.

Open your page with UTMs on the end of the link, like this:

https://yourwebsite.com/contact?utm_source=test&utm_medium=email&utm_campaign=form_test

Open it in a new private window. If your browser sends Do Not Track or Global Privacy Control, SourceTrack respects that and will not track the visit. Fill in the form with a test email and send it.

Step 4: Look at the lead in SourceTrack

Open SourceTrack and find the new lead. Check that the source, medium and campaign match your test link. Open the link directly, not by clicking through from another page.

Common problems and fixes

  • Nothing shows up at all. View the page source and check that the script tag sits inside the head. Then open your browser’s developer tools, choose Network, filter by track and reload. A successful request means the script is running.
  • Do Not Track or Global Privacy Control is on. SourceTrack respects both. If your browser or an extension sends either signal, the tracker does not run, and your test visit will not appear. Test in a browser without them.
  • Caching or minify. After you add the tag, clear your site cache. If a cache plugin bundles JavaScript, exclude tracker.min.js from minification and defer lists, then look for errors in the browser console.
  • The form is inside an iframe. A form in an iframe submits in its own frame, which the page script does not see. SourceTrack captures forms that sit directly on your page.
  • Everything shows as Direct. The visit had no tags and no referring site. Tag the links you control. The troubleshooting guide explains why a visit can arrive without a referrer.

Further reading

Frequently asked questions

Do I need hidden fields in Fluent Forms?

No. Once the script is on your site, SourceTrack captures Fluent Forms forms that sit on your page. You do not change the form.

Do I need the WordPress plugin?

No. You can paste the script tag into the head of your site with a header snippet tool, or use the SourceTrack WordPress plugin. Either way the form needs no change.

SourceTrack still looks at where they came from, such as a search engine or another website. If the link has no tags and the visit has no referring site, it shows as Direct. So tag the links you control, like emails, ads and social posts.

What if the visitor browses other pages before they reach the Fluent Forms form?

The lead is still linked to the visit that brought them to your site, because SourceTrack reads the visit and not the page the form is on. The lead shows the first touch and the last touch, so the original ad or email is not lost.

Why did my test lead not show up?

First, check that the script tag is on the page with the form. Second, try a private window that does not send Do Not Track or Global Privacy Control, because SourceTrack respects both. Then see the troubleshooting guide.

Next step

Tag the links you share, then watch the leads come in. Learn the basics in how to track UTM parameters, check your links with the UTM validator, read the install guide or the troubleshooting guide, or see how every tool connects. Other WordPress form tools work the same way, like WPForms and Gravity Forms.

Related Blogs

How to Track UTM Parameters: The Basics

Learn what UTM parameters are, how to build tagged links, and how to see which campaign sent each lead. Plain steps, no code.

SourceTrack Team

Attribution & Growth Engineering

20 Oct, 2026

How to Track UTM Parameters in Cal.com

See which campaign sent each Cal.com booking. Add one script tag to the page with your embed, then test with a UTM link.

SourceTrack Team

Attribution & Growth Engineering

20 Oct, 2026

How to Track UTM Parameters in Calendly

See which campaign sent each Calendly booking. Add one script tag to the page with your embed, then test with a UTM link.

SourceTrack Team

Attribution & Growth Engineering

20 Oct, 2026