QR code for Google Forms and surveys: set it up so people actually respond

To make a QR code for a Google Form, open the form, click Send, choose the link tab, tick "Shorten URL", copy the link, paste it into a QR code generator and download the image. Before printing, open the link on a phone in a private browser window to confirm it opens the form for everyone, not just for you. That takes about five minutes. The rest of this guide is about the settings and design choices that decide whether people fill the form in after scanning.
Step 1: Get the right link
A Google Form has several addresses, and only one belongs in the QR code.
- The editing link, the one in your browser bar while you build the form, ends with /edit. Never use it; responders will be asked to sign in or will see an access request.
- The responder link, from Send and then the link tab, ends with /viewform. This is the right page.
- The shortened responder link, from the same tab with "Shorten URL" ticked, starts with forms.gle. Use this one: the shorter link produces a less dense code that scans more easily when printed small.
Step 2: Check the settings that force a sign-in
Some Google Forms settings require responders to sign in to a Google account. That can be fine for a school or company survey, but on a customer feedback card it will lose many people at the first screen. Check these in the Settings tab:
- Restrict to users in your organisation, on Google Workspace accounts. Turn it off for public forms.
- Limit to 1 response. This requires sign-in. Leave it off unless you really need one answer per person.
- Collect email addresses set to Verified. This also asks people to sign in. "Responder input" lets them type an address instead, if you need one.
- File upload questions. These require sign-in as well.
Then test: open the forms.gle link on a phone in a private or incognito tab. If you see the first question straight away, you are ready.
One more setting worth a glance is the response destination. Linking the form to a spreadsheet from the Responses tab makes it easier to sort and filter answers later, especially when several QR codes feed the same form. It does not change what responders see, so you can set it up at any time.
Step 3: Create the QR code
- Open the QR Code Generator and choose the URL type.
- Paste the forms.gle link.
- Keep the default high error correction if you plan to add a logo; otherwise medium is fine for a short link.
- Choose a dark foreground on a white background, raise the size setting and download the PNG.
- Insert it into your poster, slide or card with the proportions locked.
Step 4: Design the form for phones
Everyone who arrives through a QR code is on a phone, usually standing, often using one hand. A form that feels fine on a laptop can seem endless on a small screen.
- Keep it short. For a feedback card, three to five questions is plenty. Put the most important question first.
- Prefer taps to typing. Multiple choice, linear scales and checkboxes are quick on a phone. Make long text answers optional.
- Use sections in longer surveys so each screen stays short.
- Write a clear description at the top: who is asking, why, and roughly how long it takes.
- Edit the confirmation message to say thank you and, where relevant, what happens next.
Step 5: Tell people what they are scanning
A label next to the code makes a real difference: "Scan to rate your visit, 1 minute", "Class feedback: scan to answer 4 questions", "Scan to sign up for the workshop". If a sign-in is required, say so. Print the short forms.gle address too, for those who prefer to type.
Common uses and where to put the code
| Use | Placement | Tip |
|---|---|---|
| Customer feedback | Receipt, table card, counter | Keep it under five questions |
| Classroom survey or exit ticket | Projected slide, worksheet | Leave the slide up long enough for everyone to scan |
| Workshop or club sign-up | Poster, flyer | Print the deadline beside the code |
| Event feedback | Final slide, exit sign | Ask while people are still in the room |
| Staff or volunteer availability | Notice board in a staff area | Restricting to your organisation is fine here |
For sign-up forms in particular, the event registration QR checklist covers deadlines, check-in desks and what to do when places run out.
Tracking where responses come from
A static QR code does not count scans, but your form can tell you where people came from if you plan ahead. Two simple methods:
- Pre-filled links. Add a question such as "Where did you see this survey?", then use "Get pre-filled link" from the form's menu to create one link per location with that answer already selected. Make a separate QR code from each link. Pre-filled links are long, so these codes will be denser; print them a little larger.
- Separate copies of the form. More work to manage, but it keeps each location's results fully apart.
For the wider trade-offs between trackable and non-trackable codes, see static vs dynamic QR codes for small business.
Before you print: quick checklist
- The link is the forms.gle responder link, not the /edit link.
- It opens without sign-in in a private tab, unless sign-in is intended.
- The form is accepting responses.
- The code is at least 2–3 cm wide on handouts and larger on posters.
- The label says what the form is for and how long it takes.
- A test print has been scanned with two phones, and a test answer submitted and then deleted.
FAQ
Can I edit the Google Form after printing the QR code?
Yes. Questions, wording and settings can change freely and the link stays the same. Only a brand-new form gets a new link, which would need a new code.
What happens if I stop accepting responses?
People who scan see the form's closed message. Edit that message in the Responses tab so it tells them what to do instead.
Why does my form ask people to sign in?
Usually because of "Limit to 1 response", verified email collection, a file upload question or an organisation restriction. Turn those off for public forms.
Does this work for other survey tools?
Yes. The same steps apply to any form builder: copy the public responder link, test it in a private window, and make the code from that link.