Skip to main content
The Snapchat Connector API lets an unattended integration deliver customer lists to Snapchat and send conversion events to a Snap Pixel through Snapchat’s Conversions API. A person signs in once to create an API key and once to connect your Snapchat organization, and the integration works from the API key after that. Complete the prerequisites and set up API access on this page before you follow either guide.

Choose a guide

Customer list delivery

Upload hashed identifiers and deliver them into a new customer list in one ad account.

Conversion events

Send offline conversion events to a Snap Pixel through the Conversions API, starting in test mode.

Prerequisites

What you need depends on the guide you follow:

API key

Create the key under Settings → API Keys with read and write on datasets and connections, write on uploads, and read on installations. Add read and write on webhooks if you want delivery notifications. See API Keys for the procedure and the Permissions Reference for what each resource covers. Create it from a shared team account rather than a personal login, so the integration keeps working when someone changes roles.

Snapchat Connector installed

The Snapchat Connector is app 22. Find your installation of it:
Record the installation ID. If no record has "app_id": 22, install the Snapchat Connector from the Narrative Marketplace.

A connected Snapchat profile

A connector profile holds the Snapchat authorization that every delivery uses. You create it once per Snapchat organization, in the Narrative UI:
1

Open the connector

In Narrative, go to Installed Apps and select Snapchat Connector.
2

Create a profile

In the Profiles tab, choose New Profile. Enter a name and your Snapchat Organization ID, which is under Business Details in Snapchat Business Manager.
3

Connect to Snapchat

Choose Connect to Snapchat, sign in to Snapchat in the window that opens, and approve the access request.
Narrative then loads the ad accounts in that organization into the profile as advertisers. Every request in these guides uses the profile ID, and Find your profile shows how to look it up.

A Snap Pixel ID

Conversion events go to a Snap Pixel that your Snapchat organization owns. Copy the Pixel ID from Events Manager in Snapchat Ads Manager.

Set up API access

The guides talk to two hosts, and each takes its own credential:

Get an installation token

The Snapchat connector authenticates requests with an installation token, which you get by exchanging your API key. Use the installation ID from Snapchat Connector installed:
Store access_token as $INSTALLATION_TOKEN. It lasts about three hours, so request a new one at the start of each run of your integration. Confirm that both hosts answer:
Send the API key to api.narrative.io and the installation token to snapchat.narrativeconnectors.com.
API keys contain characters that shells mangle. Read the key from a file or an environment variable rather than pasting it inline.

Find your profile

GET /profiles lists every Snapchat profile in your company. To read one:
Use a profile whose status is enabled. Record its id.

Check the profile’s Snapchat authorization

A request_status of SUCCESS means the profile is connected and ready to deliver. The me object shows the Snapchat user who approved access.

List your advertisers

Advertisers are the Snapchat ad accounts the profile can deliver to:
To read one advertiser:
When you add an ad account in Snapchat after connecting the profile, reload the profile’s advertisers:
The response lists every advertiser on the profile after the reload.

What the connection does

A connection’s quick_settings pick the interface and set how the connection delivers. The fields depend on the interface.

Customer list (audience)

The connector creates a new customer list in Snapchat when you create the connection.

Conversion events (conversion_events)

Each event names its pixel in snapchat_conversion_event.snapchat_pixel_id, so the connection has no pixel setting. The connection sends events whose event_time falls within the last 62 days and no more than 10 minutes in the future.

Existing and new rows

A connection delivers every snapshot written to the dataset after the connection is created. The historical_data_enabled quick setting decides whether the connection also delivers data that was already in the dataset when you created it:
  • With historical_data_enabled set to true, the connection first delivers data already in the dataset, then keeps delivering new snapshots as they land.
  • With historical_data_enabled set to false, the connection delivers only snapshots written after it was created.
How far back the first delivery reaches depends on the connector, and each connector’s guide states it. For Snapchat, historical_data_enabled delivers the dataset’s snapshots from the 30 days before the connection was created. After that, each new snapshot is delivered as it lands. A customer list connection adds users and never removes them. A user leaves the list when its retention runs out. When you overwrite the dataset, the connection adds the rows in the new snapshot, and users missing from it stay in the list until their retention ends. A conversion connection sends each event in each snapshot it delivers. Uploading the same events again in a new snapshot sends them again.

Delivery notifications

The Snapchat Connector reports each delivery as an app webhook event. Subscribe a webhook to app 22 to receive them:
Keep the secret to verify each delivery. The connector sends these events: Read a subscription with GET /webhooks/{webhook_id}. To stop the notifications, delete the subscription with DELETE /webhooks/{webhook_id}. See App subscription for the subscription fields and Verifying deliveries for checking the secret.

Snapchat Connector

Supported identifiers and audience retention

Connector Interfaces

Why a dataset connects to an interface rather than a connector

Webhook Event Reference

Subscription fields, delivery payloads, and verification

API Keys

Create and rotate keys for programmatic access