Elementor Forms logo

Elementor Forms

Elementor Forms UTM tracking and lead source capture

The Elementor form widget stores whatever a visitor types into it. The channel, campaign and keyword that brought them sit in the URL and the referrer, and nothing in Elementor reads either until you add hidden fields for SourceTag to fill in.

Your website

Script installed

SourceTag

Captures attribution

Elementor Forms

Hidden fields sent

Your tools

Data arrives tagged

The problem

Elementor Forms captures what people type into the form. It has no idea how that visitor found your site, or which ad they clicked to get there. That data lives in the URL and the referrer, not in anything Elementor Forms can see on its own.

How to set it up

Add a handful of hidden fields to your Elementor Forms form. SourceTag's script finds them and fills them in the moment someone hits submit, so the channel, click ID and landing page arrive with the rest of the entry.

1

Get SourceTag running

Install the SourceTag plugin and drop in your Site ID.

2

Name the hidden fields to match

In Elementor Forms, add hidden fields called st_fc_channel, st_fc_detail_1 and so on. Your SourceTag dashboard has the full list.

3

Submit one test entry

Load your site with ?utm_source=test&utm_medium=cpc, submit the form, and look for the attribution data on the entry.

The twelve fields to add

st_fc_channel, st_fc_detail_1 through st_fc_detail_4 and st_fc_landing_page cover the first click, with the same six st_lc_ fields for the last click. All twelve are always populated.

The detail fields carry different data depending on the channel. On Paid Search and Paid Social they hold utm_source, utm_campaign, utm_term and utm_content. On Organic Search, detail 1 is the search engine and detail 2 the referrer URL. On Direct, all four read (not set).

st_fc_landing_page and st_lc_landing_page store the path and query string of the page a visitor arrived on, with UTM parameters and click IDs removed.

Enable the extended groups in your dashboard for click IDs, raw UTM values, or st_visits, st_days_to_convert and st_device, then add a hidden field for each one you turn on. Full field list.

Adding hidden fields in the form widget

The Hidden field type lives inside the form widget itself, and the form widget is an Elementor Pro feature. If you're on free Elementor there's no form widget to add fields to, and you'll need Elementor Pro or a separate form plugin like WPForms or Gravity Forms.

1

Open the page in Elementor and select the form widget

Click the form on the canvas, then go to the Content tab in the left panel.

2

Add a field and set its Type to Hidden

Under Form Fields, click Add Item, then set the new field's Type to Hidden.

3

Set the ID, not the Label, to the SourceTag field name

Open the field's Advanced section and set the ID to the exact field name, for example st_fc_channel. The ID is what SourceTag matches against, so a Label alone does nothing.

4

Leave Default Value empty and repeat for the rest

Add all twelve core fields the same way, then update or publish the page.

Actions After Submit: where the values travel

Content > Actions After Submit decides what happens when someone submits the form. Every action Elementor Pro offers, from the default Email action to a Webhook or one of the built-in integrations for Mailchimp, ActiveCampaign, HubSpot or Zapier, receives the full set of field values, hidden ones included.

The default Email action message uses an [all-fields] tag that pulls in every field automatically. If you've rewritten that message with individual field tags instead, add tags for the SourceTag fields too, the same way Contact Form 7 needs its Mail tab updated.

Elementor > Submissions stores entries inside WordPress if that option is turned on for the form, and shows the hidden field values alongside the visible ones.

Test it with a UTM link

Load the page with the form using a tagged URL, then inspect the form in dev tools before you submit.

The hidden inputs should already carry values: st_fc_channel reads Paid Search, st_fc_detail_1 reads google, st_fc_detail_2 reads the campaign name from the URL. Submit, then check Elementor > Submissions or the notification email.

Empty fields show (not set) rather than being left blank, which is how you tell a genuine Direct visit apart from a field that was never filled.

https://yoursite.com/contact?utm_source=google&utm_medium=cpc
  &utm_campaign=elementor-promo&utm_term=free+quote

Multi-step forms and popups

Elementor Forms multi-step uses one <form> element with steps controlled by JavaScript. Every field belongs to that same form no matter which step it sits on, so hidden fields work wherever you put them.

Elementor Popups is one of the popup builders SourceTag detects automatically. When a popup form is injected into the page, SourceTag notices the new elements and fills any matching hidden fields the moment they appear, whether the popup opens on a timer, on exit intent or on a click.

Where it usually goes wrong

Setting the field's Label instead of its ID. Elementor uses the ID to identify a field internally, and that's what SourceTag matches against. Labels are for display only, and hidden fields have no visible label anyway.

Building the form in free Elementor and expecting a form widget to be there. It only exists in Elementor Pro.

A caching or optimisation plugin deferring st.js. Exclude cdn.sourcetag.io/scripts/ from the plugin's JavaScript settings and clear the cache. See caching issues.

A rewritten Email message that dropped the [all-fields] tag without adding individual tags for the SourceTag fields in its place. The data was captured and then never included in the message.

Where your data ends up

Elementor Forms sends form data to your CRM, email tool, or wherever you've connected it. The attribution data rides along in the hidden fields.

Frequently asked questions

Related integrations

Start with one form.

The trial is 14 days and doesn't need a card.