All posts
Guides··7 min read

Can Google Forms take payments? Why there's no payment question, and what to do instead

You open the question type menu in Google Forms to add the payment step, and there isn't one. Here is why, and how to run a paid class or event registration with a Google Form anyway: the payment link, the payment reference and the linked Sheet, plus the real limits of each.

OneSol Team

A laptop shows Google Forms’ missing payment option beside a terracotta card reader, card, receipt, QR code, and registration materials on a city bench.

You're building a registration form for a class, a workshop, a holiday camp or a one-off event. Name, email, emergency contact, maybe a T-shirt size. Then you go to add the part where they pay, open the question type menu, and there's nothing there.

The short answer: Google Forms can't take a payment. Its questions collect answers, and none of them collects money. Every Google-only approach works the same way. The form takes the registration, the money is paid somewhere else, and you match the two up yourself. That is workable for a small class, as long as people know what to pay, by when, and how to tell you they've done it.

A OneSol form can ask your questions and take the payment in the same step, into your own Stripe or PayPal account. People don't need to sign in, and it's free to start.Make a paid form →

No payment question: what Google Forms gives you instead

Google's help page on question types lists 'Short answer', 'Paragraph', 'Multiple choice', 'Checkboxes', 'Dropdown', 'File upload', 'Linear scale', 'Rating', 'Multiple choice grid', 'Checkbox grid', 'Date' and 'Time'. None of them takes a card or connects to a payment account, so it isn't that you've overlooked one.

What Forms does support is add-ons. In the form editor, click 'More' at the top right and then 'Add-ons' to browse the Google Workspace Marketplace, which has add-ons that bolt payments onto a form. Read each listing for who makes it, what it costs and where the money goes before you install one. Google's help notes that most add-ons ask for access to the data they need to work.

Without an add-on you have four workarounds, and most organisers end up using a mix of them.

Workaround 1: the price and payment link in the description

The description under the form title is the first thing people read, and it is one of the places you can add a link. Google's formatting help says you can format text in titles, questions and descriptions, though not in answer options.

The weakness is that it relies on people reading before they type. Plenty will fill in the questions, press 'Submit' and leave the payment for later. To add the link:

  • Open the form and click the description under the title.
  • Write the price, what it covers and the date payment is due, in the first two lines rather than at the bottom.
  • Highlight the words you want to link, such as 'Pay for your place here', and click the 'Insert link' button.
  • Under 'Link to', paste the address of your payment page and click 'OK'.
  • Before you share the form, open it as a responder would and click the link yourself to check it goes to the right page.

Workaround 2: the payment link in the confirmation message

The confirmation message is what people see the moment they press 'Submit', which makes it the best spot for a 'now pay here' instruction. To set it, open the form, click 'Settings' at the top, click the down arrow next to 'Presentation', click 'Edit' next to 'Confirmation message', type your message and click 'Save'.

Two things to know. Google's help page for this setting says nothing about formatting or links in the message, so paste the full web address of your payment page and send a test response to see how it shows up. And the message appears once. If someone closes the tab, it's gone.

To give people something to come back to, turn on response receipts. In 'Settings', under 'Responses', set 'Collect email addresses' to 'Verified' or 'Responder input', then next to 'Send responders a copy of their response' choose 'When requested' or 'Always'. 'Verified' records the email of the Google Account they're signed in with, while 'Responder input' lets them type any address, typos included. Google describes the receipt as a copy of their answers, so don't count on it carrying your payment link, and its help warns that spam filters can stop receipts arriving.

Workaround 3: ask for a payment reference

A payment link tells people where to pay. A reference tells you who paid. Choose one format that people type into the note on their payment, such as their surname and the class date, and ask for the same thing in the form. Because the reference is something they make up rather than something the payment system hands them, they can fill it in before they've paid.

Add a 'Short answer' question such as 'Payment reference (the note you will add to your payment)' and turn 'Required' on. Then use response validation to stop answers that don't fit the format:

  • With the question selected, click 'More' and choose 'Response validation'.
  • Pick a rule type. 'Length' sets a minimum or maximum character count. 'Regular expression' with 'Matches' checks the answer against a pattern you write.
  • In the 'Custom error text' field, give an example, such as 'Use your surname and the class date, like SMITH-14MAR'.
  • Show the same example in the form description and next to your payment link, so the note on the payment and the answer in the form match.

Workaround 4: a File upload question for the receipt

Asking people to upload a screenshot of their payment sounds tidy. Google's own rules for the 'File upload' question make it less so:

  • To answer a 'File upload' question, responders need to sign in to a Google Account. Anyone without one, or who doesn't want to sign in, is stuck at that question, and if it's required, at the whole form.
  • You can't use this question type at all if the form is stored in a shared drive, or if your administrator has turned on Data Loss Prevention.
  • You choose which file types are allowed, the maximum number of files and the maximum file size.
  • Uploaded files go into a new folder in your Google Drive. Google notes that deleting responses from Forms does not delete attached files, so clear that folder out yourself after the class.
  • A screenshot only shows that someone says they paid. You still have to check the money actually arrived, so for most classes the reference question does the same job without the sign-in.

Matching payments to registrations in the linked Sheet

