Someone submits a contact form, request-a-quote form or demo form on your website. You have their name, email and message — but one important piece of information is missing: where did this lead originally come from?
To track form submissions properly, you need to capture marketing information when the visitor arrives, preserve it while they browse your website, and attach that information to the eventual form submission. UTM parameters, referrers, landing pages and advertising click IDs can all help, but they describe different parts of the journey.
This is different from normal traffic analytics. Google Analytics or another analytics platform can tell you which channels and campaigns generated visits or conversions in aggregate. Form attribution connects available marketing context directly to an individual lead, so when someone submits a form you can see not only the enquiry itself, but also how that person reached your website.
Why form submissions lose their traffic source
The problem is easiest to understand by looking at a normal customer journey. Imagine that someone clicks a Google Ads campaign and lands on your website:
Google Ads → pricing page → services page → contact page → form submission
The first page may have a URL such as example.com/pricing/?utm_source=google&utm_medium=cpc&utm_campaign=summer_campaign. It may also contain a Google advertising click identifier such as a GCLID.
But when the visitor clicks through to the services page and then the contact page, those parameters usually disappear from the URL. By the time the visitor submits the form, the browser may simply be on example.com/contact/.
If the form looks only at the current URL at submission time, it cannot reconstruct the original visit. It knows that the form was submitted on the contact page, but it no longer knows that the journey started with a particular Google Ads campaign.
What information can identify where a lead came from?
There is no single field that always tells you the complete source of a lead. Good form attribution combines several signals when they are available.
| Signal | What it tells you | Example |
|---|---|---|
| UTM parameters | The campaign information intentionally added to a link | utm_source=linkedin, utm_medium=paid_social |
| Referrer | The previous website or page reported by the browser | google.com, linkedin.com, partner-site.com |
| Landing page | The first page visited on your website | /pricing/ |
| Advertising click ID | A platform-specific identifier associated with an ad click | GCLID, GBRAID, WBRAID, FBCLID, MSCLKID |
| Submission page | Where the eventual form conversion happened | /contact/ |
UTMs are especially useful because you control them. A newsletter link might contain utm_source=newsletter, while a paid Facebook campaign could use utm_source=facebook and utm_medium=paid_social.
A referrer is different. It is browser-provided information about where the visitor came from and may be missing or incomplete. The landing page tells you where the journey started on your site, while click IDs can help advertising platforms associate a visit with a particular ad interaction.
You may also see traffic classified as direct when there is no identifiable campaign or referring source. That does not necessarily mean the person manually typed your domain into the browser. It can also mean that the original source information is unavailable.
Why hidden fields alone are not enough
A common way to implement UTM form tracking is to create hidden form fields and populate them from the current URL. This can work perfectly well when the visitor submits a form on the same page where the campaign parameters are present.
For example, someone opens:
/contact/?utm_source=linkedin&utm_medium=paid_socialThey submit the form immediately. The form copies those values into hidden fields, and the resulting lead contains the campaign information.
Now consider a slightly more realistic journey. The visitor lands on that URL, reads the page, visits your pricing page, then opens the contact page and submits the form. The contact-page URL no longer contains the original UTMs, so hidden fields populated only from the current URL have nothing useful to copy.
Hidden fields are therefore not the problem. They can be a useful way to transport attribution information with a submission. The important part is that the source data may need to be captured before the visitor reaches the form and preserved until the eventual conversion.
Capture attribution when the visitor arrives
A more reliable approach is to treat attribution as part of the visitor journey rather than something that happens only when the submit button is pressed.
Traffic source → capture attribution → preserve context → form submission → lead record
When a visitor first arrives, the tracking system can inspect available information such as UTM parameters, the referring website, landing page and relevant advertising identifiers. It can then preserve that context while the visitor moves between pages.
Depending on the implementation, this information might be stored in a first-party cookie, browser storage, a server-side session or another first-party mechanism. The exact technology matters less from a marketing perspective than the principle: attribution needs to survive longer than the original campaign URL.
When the visitor eventually submits a form, the preserved attribution context can be attached to the submission. Instead of receiving only “John submitted the contact form”, the business may also see that John’s first identifiable visit came from a particular campaign and landing page.
First-touch vs last-touch attribution
A visitor may reach your website several times before becoming a lead. That makes it useful to distinguish between the source that originally introduced the visitor and the source associated with a later return.
First-touch attribution answers: “How did this visitor originally discover us?” Last-touch attribution describes the most recent identifiable marketing source before the conversion.
For example, someone might first arrive from a Facebook campaign, leave without contacting you, return three days later from a Google search and then submit a quote request. The first touch could remain Facebook, while the later or last identifiable touch could be Google organic search.
Neither view is automatically more correct. They answer different questions. If you want a deeper explanation of how these models differ, see First-touch vs last-touch attribution: what’s the difference?
How UTM parameters fit into form tracking
UTM parameters provide campaign labels that travel in the URL. They are particularly useful for email campaigns, paid social, partner links, banners and other channels where you want to control how traffic is identified.
For example, a campaign URL might include utm_source=linkedin, utm_medium=paid_social and utm_campaign=autumn_demo. If those values are captured when the visitor arrives, they can still be associated with a form submission even after the visitor moves to another page where the UTMs are no longer visible.
UTMs do not replace referrer information, click IDs or landing-page data. They are one useful part of the attribution picture. For a detailed explanation of how they work and how to name them consistently, read UTM parameters explained: how to track where your leads come from.
What should be stored with a form submission?
The useful fields depend on your marketing setup. A small business running only Google Ads and organic search probably needs less attribution data than an agency managing campaigns across multiple advertising platforms.
- first source, medium and campaign;
- first landing page;
- last or recent source, medium and campaign;
- referrer where available;
- relevant advertising click IDs;
- page where the form was submitted;
- the form that generated the lead;
- timestamps for important attribution events where useful.
The important distinction is that these fields belong to the lead context, not just to an analytics dashboard. When somebody follows up with the lead in a CRM, email inbox or lead-management system, the attribution data should ideally remain connected to that specific submission.
You also do not need to expose every technical value to every user. A marketer might care about campaign and source, while a sales person may only need a readable summary such as “First touch: Google Ads / Summer campaign”. The underlying data can still be available when deeper analysis is needed.
Example: tracking a lead from Google Ads to a contact form
Consider a visitor who clicks a Google Ads campaign on Monday and lands on your pricing page. The initial visit contains campaign information and a Google Ads click identifier, but the visitor leaves without submitting anything.
Two days later, the same visitor returns directly to the website, opens the contact page and submits a form. There are no UTM parameters in the current URL and no useful external referrer on this second visit.
Monday: Google Ads → pricing page → leaves
Wednesday: direct return → contact page → form submission
If attribution was captured only when the form was submitted, this lead may appear to be direct traffic. The original Google Ads context has already disappeared from the URL.
If the earlier attribution was preserved, however, the form submission can still show Google Ads as the first touch. The recent visit might be recorded separately as a direct return or as having no new identifiable campaign source, depending on the attribution rules used by the system.
This is one reason form attribution is different from simply checking the form page URL. The marketing journey and the conversion often happen at different times.
Traffic analytics and form attribution answer different questions
It is useful to keep analytics, attribution and the form submission itself separate conceptually.
| Layer | Main question |
|---|---|
| Traffic analytics | Which channels, campaigns and pages generate visits and conversions overall? |
| Lead attribution | What marketing context can be associated with this particular lead? |
| Form submission | What information did this person actually submit? |
Google Analytics and similar tools can be very useful for measuring overall marketing performance. But an analytics report and an individual lead record serve different purposes. A conversion shown in an analytics platform does not automatically mean that your sales team can open a particular form submission and see its complete acquisition history.
Connecting attribution directly to the lead makes that marketing context available where the lead is actually handled.
How to test form attribution
Attribution should be tested as a visitor journey, not only by opening a form page and submitting it. A simple manual test can reveal many common problems.
- Open a tagged URL such as
?utm_source=test&utm_medium=email&utm_campaign=attribution_test. - Browse to one or two other pages so the UTM parameters disappear from the address bar.
- Submit the form from a different page.
- Check the resulting submission or lead record and confirm that the original attribution is still present.
- Repeat the test with a different campaign and confirm how your system handles first-touch and later-touch information.
- Return without campaign parameters and verify that a direct visit does not unexpectedly overwrite attribution you intended to preserve.
- Test the same process in a fresh browser session to understand what a genuinely new visitor sees.
If you use advertising click IDs, test those separately where practical. You should also test different forms and landing pages rather than assuming that attribution behaves identically everywhere on the site.
Attribution has limitations
Form attribution can provide useful marketing context, but it should not be treated as a perfect record of everything a person did before contacting you.
A visitor may clear cookies or browser storage. Consent choices may limit which tracking mechanisms can be used. Referrer information may be unavailable, and privacy features can reduce the amount of information passed between websites or advertising platforms.
People also move between devices. Someone may discover your company on a phone and later submit a form from a work laptop, making it difficult to connect both visits without some other reliable identifier. Offline sources are even harder: a recommendation from a friend may eventually look like a direct visit unless you explicitly ask the lead how they heard about you.
That is why attribution is better understood as a model built from the signals available to you, not as absolute truth. Good tracking preserves useful evidence without pretending that every customer journey can be reconstructed perfectly.
How Entrarium handles form attribution
Entrarium is designed around the idea that attribution belongs with the form submission rather than existing only in a separate analytics report. When useful attribution information is available during a visitor’s journey, it can remain connected to the resulting lead.
This makes it possible to preserve first-touch context as well as more recent marketing context without relying only on the URL that happens to be open when the form is submitted. The aim is to let businesses see the enquiry and its available acquisition context together.
You can read more about how this is approached on the Entrarium form attribution page.
Final takeaway
Knowing where a form submission came from usually requires more than inspecting the URL when somebody presses Submit. The important marketing information may have appeared several pages — or several days — earlier.
A useful form attribution setup captures source information when it becomes available, preserves it during the visitor journey and attaches the relevant context to the eventual lead. UTM parameters, referrers, landing pages and advertising click IDs are signals that help describe that journey, while first-touch and last-touch attribution provide different ways to interpret it.
The goal is not to create a perfect surveillance record. It is to preserve enough reliable context to answer a practical business question when a new enquiry arrives: how did this person find us?