Skip to content
GravityKit
Buy
Sign in
0 items
  • Plugins

    GravityKit All Access

    Our complete Kit of essential tools for extending and enhancing Gravity Forms—everything you need to build powerful web apps and workflows.

    Learn more
    • GravityView

      GravityView

      Bestseller

      Display Gravity Forms entries on the front-end of your site and build powerful web applications.

    • GravityImport

      GravityImport

      Trending

      Import entries from CSV files into Gravity Forms to transfer data, create new forms, or update existing entries.

    • GravityEdit

      GravityEdit

      Quickly edit Gravity Forms entries inline to save time, reduce clicks, and streamline your workflow.

    • GravityCharts

      GravityCharts

      Trending

      Turn Gravity Forms entries into interactive charts and graphs.

    • GravityActions

      GravityActions

      Update multiple Gravity Forms entries at once, send bulk emails, and streamline your workflow.

    • GravityCalendar

      GravityCalendar

      Turn Gravity Forms entries into dynamic calendars to showcase events, schedules, appointments, and more.

    • GravityExport

      GravityExport

      Export Gravity Forms entries to Excel, CSV, or PDF and share them instantly with secure download links.

    • GravityMath

      GravityMath

      Perform advanced calculations on Gravity Forms entries to display totals, averages, or build custom calculators.

    • GravityRevisions

      GravityRevisions

      Track, compare, and restore changes made to Gravity Forms forms and entries with a full version history.

    • GravityMigrate

      GravityMigrate

      Migrate all Gravity Forms data, including forms, entries, Views, feeds, uploads, and more.

    • GravityBoard

      GravityBoard

      Manage projects with collaborative project management. Coordinate with your team and streamline your workflows.

    • GravitySearch

      GravitySearch

      Search Gravity Forms entries across every form from one screen.

  • Ideal For

    • Nonprofits
    • Web Agencies
    • Education
    • Developers
    • Small Businesses
    • Startups
    Explore All Use Cases

    Case studies

    • West Fork Schools
    • Princeton University
    • BrightLeaf Giving
    • Jacksonville Port Authority
    • National Severe Storms Lab
    • Leadpal
    • Mediebruket
    • Dragonfly
    View All Case Studies
  • Resources

    • Blog
    • Case studies
    • GravityKit vs competitors
    • Live Demos
    • Documentation
    • Developer docs
    • GravityKit Academy
    • GravityKit Live!

    Ultimate guides

    • How to use Gravity Forms
    • Editing Gravity Forms entries
    • Importing Gravity Forms entries
    • Exporting Gravity Forms entries
    • Displaying Gravity Forms entries
    • Gravity Forms conditional logic
    • Gravity Forms calculations
    View More Articles
  • Plugins

    • GravityView

      GravityView

      Bestseller

      Display Gravity Forms entries on the front-end of your site and build powerful web applications.

    • GravityImport

      GravityImport

      Trending

      Import entries from CSV files into Gravity Forms to transfer data, create new forms, or update existing entries.

    • GravityEdit

      GravityEdit

      Quickly edit Gravity Forms entries inline to save time, reduce clicks, and streamline your workflow.

    • GravityCharts

      GravityCharts

      Trending

      Turn Gravity Forms entries into interactive charts and graphs.

    • GravityActions

      GravityActions

      Update multiple Gravity Forms entries at once, send bulk emails, and streamline your workflow.

    • GravityCalendar

      GravityCalendar

      Turn Gravity Forms entries into dynamic calendars to showcase events, schedules, appointments, and more.

    • GravityExport

      GravityExport

      Export Gravity Forms entries to Excel, CSV, or PDF and share them instantly with secure download links.

    • GravityMath

      GravityMath

      Perform advanced calculations on Gravity Forms entries to display totals, averages, or build custom calculators.

    • GravityRevisions

      GravityRevisions

      Track, compare, and restore changes made to Gravity Forms forms and entries with a full version history.

    • GravityMigrate

      GravityMigrate

      Migrate all Gravity Forms data, including forms, entries, Views, feeds, uploads, and more.

    • GravityBoard

      GravityBoard

      Manage projects with collaborative project management. Coordinate with your team and streamline your workflows.

    • GravitySearch

      GravitySearch

      Search Gravity Forms entries across every form from one screen.

    GravityKit All Access

    Our complete Kit of essential tools for extending and enhancing Gravity Forms—everything you need to build powerful web apps and workflows.

    Learn more
  • Ideal For

    • Nonprofits
    • Web Agencies
    • Education
    • Developers
    • Small Businesses
    • Startups
    Explore All Use Cases

    Case studies

    • West Fork Schools
    • Princeton University
    • BrightLeaf Giving
    • Jacksonville Port Authority
    • National Severe Storms Lab
    • Leadpal
    • Mediebruket
    • Dragonfly
    View All Case Studies

    How to build...

    • Property Management
    • Product Catalog
    • Fundraising Dashboard
    • Real Estate Directory
    • Document Library
    • Academic Journal
    • Volunteer Management
    • Meal Tracker
    View All Guides
  • Resources

    • Blog
    • Case studies
    • GravityKit vs competitors
    • Live Demos
    • Documentation
    • Developer docs
    • GravityKit Academy
    • GravityKit Live!

    ultimate guides

    • How to use Gravity Forms
    • Editing Gravity Forms entries
    • Importing Gravity Forms entries
    • Exporting Gravity Forms entries
    • Displaying Gravity Forms entries
    • Gravity Forms conditional logic
    • Gravity Forms calculations
    View More Articles
  • Support
  • Pricing
