Google Cloud Storage
Write files to a Google Cloud Storage bucket in CSV or JSONL format. Use SignalSmith to export model results, audience lists, or enriched data as files in GCS for downstream processing.
Prerequisites
- A Google Cloud project with a Cloud Storage bucket
- A service account with Storage Object Creator role on the target bucket
- A service account JSON key file
Authentication
GCS uses Service Account authentication.
- In the Google Cloud Console, go to IAM & Admin > Service Accounts
- Create a service account (or use an existing one)
- Grant the Storage Object Creator role on the target bucket
- Create a JSON key for the service account
- Upload or paste the JSON key in SignalSmith
Required Permissions
The service account needs the following roles on the target bucket:
roles/storage.objectCreator— to upload filesroles/storage.objectViewer— to verify bucket access (used during connection test)
Configuration
| Field | Type | Required | Description |
|---|---|---|---|
| Bucket Name | Text | Yes | The GCS bucket to write files to (e.g., my-data-bucket) |
| Path Prefix | Text | No | Optional prefix for all file paths within the bucket. Default: signalsmith/ |
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: On |
Supported Operations
Sync Modes: Insert, Mirror
Audience Sync Modes: Add, Upsert, Mirror
Features
- Field Mapping: No — GCS writes all mapped fields as file columns
- Schema Introspection: No — GCS is a file-based destination without schema discovery
How It Works
SignalSmith writes data as files to the configured GCS bucket:
- Data is serialized into the selected format (CSV or JSONL)
- If gzip compression is enabled, the file is compressed before upload
- Files are uploaded to
gs://{bucket}/{path_prefix}/{sync_id}/{filename} - Each sync run produces a new set of files
For Mirror mode, SignalSmith replaces the previous set of files with the latest complete dataset.
Troubleshooting
Permission denied
Verify the service account has the Storage Object Creator role on the bucket. Check that the bucket-level IAM policy grants the service account access.
Bucket not found
Ensure the bucket name is correct. GCS bucket names are globally unique and case-sensitive.
Invalid service account JSON
The JSON key file must be a valid service account key with "type": "service_account". Download a fresh key from the Google Cloud Console if the current one is corrupted or expired.
Quota exceeded
GCS enforces request rate limits per bucket. For high-frequency syncs, consider using a dedicated bucket or reducing sync frequency.