DestinationsCloud StorageGoogle Cloud Storage

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.

  1. In the Google Cloud Console, go to IAM & Admin > Service Accounts
  2. Create a service account (or use an existing one)
  3. Grant the Storage Object Creator role on the target bucket
  4. Create a JSON key for the service account
  5. 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 files
  • roles/storage.objectViewer — to verify bucket access (used during connection test)

Configuration

FieldTypeRequiredDescription
Bucket NameTextYesThe GCS bucket to write files to (e.g., my-data-bucket)
Path PrefixTextNoOptional prefix for all file paths within the bucket. Default: signalsmith/

Target Settings

FieldTypeRequiredDescription
File FormatSelectYesOutput file format: CSV or JSONL (Newline Delimited JSON). Default: CSV
Enable Gzip CompressionToggleNoCompress 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:

  1. Data is serialized into the selected format (CSV or JSONL)
  2. If gzip compression is enabled, the file is compressed before upload
  3. Files are uploaded to gs://{bucket}/{path_prefix}/{sync_id}/{filename}
  4. 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.