This plugin provides integration between
Contact Form 7 and
Google Sheets.
It adds new processor to Contact Form 7 that enables sending of submitted forms to Google Sheets.
Connecting the Plugin to Google Sheets
After installing the plugin you must go to it's
Settings screen and create application credentials needed to establish connection with Google Sheets. All instructions are provided in the
Settings screen.
After successfully creating application credentials and uploading them (i.e. completing steps 1 and 2), you will see
Client ID and
Client Email that represent your instance of "Google Sheets for Contact Form 7" plugin. You will need to share your sheets with
Client Email (as
Editor role) to grant "Google Sheets for Contact Form 7" plugin permissions to edit them.
Using the Plugin
After successfully connecting the plugin to Google Sheets, do the following to configure your Contact Form 7 to send data to Google Sheets on form submission.
In Google Sheets
For example, for URL
https://docs.google.com/spreadsheets/d/142XLjqRCpr7iWldfARhSS_GiFoy4l5RqZfSD6RHXM64/edit#gid=0 Sheet ID is "142XLjqRCpr7iWldfARhSS_GiFoy4l5RqZfSD6RHXM64" and
Tab ID is "0"
* Enter "datetime" in the the first column if you want to capture time and date of submission
* There is no need to enter names for other columns - they will be automatically added upon form submission
* Share the sheet with
Client Email that represents your instance of "Google Sheets for Contact Form 7" plugin - as
Editor role
In Contact Form 7
- Open your contact form
- Switch to Google Sheets tab
- Configure Sheet ID and Tab ID and click Save
- Submit a test form and verify that the data shows up in your Google Sheet
Automatic Header Generation
The plugin verifies spreadsheet header on each new form submission and adds new fields to it if needed. Note that it never deletes fields from the header - as this would also delete some submission data - though you can do it manually. You may also manually reorder columns as you wish.
Capturing Submission Metadata
In addition to the
datetime and regular form fields, you may also capture Contact Form 7 [special mail-tags][
https://contactform7.com/special-mail-tags]. In order to do so, add
manually corresponding headers to your spreadsheet. Remove square brackets and first underscore from the tag name, and replace remaining underscores with dashes. For example, add
remote-ip header to capture
[_remote_ip] mail-tag.
Integration with "Contact Form 7 Database Addon - CFDB7"
If you use
Contact Form 7 Database Addon - CFDB7 to save your submissions, you will also be able to resend already submitted forms to Google Sheets. This may be useful if something went wrong during initial form submission and/or someone deleted data in Google Sheets by mistake. In order to do so, in CFDB7 plugin, choose your form, open specific submission and click
Send to Google Sheets button.
Acknowledgements
Initial version of this plugin was inspired by
CF7 Google Sheets Connector plugin.
However it's implementation is quite different:
- it uses service principle for authentication with Google Sheets
- it has completely different and much more reliable sheets update logic
- it implements automatic header generation, to ensure that no submission data is lost
- it supports capturing submission meta-data
- it provides integration with CFDB7 plugin for forms re-submission