# Snapchat Ads MCP

> Snapchat Ads MCP Server gives your AI agent direct control over your Snapchat ad accounts. Manage campaigns, create custom audiences, pull performance metrics like ROAS and impressions, and adjust spend without ever opening the Ads Manager dashboard.

## Overview
- **Category:** money-moves
- **Price:** Free
- **Tags:** ad-campaigns, performance-marketing, audience-targeting, conversion-tracking, social-media-ads

## Description

**Snapchat Ads MCP Server** gives your AI agent direct control over your Snapchat ad accounts. You'll manage campaigns, pull performance metrics like ROAS and impressions, and adjust spend without ever having to open the actual Ads Manager dashboard. This tool lets you run your entire advertising process conversationally.

When you connect it, your AI client gains instant access to deep account functions. You can start with a high-level business overview by using `get_account_stats`; this pulls overall statistics for the whole ad account, giving you total spend figures, impressions count, and the current ROAS number in one go.

For detailed info on the account itself—like its unique ID or current status—you run `get_ad_account`. To get a full inventory of what's running, call `list_campaigns`, which provides you with a roster of every single campaign and their corresponding IDs. You can then pinpoint exactly what needs fixing by using `list_adsquads` to list all existing ad squads.

Campaign management is straightforward. If a campaign tanks, use `pause_campaign` immediately; this stops the asset from running ads and halts all spend. When things look good again, you reactivate it with `enable_campaign`, putting it back into the live ad rotation. You can drill down into performance metrics for one specific campaign using `get_campaign_stats`; that call retrieves deep data points like swipe-ups or conversions to let you know if it's hitting its targets.

If you need to check creative status or copy across an entire group, you run `list_ads`, which generates a list of all active ads within an ad group. You can pair this with the campaign roster from `list_campaigns` and the grouping data from `list_adsquads` to narrow down exactly where adjustments are needed.

## Tools

### enable_campaign
Activates a campaign that is currently paused, putting it back into the live ad rotation.

### get_account_stats
Pulls overall statistics for the entire ad account, giving total spend, impressions, and ROAS figures.

### get_ad_account
Fetches detailed information about a specific ad account, including its ID and current status.

### get_campaign_stats
Retrieves deep performance metrics for one campaign, such as swipe-ups or conversions.

### list_ads
Generates a list of all active ads within an ad group so you can check creative status or copy.

### list_adsquads
Lists all existing ad squads, helping you quickly locate the grouping that needs budget review.

### list_campaigns
Provides a roster of every campaign in the account, giving you their status and IDs for reference.

### pause_campaign
Immediately stops a specified campaign from running ads, halting all spend on that asset.

## Prompt Examples

**Prompt:** 
```
How are my Snapchat campaigns performing this week?
```

**Response:** 
```
This week: Total spend: $1,850. Impressions: 820K. Swipe-ups: 3,400. Swipe-up rate: 0.41%. eCPSU: $0.54. Conversions: 89. ROAS: 3.1x. Top: 'Back to School Story' (1.8x ROAS).
```

**Prompt:** 
```
Create a lookalike audience based on my best customers.
```

**Response:** 
```
Lookalike audience created: 'Top Customers Lookalike' based on 2,400 seed users. Estimated reach: 1.2M users in US (18-34). Ready to assign to campaigns.
```

**Prompt:** 
```
Pause any ad squads with spend over $500 and ROAS below 1.5x.
```

**Response:** 
```
Found 2 ad squads matching criteria. Paused: 'Broad Awareness 18-24' ($620 spend, 0.9x ROAS) and 'Interest - Gaming' ($540 spend, 1.2x ROAS). Estimated daily savings: ~$165.
```

## Capabilities

### Get Account Health Check
Runs `get_account_stats` to pull high-level metrics like total spend, impressions, and overall ROAS for a quick business overview.

### Manage Campaign Status
Use `pause_campaign` or `enable_campaign` to instantly change the live state of an entire advertising campaign based on performance checks.

### List Ad Assets and Groups
Retrieves structured lists of all current campaigns (`list_campaigns`) and ad squads (`list_adsquads`), allowing you to pinpoint exactly what needs adjusting.

### Analyze Campaign Performance
Calls `get_campaign_stats` to get deep performance metrics (like eCPSU) for a single campaign, letting you know if it's hitting its targets.

### Find Specific Ads and Groups
You can list all active ads (`list_ads`) or fetch detailed ad account information using `get_ad_account`, narrowing down the scope for fixes.

