Connect WordPress Forms to Google Sheets - Ninja Forms
Get access to free tutorials, exclusive content and more.

Connect WordPress Forms to Google Sheets

If you live in spreadsheets (or your clients do), pushing form submissions straight into Google Sheets keeps everything in one place: leads, inquiries, registrations, internal requests, and more. No manual copy‑paste. No CSV exports. Just clean rows you can sort, filter, share, and report on. Connecting WordPress forms to Google Sheets doesn’t require any code or even much of your time. Better yet, once you’ve set it up, it just works. No babysitting connections! Here’s how to get it done in 5 easy steps!

Set it up: WordPress forms to Google Sheets in 5 easy steps

What you’ll need

1) Open (or create) your form in Ninja Forms

Pop open the form that you want submissions to go to Google Sheets for.

With the Ninja Forms Zapier add-on installed and activated, you’ll have a Zapier action available to add to your form under the Emails & Actions tab of the form builder. Add that now and leave your form open in its own tab when you move on to Step 2.

image of the ninja forms builder open to the email and actions tab with the available zapier action highlighted

2) Create your Zap

Thanks to Zapier’s new AI Zap builder, this is an absolute breeze. Just tell Zapier what you want to do. I told it:

send form responses from Ninja Forms to Google Sheets

And just like that, I have my Zap.

image of zapier's zap creation ui with ninja forms connecting to google sheets

3) Copy & paste Zapier’s webhook into your form

This is how your form and Zapier know how to talk to each other.

In your Zap, click Ninja Forms – 1. New Form Submission and copy the webhook from there:

image of the zapier app with ninja forms submission added as the trigger. The trigger setting window is open with the webhook url highlighted.

Now back over to the tab you left open with your form and the Zapier action you just added.

  1. Paste the Webhook into the Zapier Web Hook field of the action.
  2. Save (Publish) the form
  3. Preview the form
  4. Submit the form

This established the connection between form and Zap. Head back over to your Zap now, same spot you copied the webhook from. Click Test Trigger. You should receive confirmation of the connection. If not, you skipped a step above. Just walk back through it, no worries.

4) Configure your Zap

First, create or locate your spreadsheet. Make sure it has headers; once this is set up, each submission of the form will create a new row and each column will correspond to a field or information about the submission, like Date or ID. Here’s mine so far:

image of a google sheet with only row 1 populated as the header row: Date, Name, Favorite Bean, and Notes

Now back to your Zap. Click on Google Sheets and See the Action Event setting.

Create Spreadsheet Row is the option you want for sending each new form submission over as a new row in your spreadsheet. Other Action Events exist and may come in handy for spreadsheet power users. We won’t touch on each here, but peruse in Zapier if you’re interested!

Image

Now click continue. You’ll be prompted for the location of the sheet (My Google Drive is the “standard” option), the name of the spreadsheet, and the specific worksheet within the spreadsheet you want submissions routed to.

Once that’s done, you will see each column of your sheet by its header label:

image of zapier ui with the sheet selected and column headers available for field mapping

Each column of the sheet needs to be mapped to your form now. Click the + sign of the column header. Here you’ll see each form field and bit of metadata about the form submission (like submission ID, submission date, etc) that can be mapped to a column.

For my Date column, I’m capturing the date submission metadata (I don’t have a date field on the form).

For the others, I’m selecting the corresponding form field. Back in Step 3 you connected the form and zap via webhook by previewing the form and making a test submission.You’ll see that test submission’s data next to each field that can be mapped.

Note that for my radio field, I can see the test submission for the field + each individual list option. I want to select the test submission for the field here so that the sheet will know to grab the user’s selection in the field to pass to the sheet. If you choose an individual list option instead, that option will be what always appears in the sheet for the submission. Useful for edge cases, not useful for our purposes here.

image of the zapier ui column to field mapping

5) Test and publish your Zap

Now continue and test. You should see your test data in the sheet now! Publish your zap and you’re good to go.

image of google sheet demonstrated previously, but this time with row 2 populated with the test submission data

Bonus tips

  • One worksheet per form keeps columns consistent and avoids accidental overwrites.
  • Lock the header row and avoid renaming or reordering columns after go‑live. If you must change the sheet later, hop back into Zapier and re‑map the fields.
  • If your form collects file uploads, the Zap will pass file URLs. You’ll be able to click right through to the file. Especially convenient if you have File Uploads configured to send uploaded files to Google Drive.

You’re done! Your WordPress form now logs to Google Sheets

By following the steps above, you’ve eliminated copy‑paste and CSV exports. Every new submission becomes a clean row in Google Sheets that you can filter, chart, and share.