Snapchat Ads
Connect Snapchat Ads to run campaigns, ad squads and ads, upload creative, build audiences, pull performance reports and send conversions.
An Organization Admin creates a free OAuth app in Snap Business Manager with PopMCP's redirect URI, enters its Client ID and Client secret in PopMCP, signs in with Snapchat and picks the ad account. Snap does not review the app.
- Setup time
- 4 min
- Auth
- OAuth authorization
- API base URL
- https://adsapi.snapchat.com/v1
- Rate limits
- An app averages 20 requests a second and each access token 10; past that Snap answers 429. Conversions API tokens are recommended up to 1000 requests a second, with up to 2000 events a request.
Before you begin
- A Snapchat login with a Snap Business account. You need the Organization Admin role to see OAuth Apps. Anyone else in the organization can connect once an admin shares the app's Client ID and secret, and they reach only what their own roles allow.
- An ad account in that organization. To read reports the login needs at least the Reports role on it. To change campaigns it needs General or Admin.
- PopMCP's redirect URI from the connect form: https://app.popmcp.com/api/providers/snapchat-ads/callback
Get your credentials
Open Business Details
Go to business.snapchat.com and sign in as an Organization Admin. Open Business Details. If you started in Ads Manager, the menu in the top corner has it too.
Business Details
- Name
- Northwind Studio
- Organization ID
- 40d6719b-da09-410b-9185-0cc9c0dfed1d
OAuth Apps appears on this page only for Organization Admins.
Create an OAuth app
Find OAuth Apps and create a new app. Name it PopMCP. In Snap Redirect URI paste https://app.popmcp.com/api/providers/snapchat-ads/callback. Accept the Snap Developer Terms and Snap Business Tools Terms, then create it. Snap reviews nothing, so it works straight away.
OAuth Apps
Copy the Client ID and Client secret
Snap now shows the Client ID and Client Secret. Copy both straight away: the secret is shown only this once. If you lose it, make a new app.
OAuth Apps
Connect in PopMCP and pick the ad account
In PopMCP open Snapchat Ads, enter the Client ID and Client secret, and click Sign in with Snapchat. Approve access on Snapchat's page with the login you use for Ads Manager. Back in PopMCP, pick the ad account: each connection is locked to the one you pick, and another ad account can go in its own workspace.
Allow PopMCP to access your Snapchat Ads?
PopMCP will be able to read and write the Snapchat marketing APIs and the Conversions APIs for what your login can access.
Connect in PopMCP
Open your workspace, choose Snapchat Ads in the marketplace, and fill in the connect dialog:
| Field | What to enter |
|---|---|
| Client IDtext | Only needed to use your own app. An Organization Admin opens business.snapchat.com, Business Details, finds OAuth Apps and creates an app: name it, paste the Redirect URI shown here, and accept the terms. Snap reviews nothing. Copy the Client ID and Client secret (the secret shows once). |
| Client secretsecret | Shown once when the app is made. Stored encrypted and used only on our server.Encrypted with AES-256-GCM on save and never shown again. |
| Conversions API tokensecret | Optional. A long-lived token from Business Details, Conversions API Tokens (an Organization Admin can generate one). Without it, conversions are sent with your sign-in.Encrypted with AES-256-GCM on save and never shown again. |
| Public Profile APItext | Only if Snap has allowlisted your app for the Public Profile API (ask your Snap contact): enter snapchat-profile-api. Otherwise leave it blank, or Snap refuses the sign-in. |
https://app.popmcp.com/api/providers/snapchat-ads/callbackPaste this as the Snap Redirect URI when you create the OAuth app in Business Details. It must match exactly.
PopMCP verifies the credential against Snapchat Ads immediately. On success the connection flips to Verified and its MCP tools are provisioned.
Permissions PopMCP requests
These are the scopes sent to Snapchat Ads at authorization time.
| Scope | Why PopMCP asks for it |
|---|---|
| snapchat-marketing-api | Reads and writes the Marketing API: campaigns, ad squads, ads, creatives, media, audiences, targeting, reporting, pixels, lead forms, catalogs, billing and members. Your Snap roles still decide what the login can do. |
| snapchat-offline-conversions-api | Sends and validates events through the Conversions API. Without it, or a Conversions API token under More options, snapchat_ads_send_conversion_events is refused. |
Verify it worked
PopMCP shows Snapchat Ads as Connected under your ad account's name, and snapchat_ads_get_performance_report returns its spend for the dates you ask about.
Troubleshooting
There is no OAuth Apps section on Business Details
Why: Only Organization Admins see it.
Fix: Ask an admin to make you one under **Members**, or to create the app and share its Client ID and secret with you.
Snapchat says the redirect URI does not match
Why: The **Snap Redirect URI** on the app differs from PopMCP's by a character.
Fix: Edit the app and set it to exactly `https://app.popmcp.com/api/providers/snapchat-ads/callback`, then connect again.
"Snapchat did not accept this app's Client ID and Client secret"
Why: A mistyped value, or a secret from another app.
Fix: Copy the Client ID again. If you no longer have the secret, create a new OAuth app, since Snap shows it only once.
The picker says the login has no ad accounts
Why: The login has no role on any ad account.
Fix: In Business Manager, ask an admin to give you a role under **Ad Accounts**, or create one, then connect again.
A tool answers 403
Why: The login's role does not allow it, or the area needs Snap's approval.
Fix: Reports need the Reports role and changes need General or Admin. Public Profile tools need Snap to allowlist the app, and marketing mix reports need Snap to enable them for your organization.
A tool says an id is not in the ad account this connection is locked to
Why: The id belongs to another ad account your login can see.
Fix: Use an id from this account's list tools, or connect the other ad account to its own workspace.
A report answers E9001 or says it is too large
Why: Snap limits how much a direct stats answer can hold.
Fix: Ask for fewer days or fields, or use async=true with the matching stats_report tool.