DestinationsOtherGoogle Sheets

Google Sheets

Sync data to a Google Sheets spreadsheet. Use Zeotap to populate spreadsheets with model results, audience lists, or enriched data for teams that work in Google Sheets.

Prerequisites

  • A Google account with access to Google Sheets
  • A Google Sheets spreadsheet to write to
  • The spreadsheet must be accessible by the authenticated Google account

Authentication

Google Sheets uses Google OAuth 2.0 with PKCE authentication.

  1. Click Connect with OAuth in Zeotap
  2. Sign in with your Google account
  3. Authorize Zeotap to access Google Sheets and Google Drive (file-level access)
  4. Zeotap receives spreadsheets and drive.file scopes

Required OAuth Scopes

  • https://www.googleapis.com/auth/spreadsheets — read and write spreadsheet data
  • https://www.googleapis.com/auth/drive.file — access files created by or opened with Zeotap

Configuration

Google Sheets does not require additional configuration fields beyond authentication.

Target Settings

FieldTypeRequiredDescription
Spreadsheet IDTextYesThe ID of the Google Sheets spreadsheet. Found in the spreadsheet URL: https://docs.google.com/spreadsheets/d/{SPREADSHEET_ID}/edit
Worksheet NameTextNoThe name of the worksheet tab to sync data to. Default: Sheet1

Supported Operations

Sync Modes: Insert, Upsert, Mirror

Audience Sync Modes: Add, Remove, Mirror, Upsert

Features

  • Field Mapping: Yes
  • Schema Introspection: Yes — Zeotap reads the first row of the worksheet as column headers

How It Works

Zeotap writes data to the specified worksheet in the Google Sheets spreadsheet:

  1. The first row of the worksheet is treated as the header row (column names)
  2. For Insert mode, new rows are appended below existing data
  3. For Upsert and Mirror modes, the worksheet is cleared and rewritten with the complete dataset including headers
  4. If the target worksheet does not exist, Zeotap creates it automatically

Schema Introspection

Zeotap reads the first row of the target worksheet to discover available columns. This enables field mapping — you can map source fields to specific spreadsheet columns.

If the worksheet is empty, Zeotap creates the header row from the mapped fields on the first sync.

Troubleshooting

Spreadsheet not found

Verify the spreadsheet ID is correct. The ID is the long string in the spreadsheet URL between /d/ and /edit. Ensure the authenticated Google account has access to the spreadsheet.

Authentication expired

Google OAuth tokens expire periodically. If you see authentication errors, reconnect the Google Sheets integration in Zeotap by re-authorizing with OAuth.

Worksheet not found

If the specified worksheet name does not exist, Zeotap automatically creates it in the spreadsheet. The default worksheet is Sheet1.

Rate limited

Google Sheets API has quotas of 60 requests per minute per user. For large datasets, Zeotap batches writes to stay within limits. Very large syncs may take longer due to rate limiting.

Spreadsheet too large

Google Sheets has a limit of 10 million cells per spreadsheet. If your data exceeds this limit, consider using a warehouse destination (BigQuery, Snowflake) instead.

Permission denied

The authenticated Google account must have Editor access to the spreadsheet. View-only access is not sufficient. Share the spreadsheet with the Google account used for OAuth.