## Use Cases

### Budget Overrun Detection
The account manager noticed spend was spiking but performance metrics were flat. They asked the agent: 'Find all ad squads spending over $500 with ROAS below 1.5x.' The agent ran `list_adsquads` and then automatically called `pause_campaign` on the two worst performers, saving immediate cash flow.

### Pre-launch Audit
A new campaign is ready to launch but needs a final check. The marketer asks the agent: 'List all campaigns and ad squads.' This allows them to use `list_campaigns` first, verifying every single asset ID exists before manually enabling it with `enable_campaign`.

### Mid-day Performance Deep Dive
A D2C brand owner needs to know why a specific creative is failing. They prompt the agent: 'Run `get_campaign_stats` for Campaign X.' The agent pulls metrics showing low swipe-ups, leading the user to realize they need better visual assets.

### Quick Account Status Check
A team member just needs a quick status update. They ask: 'How are we doing this week?' The agent executes `get_account_stats` and delivers the total spend, impressions, and current ROAS in one conversational reply.

## Benefits

- See your total account health with `get_account_stats`. You pull macro metrics like ROAS and total spend in a single query, eliminating the need to check multiple summary dashboards.
- Stop wasting money by calling `pause_campaign` immediately when performance tanks. Your agent finds underperforming campaigns using `list_campaigns` and executes the pause command instantly.
- Know exactly what you're managing. Use `list_adsquads` and `list_campaigns` to get a full, structured inventory of every ad group and campaign ID before running any reports or making changes.
- Pinpoint performance issues deep down with `get_campaign_stats`. You retrieve granular data like swipe-up rates and eCPSU for targeted optimization that general reporting misses.
- Streamline audience work by managing lookalike audiences via the chat interface. Your agent handles the creation process, so you don't have to switch tabs or remember specific portal steps.

## How It Works

The bottom line is, you manage complex ad spend and performance by talking to an agent instead of clicking through multiple dashboards.

1. First, ask your agent to run `get_account_stats` to establish a macro view of total spending and overall ROAS.
2. Next, if you spot an issue (e.g., low performance in one area), prompt the agent to use `list_campaigns` or `list_adsquads` to find the specific failing asset.
3. Finally, instruct your AI client to execute a corrective action, such as calling `pause_campaign`, directly from the conversation.

## Frequently Asked Questions

**How do I get my Snapchat Ads API credentials?**
1. Go to **kit.snapchat.com** and log in with your Snapchat account.
2. Click **Manage Apps** → **Create App** (or **New App**).
3. Choose **Marketing API** as your app category.
4. Fill in the app name and redirect URI.
5. After creation, copy your **Client ID** and **Client Secret** from the app settings.
6. Authorize your ad account to generate an **Access Token** and **Refresh Token**.
7. Paste all values below.

💡 You need an active **Snapchat Ads Manager** account at [ads.snapchat.com](https://ads.snapchat.com).

**Can I track AR lens performance?**
Yes. Your AI agent can pull AR lens metrics including scans, shares, play time, and conversion events — helping you optimize sponsored lens campaigns.

**What audience demographics can I target?**
Snapchat Ads supports age, gender, location, language, device, OS, interests, behaviors, custom audiences, lookalikes, and Snap Lifestyle Categories — with a focus on 13-34 year olds who are 75% of the platform.

**Can I manage multiple ad accounts?**
Yes. Snapchat Ads supports organization-level and ad account-level access. Your AI agent can switch between accounts using their IDs.

**When I use `get_campaign_stats`, what specific metrics are returned?**
The tool returns key performance indicators, including total spend, impressions, swipe-ups, and ROAS. It structures this data so your AI client can instantly calculate efficiency metrics like eCPSU.

**If I run `pause_campaign` on an already inactive campaign, what happens?**
The system handles redundant calls gracefully. Instead of throwing an error, the agent confirms the current status and reports that no action was taken, keeping your workflow clean.

**How does the platform manage rate limits when listing many assets with `list_adsquads`?**
The Vinkius MCP server manages API call throttling automatically. It batches requests and pauses briefly between tool calls to prevent hitting Snapchat's usage caps, ensuring uninterrupted data flow.

**What permissions must I ensure my AI client has before running `enable_campaign`?**
Your AI client needs write access for campaign creation. You must verify that the connected ad account has active billing methods and sufficient budget allocated to enable any new campaigns.