All Collections
Flexible Forms via Google Sheets
Create Dynamic Donation and Registration Levels with Google Sheets
Create Dynamic Donation and Registration Levels with Google Sheets
Ashleigh Alldredge avatar
Written by Ashleigh Alldredge
Updated over a week ago

Is your team interested in creating more dynamic forms that can have different or unique donation/registration levels without creating separate forms for each target group?

  • Ex: You have a donor-base that you segment into low, high, and premium donors. You would like to send out an email campaign to each group that provides a link to a donation form with their specific level grouping, but want to use one form.

You can now do that through our Google Sheets integration!

Google Sheets Template:

We created an easy to use template that can be accessed here. There is some test data within the sheet, so you can see examples of the data that belongs in each column but for an in-depth review of the columns please read this article.

Implementing Google Sheets on Forms

Form Default Levels

With your forms, we strongly recommend that you set default levels within the form configuration directly. These levels could be the exact same levels initially configured during form creation, but this will be useful in cases when the data from Google cannot be fetched.

Example of default values configured on the form (typical donation form):

Additionally, you can set default levels within your Google Sheet. Any rows without a code provided will automatically be set as the defaults when the form renders, but we still recommend setting the defaults directly within the form configuration.

Enabling Google Sheets for Remotely Defined Levels

To enable google sheets on your form to produce remotely defined levels, you'll need to follow the below steps:

  1. Go to the Donation Levels or Registration Types tab for the form

  2. Edit the first section (Donation Question or Registration Type Question)

  3. On Donation Forms, for Remote Enabled you will select "Yes"

    1. Then select "Yes" for Use Google Sheet

  4. On Registration Forms, for Override Registration Types you will select "Yes"

    1. Then select "Yes" for Use Google Sheet

  5. The Remote URL for both cases will need to be generated via the Google Sheet.

  6. Within the Google Sheet you've created for your remotely defined levels, click the "File" button

  7. Click the "Share" option

  8. Then click the "Publish to web" option

  9. Select the first dropdown, which defaults to the Entire Document

  10. Then select the name of the tab that contains the levels you want to use for your form

  11. Then click on the second dropdown defaulted to Web page

  12. Select the Comma-separated valued (.csv) format

  13. Finally, to generate the necessary link click the green Publish button and click "OK" for the Google Drive window that pops up asking if you want to publish that section of the document

  14. That should generate the Remotely Defined URL for your form, but also make sure that under "Publishing content & settings" you are not restricting access to the document

  15. Back in the platform with Remotely Enabled and Use Google Sheet set to "Yes," paste the link provided via the Google Sheet into the Remote URL box and click "save"

  16. You should see the URL listed within the Donation Question or Registration Type Question section, and take note that the previous Donation Level configurations are no longer present

*Even though the previously set Donation Levels aren't populating within the form configuration after saving the remote URL, does not mean they have disappeared. They will still be used as defaults when a code isn't being passed into the form.

Using Your Remotely Defined Levels

Now that the set up for your remotely defined levels is complete, you can now use your levels from your Google Sheet.

To use the Google Sheet levels, you will need to use the URL parameter of urlData=code. The code here is the code defined in your Google Sheet (column B). You can target multiple levels or code groups by adding each code to the parameter separated by a comma: urlData=code1,code2.

By default, when you access the form without urlData= or the code defined, the levels that were configured prior to adding the Remote URL to the form should populate:

Now for the example above, I want to target the specific "sdl" code group from my example Google Sheet. I will append the URL of where my form is embedded with urlData=sdl. So the full URL for this example would be:

With the URL parameter present with the code defined, we can see the donation levels update on the form:

That is how you enable and use Google Sheets for remotely defined donation and registration levels.

If you have any questions about this integration, please reach out to our team via the blue chat bubble or email us at

Did this answer your question?