0 items

Search

Results appear automatically as you type.
Loading results…

results found matching

    Sign in
    Buy

    Docs

    • Docs Home

    Gravity Forms Add-Ons

    • GravityView
    • GravityActions
    • GravityBoard
    • GravityCalendar
    • GravityCharts
    • GravityEdit
    • GravityExport
    • GravityImport
    • GravityMath
    • GravityMigrate
    • GravityRevisions
    • GravitySearch
    • GF Widget for Elementor
    • GF Dynamic Lookup
    • GF Entry Tags
    • GF Event Field
    • GravityExport Lite
    • GF Zero Spam

    GravityView

    • Getting Started
    • View Setup
    • FAQ
    • Pre-Sale
    • Advanced
    • Common Problems
    • Customizing Your Views
    • Edit Entry
    • Entry Approval
    • Filter and Sort Results
    • Gravity Forms
    • Merge Tags
    • Roles and Capabilities
    • Search
    • Shortcodes
    • View Settings
    • WordPress Posts

    General Help

    • Account, Invoices, and Billing
    • License Related
    • Plugins and Settings
    • Contact
    • Docs Home
    • Gravity Forms Add-Ons

      • GravityView
      • GravityActions
      • GravityBoard
      • GravityCalendar
      • GravityCharts
      • GravityEdit
      • GravityExport
      • GravityImport
      • GravityMath
      • GravityMigrate
      • GravityRevisions
      • GravitySearch
      • GF Widget for Elementor
      • GF Dynamic Lookup
      • GF Entry Tags
      • GF Event Field
      • GravityExport Lite
      • GF Zero Spam
    • GravityView

      • Getting Started
      • View Setup
      • FAQ
      • Pre-Sale
      • Advanced
      • Common Problems
      • Customizing Your Views
      • Edit Entry
      • Entry Approval
      • Filter and Sort Results
      • Gravity Forms
      • Merge Tags
      • Roles and Capabilities
      • Search
      • Shortcodes
      • View Settings
      • WordPress Posts
    • General Help

      • Account, Invoices, and Billing
      • License Related
      • Plugins and Settings
    • Contact

    GravityExport

    • Checkbox values for removed choices are missing from exports
    • Export Gravity Forms entries to Google Sheets
    • Adding a download button for entries in GravityView using GravityExport
    • Attaching all entries to an e-mail in GravityExport
    • Attaching an entry export to a notification using GravityExport Lite
    • Changing labels in GravityExport
    • Changing the File Format of a Report by Adding the File Extension to the URL
    • Changing values in GravityExport
    • Connecting Dropbox to GravityExport
    • Connecting FTP to GravityExport
    • Customize Download URLs in GravityExport
    • Filtering entries included in a GravityExport download
    • Filtering GravityExport with conditional logic and relative dates
    • Formatting an address in GravityExport
    • Getting started with GravityExport
    • GravityExport and caching plugins
    • GravityExport Developer Hooks
    • GravityExport FAQ
    • GravityExport field: BaseField
    • GravityExport field: DateField
    • GravityExport field: FileUploadField
    • GravityExport field: ListField
    • GravityExport field: MetaField
    • GravityExport field: NotesField
    • GravityExport field: NumberField
    • GravityExport field: ProductField
    • GravityExport field: RepeaterField
    • GravityExport field: SectionField
    • GravityExport field: SeparableField
    • GravityExport Filters
    • GravityExport: Exporting only one entry
    • GravityExport: How to output dropdown field labels Instead of values
    • GravityExport: Splitting complex fields in Multiple Columns
    • GravityExport: The “Enable multi-row splitting” setting
    • How Is GravityExport Lite Different From GravityExport?
    • How to configure GravityExport to save File Upload fields
    • How to export all forms in bulk to an Excel spreadsheet
    • How to Export Checkbox Fields as Separate Columns in GravityExport
    • How to re-run a GravityExport Save feed
    • How to schedule automated exports
    • How to trigger a GravityExport Save Feed
    • How to use FastCron to trigger exports on a custom schedule
    • PDF export settings and style controls
    • Restricting file access in GravityExport & GravityExport Lite
    • Styling PDF file exports using CSS
    • Home
    • Docs
    • GravityExport
    • Export Gravity Forms entries to Google Sheets

    Export Gravity Forms entries to Google Sheets

    Estimated reading: 9 minutes

    Updated on August 14, 2026

    GravityExport can send your form entries straight to a Google Sheets spreadsheet and keep that spreadsheet in step with your form. Numbers arrive as numbers, dates as dates, and currency as currency, so you can sort, filter, and build formulas in the sheet without converting anything first.

    This article walks through connecting a Google account, pointing a form at a spreadsheet, and choosing when the export runs.

    Note: Google Sheets export requires GravityExport 1.15.0 or later.

    Before you start #

    You need all of the following:

    • Gravity Forms installed and active, with at least one form that has entries.
    • GravityExport 1.15.0 or later installed and active.
    • A site served over HTTPS. On a site running over plain HTTP, the connect button appears unavailable.
    • A Google account with access to Google Drive.

    How the export works #

    GravityExport mirrors your form into a single tab of a spreadsheet. Every export rewrites that tab in full rather than appending rows to the bottom, so one new entry and the whole form are the same operation. The tab always reflects the current state of the form, including dropping rows for entries you have deleted.

    One Google account is shared by every export on the site. You connect it once, then each feed chooses which spreadsheet and tab it writes to.

    How often the sheet updates

    The Export Trigger on the feed decides what causes a rewrite. This is the setting that determines whether an edit reaches the sheet straight away:

    TriggerNew entryEdited entryDeleted, trashed, or restored entryRows added by an import, the REST API, or WP-CLI
    AutomaticRewritesRewritesRewritesRewrites once when the import finishes
    ScheduledWaits for the scheduleWaits for the scheduleWaits for the scheduleWaits for the schedule
    WebhookWaits for the URLWaits for the URLWaits for the URLWaits for the URL

    On an Automatic feed, editing an entry updates the sheet immediately. Edits made on the entry detail page, through GravityView’s Edit Entry or inline edit, or by another add-on calling the API all count. If you would rather only new entries reached the sheet, turn off Export on Update on the feed.

    On a Scheduled or Webhook feed, nothing an entry does touches the sheet. Only the schedule or the webhook URL causes a write, and Export on Update has no effect.

    Changes made in a single request are combined into one rewrite, so importing fifty rows rewrites the tab once rather than fifty times.

    Step 1: Connect your Google account #

    The connection lives in your site’s GravityKit settings, not on an individual form.

    1. In your WordPress admin, go to GravityKit > Settings, then open the GravityExport tab.
    2. Find the Cloud Storage section.
    3. Click Connect to Google Sheets.
    4. Sign in to Google and approve the request. GravityExport only asks for access to the spreadsheets you create or pick, not your whole Drive.
    5. When you return to WordPress, the section shows the connected account address.
    The Cloud Storage section of the GravityExport settings tab, with the Connect to Google Sheets button highlighted

    Once connected, the same row names the account exports run as, and offers buttons to test or disconnect it.

    The Cloud Storage section after a Google account is connected, with the Google Sheets row highlighted

    To confirm the connection works, click Test Connection.

    While you are on this screen, consider enabling Monitor connections. It checks your cloud connections about every twelve hours and alerts you if one goes offline, which is how you find out that Google has stopped accepting the connection before your exports quietly stop.

    Note: If the connect button is unavailable, the reason appears beneath it. The usual causes are a site not running over HTTPS, a missing or expired license, a site that has not been activated, or a license that has used all its activations.

    Step 2: Enable the download URL on your form #

    GravityExport Save does not appear in a form’s settings until that form has a GravityExport download enabled, because nothing it configures can run before then.

    1. Open your form, then go to Settings > GravityExport.
    2. Enable the Download URL.
    The GravityExport tab of a form's settings showing an enabled Download URL

    GravityExport Save now appears in the form’s settings sidebar.

    Step 3: Create the export feed #

    1. Go to Settings > GravityExport Save on the same form.
    2. Click Add New.
    3. Give the feed an Export Name. This is for your reference only and does not affect the spreadsheet.
    The GravityExport Save feed list, with the sidebar item and the Add New button highlighted

    Step 4: Choose Google Sheets as the destination #

    Open the Storage tab of the feed and choose Google Sheets as the storage type. The feed screen shows which Google Account it will use, which is the account you connected in step 1.

    If you skipped step 1, the tile reads Google Sheets — connect it under GravityKit Settings and cannot be selected. Connect the account first, then come back.

    The Storage tab of a feed with the Google Sheets tile selected and highlighted

    The panel repeats the most important thing about this destination:

    This feed will rewrite every row on each export. Tab contents will be fully overwritten: keep your notes, formulas and charts on a different tab.

    Take that literally. Anything you add to the feed’s tab by hand is gone on the next export, so put your own work on a separate tab in the same spreadsheet.

    The usual way to do that is a second tab that reads from the exported one. If the feed’s tab is named Contact Form, either of these pulls its data across:

    ={'Contact Form'!A:Z}
    =QUERY('Contact Form'!A:F, "select A, C where F = 'Yes'")

    Formulas, charts and pivot tables on your own tab survive every export, and they keep up to date on their own because the tab they read from does.

    Step 5: Pick the spreadsheet #

    Under Spreadsheet, choose one of two options.

    OptionWhat happens
    Create a new spreadsheet, named after the formGravityExport creates a spreadsheet in your Google Drive on the first export. After that run, the feed screen links to it.
    Choose an existing spreadsheet from Google DriveA picker opens so you can select a spreadsheet you already have.

    If you choose an existing spreadsheet, click Choose a spreadsheet from Google Drive. The picker opens in a separate window, signed in as the connected account. Only the spreadsheets you select here can be reached by GravityExport. There is no field for pasting a spreadsheet link, because picking a file in Google’s own window is what grants access to it. A pasted link grants nothing, so a feed configured that way would look finished and fail on every run.

    Note: Picking a spreadsheet requires an administrator, because selecting one grants access to the Google account the site exports with. Users who can edit feeds but are not administrators see which spreadsheet the feed is bound to, rather than the picker.

    The Google Drive picker window open over a GravityExport feed's Spreadsheet settings, listing available spreadsheets to select, with the "Choose a spreadsheet from Google Drive" button highlighted.

    Step 6: Name the tab #

    Tab Name controls which tab inside the spreadsheet the feed writes to. Leave it blank to use the form title.

    A few things are worth knowing before you save:

    • If a tab with this name already exists in the spreadsheet, this feed takes it over and replaces everything in it. Use a name of its own if the spreadsheet holds other work.
    • Changing this name later renames the feed’s tab on its next export. You can also rename the tab in Google Sheets, and the feed keeps writing to it.
    • Several feeds can share one spreadsheet. Each feed keeps to its own tab, so a single workbook can collect entries from several forms.
    • Deleting the feed’s tab in Google Sheets is not how you stop exporting. The next run creates it again and refills it. To stop the export, deactivate or delete the feed in WordPress.
    The Tab Name and Columns settings on a Google Sheets feed

    Step 7: Choose the columns #

    Columns decides which fields become columns, and in what order.

    • The fields configured in the connected GravityExport feed follows the field list on the form’s GravityExport tab, including its order and any fields turned off there. This is the default.
    • Every field on the form ignores that list and exports everything, entry meta included.

    Both settings are shown in the screenshot above.

    Step 8: Choose when the export runs #

    On the feed’s General tab, set the Export Trigger:

    • Automatic (on every new entry) exports whenever an entry is submitted.
    • Scheduled exports on an interval you choose. The first run happens when you save the feed, and it repeats from there. Intervals includes Hourly, Daily, Weekly, Every 30 Days, and other options.
    • Webhook exports when a request hits the feed’s webhook URL.
    The General tab of a GravityExport Save feed with Export Trigger set to Scheduled

    Leave Failure Alerts enabled to get a dashboard notice when an export fails. The notice clears after the next successful export.

    Note: The Entries to Include option, which lets a scheduled export send only entries received since the last successful run, is not available for Google Sheets. It appears for file-based destinations such as Local, FTP, Dropbox, and Box. A Google Sheets export always sends the whole form, because the tab is a mirror rather than a growing file: narrowing a run would shrink the tab to that interval and overwrite everything before it.

    Save the feed. To send entries straight away without waiting for the schedule, use Export Now from the feed list. It asks for confirmation first, since it writes to the destination immediately and replaces what is there.

    Checking that exports are working #

    Every feed has an Activity Log tab listing its recent exports: what each one wrote, when, and why any of them failed. The most recent 100 runs are kept, and a failure stays visible even after later exports succeed.

    The Activity Log tab of a feed listing recent Google Sheets exports

    The feed list also shows Last Run and Next Run, and the Storage column links directly to the spreadsheet the feed writes to.

    Opening that spreadsheet shows the export itself. Each entry is one row, the header row comes from the columns you chose, and the values arrive typed rather than as text, so dates sort as dates and numbers add up.

    Gravity Forms entries exported into a Google Sheets spreadsheet, one row per entry

    A few things you can rely on in that sheet:

    • Numbers, currency and dates arrive as real values, so sorting, SUM and charts work on them without converting anything first.
    • Text is written exactly as submitted. Leading zeros and phone numbers keep the form they were entered in.
    • A submitted value that looks like a formula is stored as text, so it can never run in your spreadsheet.

    During an export you may briefly see an extra tab named __gk_export_staging_ followed by a number. That is the working area for the run in progress: GravityExport builds the new data there and moves it into your tab in one step, so your tab is never half written. It removes itself when the run finishes.

    Limits #

    • A Google spreadsheet holds at most 10 million cells across all of its tabs, and an export briefly needs room for two copies of its data. Treat about half that ceiling as the practical limit for one feed.
    • A single cell holds at most 50,000 characters. A longer value is shortened and marked with … [truncated]. The full value stays in your Gravity Forms entry.

    If an export does not fit, the run stops and tells you by how much, and your spreadsheet is left exactly as it was. Narrow the export with a filtered source feed, or point the feed at a spreadsheet with more room.

    If the connection stops working #

    If Google stops accepting the connection, exports to Google Sheets begin failing and a notice appears in your WordPress dashboard. To fix it, return to GravityKit > Settings > GravityExport and click Reconnect to Google Sheets.

    Connections you made before your license lapsed keep working and keep refreshing, whether or not the license is current. A current license is only required to make a new connection or to open the spreadsheet picker.

    After moving, cloning, or renaming a site

    A Google connection belongs to the site address that made it. Cloning a site, promoting a staging copy to live, or moving to a new domain all read as a different site, so the connection shows as needing attention and exports stop until someone reconnects.

    This is deliberate. Without it, a copied database would carry the original site’s Google access with it, and every clone would quietly write to your spreadsheets. Two things follow from it: reconnecting on the copy does not affect the original site, and disconnecting on the copy does not cancel the original site’s access.

    Related articles #

    • How to trigger a GravityExport Save Feed
    • How to schedule automated exports
    • Connecting Dropbox to GravityExport
    • Getting started with GravityExport
    Still stuck? How can we help?

    How can we help?

    "*" indicates required fields

    This field is for validation purposes and should be left unchanged.
    Replies will go to this email.
    How can we help?*
    My pre-sale question is related to...*
    My WordPress skills are....*
    My Gravity Forms skills are...*
    You will be shown articles from our documentation.
    Vous pouvez nous écrire dans votre langue maternelle si c’est plus facile pour vous—nous nous occuperons de la traduction!
    Puedes escribirnos en tu idioma nativo si te resulta más fácil; ¡nosotros nos encargamos de la traducción!
    Sie können uns in Ihrer Muttersprache schreiben, wenn das für Sie einfacher ist – wir kümmern uns um die Übersetzung!
    U kunt ons in uw moedertaal schrijven als dat gemakkelijker voor u is — wij zorgen voor de vertaling!
    Du kan skrive til oss på ditt morsmål hvis det er enklere for deg — vi tar oss av oversettelsen!
    Du kan skriva till oss på ditt modersmål om det är lättare för dig — vi tar hand om översättningen!
    Você pode nos escrever em seu idioma nativo se for mais fácil para você — nós cuidaremos da tradução!
    Puoi scriverci nella tua lingua madre se ti è più facile — penseremo noi alla traduzione!
    Please provide as much detail as you're able; this helps us provide you with faster support.
    Drop files here or
    Accepted file types: jpg, jpeg, gif, png, tiff, pdf, bmp, zip, json, csv, xls, xlsx, Max. file size: 256 MB.
      Stay informed?

      Was this page helpful?

      Table Of Contents
      • Before you start
      • How the export works
      • Step 1: Connect your Google account
      • Step 2: Enable the download URL on your form
      • Step 3: Create the export feed
      • Step 4: Choose Google Sheets as the destination
      • Step 5: Pick the spreadsheet
      • Step 6: Name the tab
      • Step 7: Choose the columns
      • Step 8: Choose when the export runs
      • Checking that exports are working
      • Limits
      • If the connection stops working
      • Related articles
      GravityKit
      • How to Build It
      • GravityKit vs competitors
      • Pricing
      • Products
      • Our Team
      • Our Values
      • Work With Us
      • Coupons
      Support
      • Support
      • Contact
      • Documentation
      • Scope of Support
      • Brand Guidelines
      • Privacy Policy
      • Terms of Service (“Terms”)
      I am a...
      • Nonprofit
      • Web agency
      • Small business owner
      • Web developer
      • Educational institution
      • WordPress freelancer
      • Startup founder
      • One-person agency
      Get notified of updates.

      We’re constantly improving GravityKit. Fill out your email below and we’ll notify you anytime major updates drop.

      • Facebook
      • Twitter
      • Mastodon
      GravityKit is a Gravity Forms Certified Developer.

      Copyright © 2026, Katz Web Services, Inc.

      GravityKit and GravityView are registered trademarks of Katz Web Services, Inc.

      Floaty, GravityKit's astronaut mascot, relaxing on a beach lounger

      Gravity Summer Sale ☀️

      50% off our entire toolkit • From 25% off for the rest of the community

      Shop the Sale