IntegrationsAdvertisingSpotify Ads Manager

Spotify Ads

Datafly Signal sends conversions to Spotify Ads Manager server-to-server through the Spotify Conversions API (CAPI), Spotify’s tagless attribution surface.

Prerequisites

Create a Conversions API connection

In Ads Manager go to Events > Connect Data Source > Conversions API. Submitting the form shows the Connection ID (a UUID).

Generate a CAPI token

On the same page choose Generate Token. The token is long-lived and separate from Ads API tokens; up to three can be active.

Configure in Signal

Configuration Fields

FieldRequiredDescription
access_tokenYesThe long-lived Conversions API token generated in Spotify Ads Manager under Events > Connect Data Source > Conversions API > Generate Token. This is separate from your Ads API OAuth token, does not expire, and is sent as a Bearer token. Up to 3 tokens may be active per connection.
capi_connection_idYesThe Connection ID (UUID) shown in Ads Manager when you create the Conversions API data source. Identifies which CAPI connection events are attributed to.

Management UI Setup

  1. Go to Integrations > Add Integration > Spotify Ads Manager.
  2. Choose a preset: Default (default), Retail (ecommerce), Lead Generation (lead_gen), Insurance (insurance), Media & Subscription (media_subscription).
  3. Fill in the fields above and click Save.

Request format

POST https://capi.spotify.com/capi-direct/events/

{
  "conversion_events": {
    "capi_connection_id": "3f1c2a8e-0000-4000-8000-00000000abcd",
    "events": [
      {
        "action_source": "WEB",
        "event_details": {
          "amount": 259.99,
          "currency": "GBP"
        },
        "event_id": "ORD-1001",
        "event_name": "PURCHASE",
        "event_source_url": "https://shop.example.co.uk/checkout/done?x=1",
        "event_time": "2025-09-22T00:13:20Z",
        "opt_out_targeting": false,
        "user_data": {
          "hashed_emails": [
            "86e0b9e56c17cc4d12387e1949b85053fbe73bc3ce5a1188713a9d300cc6133d"
          ],
          "hashed_phone_number": "9e1919ad78a34fd67a84bfbcf2fea14074065517bea32e92924771c3f92e5462",
          "ip_address": "203.0.113.9"
        }
      }
    ]
  }
}

capi_connection_id, and on each event event_name, event_id, event_time (ISO 8601) and user_data are required. Signal sends one event per request.

Event Mapping

Signal eventVendor eventPresets
pageVIEWDefault, Retail, Lead Generation, Insurance, Media & Subscription
view_itemPRODUCTDefault, Retail
add_to_cartADD_TO_CARTDefault, Retail
begin_checkoutCHECK_OUTDefault, Retail, Insurance
purchasePURCHASEDefault, Retail, Insurance, Media & Subscription
generate_leadLEADDefault, Retail, Lead Generation, Insurance
sign_upSIGN_UPDefault, Retail, Lead Generation, Media & Subscription
lead_submittedLEADLead Generation
quote_requestedLEADInsurance
quote_completedLEADInsurance
trial_startedCUSTOM_EVENT_1Media & Subscription
subscription_startedPURCHASEMedia & Subscription

Signal forwards properties the preset does not map unless the integration’s strict output contract is on. Turn on strict_output_contract for this integration so only the documented fields are sent.

Identity

user_data carries ip_address, hashed_emails (array) and hashed_phone_number as normalised SHA-256 (phone in E.164 first), and device_id as the SHA-256 of the mobile advertising ID. At least one is required, so every web event qualifies through its IP. event_id de-duplicates against the Spotify Pixel; on purchases it is the order ID.

Spotify is an advertising destination and requires marketing consent by default. opt_out_targeting is true when marketing consent is denied (the event then counts for attribution only).

Troubleshooting

ProblemSolution
400Check the event name is one of VIEW, PRODUCT, CHECK_OUT, ADD_TO_CART, PURCHASE, LEAD, SIGN_UP or CUSTOM_EVENT_1..5.
404The Connection ID is wrong or belongs to another business.

Blueprint

The Spotify Ads blueprint version is 0.9.0. It was last reviewed against the vendor’s documentation on 2026-09-22.

See also