Google Forms

How to track the source of your leads in Google Forms.

The hardest common form to attribute. Here are the three ways to do it anyway.

No hidden field type in Google Forms Three routes, with honest limits Keep the form, or replace it
Salesforce
HubSpot
Pipedrive
Gmail
Twilio
Google Ads
Gravity Forms
Jotform
Webflow
Wix
Calendly
Typeform
Start here

Why Google Forms is the hard one

Google Forms is the hardest common form to attribute. Worth knowing why before you lose an afternoon to it.

The constraint

There are no hidden fields

Every field on a Google Form is visible to the person filling it in, and when you embed the form, it loads inside an iframe served from Google’s servers. Your page cannot reach inside it. Google’s page cannot see out.

What that rules out

So the usual trick is off the table

On every other form platform you drop in a hidden field and a script fills it. Not here.

That does not mean you cannot track it. Three routes work. Each one gives up something, so it is worth knowing what before you pick.

Method one

Method one, prefilled links

Google Forms lets you build a link with a field already filled in. The person submits without ever touching it.

This works, and it is genuinely useful if your traffic comes through a handful of channels you control.

The limits are real though. Organic search is gone, because you do not hand out that link, Google does. Campaign-level detail means building a link by hand for every campaign, and the field is visible, so anyone can read it and change it before they submit.

1

Open the pre-filled link tool

In your form, choose Get pre-filled link from the menu.

2

Fill in the field you want pre-populated

A Short answer field called Source works fine.

3

Submit to generate the link

The URL you get back contains an entry. parameter with a long number and your value.

4

Note the numeric entry ID

That number is the field’s address. You will need it.

5

Build your links per channel

One for Google Ads. One for your email footer. One per partner. Same link, different value on the end.

Moving off Google Forms?

Any form with hidden field support tracks the same way, and most have it. Form tracking covers the whole set.

See form tracking →
Method two

Method two, a redirect page

Send traffic to a page on your own site first. That page reads the campaign parameters off the URL, then forwards to the prefilled Google Form with the value attached.

Better than method one, because the value comes from how the visitor actually arrived rather than which link you handed out. Organic search included.

Two costs. It still cannot hold a source across several page views, and there is now a redirect between the ad click and the form, which is one more thing that can go wrong.

Method three

Method three, replace the form

The third route is to stop using the Google Form.

Lead Source can give you a form that is tracked properly from the start. Source, campaign and the full page journey arrive attached to every submission. No links to manage, no redirect, nothing to maintain.

This is the only one of the three that catches organic and direct traffic, because it does not depend on you controlling how the visitor arrived.

If the Google Form has to stay, because a workflow is built on the Sheets output or someone above you said so, method two is your answer. Otherwise this is.

The straight answer

Which one to pick

First choice

Replace the form if you can

Method three is the only one that catches every channel, and there is nothing to maintain afterwards.

If you cannot

Keep the form and use method two

It catches paid and partner traffic accurately. Organic and direct will come through as Unknown. Count them, so you know how big the gap is.

With Lead Source

What Lead Source does here

One thing first, because it is the claim to be suspicious of. Nothing can write into a Google Forms iframe from your page, a browser rule, not a product limitation. Any tool that tells you otherwise is worth a second look.

For method two, it records the source, campaign and full page journey on your own pages. It holds that through the visit, then it hands the redirect a clean category rather than a raw parameter, so your reports say Paid Search instead of three different spellings of Google.

For method three, it replaces the form outright. The submission is captured directly and every channel is covered, organic included.

Either way the same install covers every other form on your site. Same script, same data.

Common questions

Questions, answered.

Can I add a hidden field to Google Forms with a script?

No. Apps Script can act on a response after it arrives, but it cannot add a hidden field and it cannot see your page. By the time it runs, the source is already gone.

Can I use Google Tag Manager to fill the form?

No. GTM runs on your page. The form runs inside Google’s iframe. GTM can fire an event when someone submits, which is useful for conversion tracking, but it cannot put anything into the response.

What about asking the respondent where they heard about us?

Worth doing, and worth treating as separate evidence. People are reliable about referrals and offline sources. They are unreliable about channels. Someone who clicked your ad will tell you they found you on Google.

Which form should I move to?

Any of them with hidden field support, which is nearly all of them. The mechanism is the same everywhere else.

Track your form leads. Free to start.

Capture the source on your own pages, hold it across the session, and keep it whichever form you end up using.

Start free

Free to start · no card