Skip to Content
DestinationsAdvertisingSpotify Ads Manager

Spotify Ads Manager

Sync custom audience segments to Spotify Ads Manager for targeted audio and display advertising. Upload your warehouse segments to reach Spotify listeners with personalized ad experiences across music, podcasts, and video content.

Prerequisites

  • A Spotify Ads Manager account with API access enabled
  • Your Spotify Ad Account ID (UUID format)
  • Accepted the Spotify Ads API Terms  with your client ID
  • A registered application at developer.spotify.com  with a configured redirect URI

Permissions

Your Spotify Ads Manager account must have access to the Ad Account you want to sync audiences to. You need permission to create and manage custom audiences within the account.

Authentication

Spotify Ads Manager uses OAuth 2.0 with the authorization code grant type.

  1. Click Connect with OAuth in Zeotap
  2. Sign in with your Spotify account
  3. Authorize the requested permissions
  4. Zeotap securely stores your access and refresh tokens

Access tokens expire after 1 hour. Zeotap automatically refreshes them using your refresh token, which does not expire unless manually revoked.

Configuration

FieldTypeRequiredDescription
Ad Account IDTextYesYour Spotify ad account identifier in UUID format. Find this in Spotify Ads Manager under account settings. Example: ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a

Target Settings

FieldTypeRequiredDescription
Audience NameTextYesName of the custom audience to create or update (2–80 characters)
Audience IDTextNoExisting audience ID to update. Leave blank to create a new audience.

Supported Operations

Sync Modes

This destination is audience-only and does not support standard data sync modes.

Audience Sync Modes

ModeSupportedDescription
AddNot supported. Spotify’s custom audience upload replaces the full membership; there is no per-user append endpoint.
RemoveNot supported. Spotify does not expose a per-user removal endpoint.
MirrorYesReplace the entire audience with the current segment membership.
UpsertNot supported for the same reason as Add.

Features

  • Field Mapping: No
  • Schema Introspection: No

Required Mapping Fields

No specific field mappings are required. Zeotap automatically extracts and hashes email and phone fields from your source data.

Default Destination Fields

Zeotap uses the following identifier fields for audience matching:

FieldTypeDescription
emailstringEmail address — normalized (lowercase, trimmed) and SHA256-hashed before upload
phonestringPhone number — normalized (E.164 format) and SHA256-hashed before upload

How It Works

  1. Audience creation: If no Audience ID is provided, Zeotap creates a new CUSTOM audience with subtype CUSTOMER_LIST in your Spotify ad account.

  2. Upload URL: Zeotap requests a signed Google Cloud Storage (GCS) upload URL from the Spotify Ads API. For existing audiences, it uses the replacement endpoint to update membership.

  3. CSV generation: Email addresses and phone numbers from your segment are normalized and SHA256-hashed. A CSV file is generated with columns type (identifier type) and value (hashed identifier).

  4. File upload: The CSV is uploaded to the signed GCS URL. Spotify processes the file asynchronously and matches hashed identifiers against its user base.

  5. Audience matching: Spotify matches the uploaded hashed identifiers against its user database. Only matched users become targetable in your audience segment.

Rate Limits

The Spotify Ads API enforces the following rate limits:

ScopeLimitWindow
Client ID + User ID50 requests per second30 seconds
Asynchronous reporting1 request per second30 seconds
Other reporting5 requests per second30 seconds

Rate limit headers (X-RateLimit-Remaining, X-RateLimit-Limit, X-RateLimit-Reset) are included in API responses. Zeotap automatically handles rate limiting with exponential backoff.

Best Practices

  • Use both email and phone: Providing multiple identifier types increases your match rate on Spotify’s platform.
  • Normalize before syncing: Ensure email addresses are valid and phone numbers include country codes for best matching results.
  • Name audiences descriptively: Use clear, descriptive audience names (2–80 characters) to easily identify segments in Spotify Ads Manager.
  • Allow processing time: Custom audience processing on Spotify’s side can take several hours. Plan your campaign timing accordingly.
  • Minimum audience size: Spotify requires a minimum number of matched users before an audience becomes available for ad targeting.
  • Use Mirror mode for accuracy: When you need your Spotify audience to exactly match your Zeotap segment, use Mirror mode for full replacement.

Troubleshooting

Authentication failed: invalid or expired token

Your OAuth token may have expired or been revoked. Reconnect your Spotify account in Zeotap by clicking Reconnect on the destination settings page.

Ad Account ID not found

Verify your Ad Account ID is in UUID format (e.g., ce4ff15e-f04d-48b9-9ddf-fb3c85fbd57a). Find it in Spotify Ads Manager under Account Settings.

Audience not appearing in Ads Manager

Custom audiences require processing time after upload. Allow up to 24 hours for the audience to appear and become targetable. Additionally, Spotify requires a minimum number of matched users.

Upload failed with HTTP 403

Your Spotify account may not have sufficient permissions for the specified ad account. Verify that your account has audience management permissions in Spotify Ads Manager.

Low match rates

Match rates depend on the quality and recency of your identifier data. Ensure email addresses are correctly formatted and phone numbers include country codes in E.164 format (e.g., +14155551234).

API Terms not accepted

You must accept the Spotify Ads API Terms at https://adsmanager.spotify.com/api-terms before making API calls. After acceptance, allow up to one hour for your client ID to be allowlisted.

CSV upload timeout

Large audience files may take longer to upload. If you experience timeouts, consider reducing your segment size or ensuring a stable network connection. Zeotap uses a 120-second timeout for upload operations.

Last updated on