Skip to main content

Collections

Every collection keys on id and syncs in full on each run, so changes made in Snapchat overwrite the matching row in your destination. Objects deleted in Snapchat are not removed from the destination.

Setting up Snapchat for ELT & CDC

Overview

ELT & CDC uses the Marketing API provided by Snapchat to sync the data.

Snapchat Marketing API Reference

Requirements

  • An OAuth app created in Snap Business Manager, under Business Details → OAuth Apps. The Organization Admin role is required to open that dashboard.
  • The Client ID and Client Secret belonging to that app.
Snapchat does not offer a shared connector app, so each Integrate.io source authorizes through an OAuth app that you create and own.

Setup Steps

1

Create an OAuth app in Snap Business Manager

In Snap Business Manager, open Business Details → OAuth Apps and create an OAuth app. You must be an Organization Admin to see this section.
2

Set the redirect URI

Set the app’s redirect URI to:
3

Copy the client ID and client secret

Copy the client_id and client_secret the app shows you. Snapchat reveals the secret only once, at the moment the app is created. If you lose it, you have to generate a new one.
4

Enter the credentials in Integrate.io

In Integrate.io, go to the ELT & CDC Sources page, select Snapchat, and enter the Client id and Client Secret. The Client Secret is required: it is used to exchange the authorization code and to refresh the access token on every sync.
5

Authorize

Continue to authorize. A Snapchat window opens and asks you to grant access. Approving it returns a refresh token that Integrate.io stores with the source.
6

Choose collections and a destination

Select the collections you want to replicate, pick a destination warehouse, and start the initial sync.

Requested scopes

Authorization requests the following Snapchat scopes:
  • snapchat-marketing-api
  • snapchat-offline-conversions-api
  • snapchat-profile-api

Limitations

  • No incremental sync: Snapchat collections are read in full on every run. There is no replication key, so sync time scales with the size of your ad accounts rather than with the number of recent changes.
  • Deletes are not propagated: objects removed in Snapchat stay in the destination. Filter on the status fields in your warehouse if you need to exclude them.
  • Rate limits: requests are capped at 5 concurrent calls with at least one second between calls, which lengthens the initial sync for organizations with many ad accounts.
  • Access follows the authorizing user: the connector only sees the organizations and ad accounts that the account you authorized with can access. Missing collections are usually a permissions gap in Snap Business Manager rather than a pipeline error.

FAQ

Q: Can I use an Integrate.io-provided Snapchat app instead of creating my own? No. Snapchat requires each integration to authorize through an OAuth app registered in your own Snap Business Manager organization, so you supply the Client ID and Client Secret. Q: I lost the client secret. What now? Snapchat shows the secret only once. Generate a new OAuth app (or a new secret, where Snap Business Manager offers it), then update the source in Integrate.io with the new values and reauthorize. Q: Authorization fails with a redirect URI error. What should I check? The redirect URI registered in your Snap OAuth app has to be https://console.flydata.app. Q: Why do I need Organization Admin in Snap Business Manager? The Business Details → OAuth Apps section is only visible to Organization Admins. Without that role you cannot create the app or read its credentials.

What is ELT & CDC

Hooks

Initial Sync Process

Data Type Mapping

Last modified on September 14, 2026