Whichever workarounds you use, the checking happens in a spreadsheet. If a co-organiser helps run the form, Google notes that people you share the form with may also have access to its linked spreadsheet, so keep that in mind if you collect health or contact details.

  • In the form, open the 'Responses' tab and click 'Link to Sheets'. Choose 'Create a new spreadsheet', or 'Select existing spreadsheet' to add to one you already use.
  • Add a 'Paid' column at the end and fill it in as payments arrive, matching each payment's note to the reference in the sheet.
  • Get told about new sign-ups: in 'Responses', click 'More' and choose 'Get email notifications for new responses'.
  • Keep a count of paid rows. Nothing in these steps counts places for you, so when the paid count reaches your limit, click 'Published' at the top right of the form, turn off 'Accepting responses' and click 'Save'. You can edit the message people see when the form is closed, for example 'This class is full. Thanks!'.

The catch with 'register now, pay later', and a checklist for your next class

Every workaround above runs in the same order: register first, pay second. That is where it leaks. Some people submit the form meaning to pay later and forget. Some change their minds and don't tell you. Until you notice, they're on your list holding a place someone else might have paid for, and you find out who didn't pay while taking the register, or afterwards, chasing small amounts from people you have already taught.

You can't close that gap completely inside Google Forms, but you can make it a lot smaller:

  • Put the price, what it includes and the payment link at the top of the description.
  • Set a payment deadline with a real date and say what happens after it, for example 'Your place is confirmed when payment arrives. Unpaid registrations are released on 10 March.'
  • Fix one reference format and show the same example in the description, the question and next to the payment link.
  • Repeat the payment link in the confirmation message, so it's on screen at the moment they submit.
  • Treat only rows marked in your 'Paid' column as confirmed places.
  • Before the deadline, send one reminder to anyone not yet marked paid, then release their places when it passes.
  • Tell people when they're confirmed. A short email once you've marked them paid saves a lot of 'did you get my payment?' messages.
  • Turn off 'Accepting responses' as soon as paid places reach your limit.

If you want the form and the payment in one step

A OneSol form can ask the same questions, take file uploads and take the payment as people submit, into your own Stripe or PayPal account, without anyone signing in to anything, and every response lands in your dashboard and inbox and downloads as a CSV, free plan included. A form has no seat limit, so for a class with a fixed number of places a OneSol event page fits better: each ticket has its own price and seat limit, booking closes when it's full and people pay when they book, though it only asks for name, email and number of guests. Neither one sells class packs or sends an automatic reminder before class.

Want the form and the payment in one step?A OneSol form can ask your questions and take the payment in the same step, into your own Stripe or PayPal account. People don't need to sign in, and it's free to start.Make a paid form →

Still stuck? More fixes

Frequently asked questions

Can Google Forms take payments?

No. Google's list of question types is 'Short answer', 'Paragraph', 'Multiple choice', 'Checkboxes', 'Dropdown', 'File upload', 'Linear scale', 'Rating', 'Multiple choice grid', 'Checkbox grid', 'Date' and 'Time', and none of them takes a payment. The Google-only way is to link out to a payment page from the form description or the confirmation message, ask for a payment reference, and match payments to responses in the linked Google Sheet. Add-ons from the Google Workspace Marketplace can add payments; you install them from 'More', then 'Add-ons' in the form editor.

How do I add a payment link to a Google Form?

Put it in the description first: click the description under the form title, highlight the words you want to link, click 'Insert link', paste your payment page's address under 'Link to' and click 'OK'. Then repeat it in the confirmation message: click 'Settings', click the down arrow next to 'Presentation', click 'Edit' next to 'Confirmation message', paste the full address and click 'Save'. Google's help doesn't say how links display in the confirmation message, so submit a test response and check it yourself.

Why does my Google Form make people sign in?

Usually because of one setting. A 'File upload' question needs responders to sign in to a Google Account, so a receipt upload question brings the sign-in with it. 'Limit to 1 response' does the same: Google's help for that setting notes that users must sign in to their Google Account to access and fill out the form. Collecting email addresses as 'Verified' records the email of the Google Account they are signed in with. To let people register without signing in, ask for a typed payment reference instead of an uploaded receipt, and choose 'Responder input' for email.

How do I know who has paid through a Google Form?

Google Forms on its own can't tell you, because the payment happens outside the form. Ask for a payment reference in a required 'Short answer' question, in a fixed format that people also type into their payment note. Link the form to a spreadsheet from the 'Responses' tab with 'Link to Sheets', add a 'Paid' column, and tick each row once you see the matching payment in your payment account. Count only ticked rows as confirmed places.

How do I close a Google Form when my class is full?

Click 'Published' at the top right of the form, turn off 'Accepting responses' and click 'Save'. Anyone who opens the link then sees a message that the form is no longer accepting responses, and you can edit that message to something like 'This class is full. Thanks!'. Decide you're full by counting paid places, not submissions, because some registrations never turn into payments.

Written by

OneSol Team

Michael Carter writes the OneSol blog, which covers the problems small businesses and creators run into when they sell online: a link that has to hold everything, a checkout that pays the seller directly, a form that people actually finish.

Run all of this from one link.

Free to start — no card required.