Google Drive
Upload files to a Google Drive folder in CSV or JSONL format. Use Zeotap to export model results, audience lists, or enriched data as files in Google Drive for sharing, collaboration, and downstream processing.
Prerequisites
- A Google account with access to Google Drive
- A Google Drive folder where files should be uploaded (or use the root of My Drive)
- OAuth 2.0 authorization via Zeotap’s built-in Google connector
Authentication
Google Drive uses OAuth 2.0 authentication.
- In Zeotap, navigate to Destinations and click Add Destination
- Select Google Drive from the Cloud Storage category
- Click Connect with Google to start the OAuth flow
- Sign in with your Google account and authorize Zeotap to access your Drive files
- Zeotap requests the
drive.filescope, which limits access to only files created by or explicitly shared with Zeotap
Required Permissions
The OAuth 2.0 scope drive.file grants Zeotap permission to:
- Create new files in the specified folder
- Read and update files that Zeotap has created
- Zeotap does not have access to files it did not create
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Folder ID | Text | No | The ID of the Google Drive folder to upload files to. Found in the folder URL after /folders/. Leave blank to upload to the root of My Drive. |
Finding Your Folder ID
- Open Google Drive in your browser
- Navigate to the target folder
- Copy the ID from the URL:
https://drive.google.com/drive/folders/{folder_id} - Paste the ID into the Folder ID field in Zeotap
Target Settings
| Field | Type | Required | Description |
|---|---|---|---|
| File Format | Select | Yes | Output file format: CSV or JSONL (Newline Delimited JSON). Default: CSV |
| Enable Gzip Compression | Toggle | No | Compress files with gzip before uploading. Default: Off |
Supported Operations
Sync Modes
| Mode | Supported | Description |
|---|---|---|
| Insert | Yes | Each sync run uploads new files to the folder |
| Mirror | Yes | Uploads the full current dataset as new files; downstream consumers should use the latest dated files |
Audience Sync Modes
| Mode | Supported | Description |
|---|---|---|
| Add | Yes | Upload audience members as a new file |
| Mirror | Yes | Upload the full audience list as a new file |
Features
| Feature | Supported |
|---|---|
| Field Mapping | No — Google Drive writes all mapped fields as file columns |
| Schema Introspection | No — Google Drive is a file-based destination without schema discovery |
How It Works
Zeotap writes data as files to the configured Google Drive folder:
- Data is serialized into the selected format (CSV or JSONL)
- If gzip compression is enabled, the file is compressed before upload
- Files are uploaded via the Google Drive API v3 multipart upload endpoint
- Each file is named with a date-partitioned path:
zeotap/{YYYY-MM-DD}/{batch_id}.{ext}[.gz] - Each sync run produces a new set of date-partitioned files
For Mirror mode, Zeotap writes the full current dataset as new files. Downstream consumers should use the latest date partition.
Upload Method
Zeotap uses the multipart upload method, which sends file metadata and content in a single request. This is suitable for files up to 5 MB. For larger syncs, data is split into batches that each produce a separate file within the size limit.
Rate Limits
Google Drive API enforces the following rate limits:
| Limit | Value |
|---|---|
| Default quota (per user and per project) | 20,000 calls per 100 seconds |
| Sustained write/insert requests per account | Avoid exceeding 3 requests per second |
| Daily upload volume | 750 GB per 24-hour rolling window |
If Google Drive returns a 429 Too Many Requests response, the current batch fails and the sync run surfaces the rate-limit error. Reduce sync frequency or concurrency if you see sustained 429 responses.
Best Practices
- Use a dedicated folder for Zeotap exports to keep files organized
- Enable gzip compression for large datasets to reduce upload time and storage usage
- Use JSONL format when downstream consumers need structured data with nested fields
- Use CSV format when sharing data with non-technical stakeholders via Google Sheets import
- Set up folder sharing before configuring the destination if team members need access to exported files
Troubleshooting
Authentication failed
The OAuth token may have expired or been revoked. Reconnect the Google account by clicking Reconnect in the destination settings.
Permission denied
Ensure the Google account used for authentication has write access to the target folder. If the folder is in a Shared Drive, verify that the account has Contributor or Content Manager permissions.
Folder not found
Check that the folder ID is correct. The folder ID is the last segment of the folder URL. If the folder was deleted or moved to trash, create a new folder and update the configuration.
Rate limit exceeded
If you see 429 Too Many Requests errors, reduce sync frequency or reduce the number of concurrent syncs targeting Google Drive. Persistent rate limiting requires reducing request volume; Google recommends staying under 3 sustained write requests per second per account.
File upload failed
Large files may fail to upload if they exceed the 5 MB multipart upload limit. Zeotap batches data to stay within this limit. If individual rows contain very large data (e.g., long text fields), consider reducing the number of mapped fields.
Quota exceeded
Google Drive storage has a 15 GB free tier per account (shared with Gmail and Google Photos). If the account runs out of storage, uploads will fail. Upgrade to Google One or clean up existing files to free space.