How to pre-populate Google Forms using UTM parameters
A while ago, I had the problem where we would send surveys to site visitors at Lyft.
The process would be
- Visitor checks in to site with their phone number
- We text a survey to their phone number
- To identify them, we ask them for their phone number in the survey
I hate being asked for the same information twice. The fact that we were doing this drove me crazy.
At the time we were using Google Forms. (We later moved to Typeform, then to SurveyMonkey. After the Typeform data breach in mid 2018, I no longer recommend them).
Google Forms is a pretty basic data entry mechanism.
Say you want to send the above form. How can you pre-fill phone number? (You can't pre-fill email.)
Step 1: Get a pre-filled link
Go to the right hand side menu button and click on 'Get a Pre-filled link'. This opens up a new tab with a URL ending in /prefill (like https://docs.google.com/forms/d/fakeformURL/prefill)
An instruction at the bottom reads "Pre-fill responses, then click 'Get link'".
You then get a button at the bottom asking you "Share this link to include pre-filled responses". What link? Nothing in the browser changed!
Click on 'Copy link' and you get it.
Here's the link I got:
Let's break it down
- https://docs.google.com/forms/d/e/1FAIpQLSfWRgnQu9QOx2iSqglqDK6zPc-SiHtMLImUfB5rciQpmxCRUQ/viewform - this is part one of the link. It's going to remain the same for every link you send out.
- ?usp=pp_url - this is the first UTM parameter. I believe this is for pre-filled responses. Whatever. It's not important. Just include it.
- &entry.1335037241=555-fake-1234 - this is the critical second UTM parameter. It contains a code for the entry in that form, plus the data.
Every time you build a custom pre-populated form URL, you have to change the data for that UTM code.
Important: If you change the field by removing it and adding a new one, you have to change the code for that entry. Also, if you modify the text, the code remains the same.