Skip to content
Marketing
Skill

/snapchat-ads

Plan and create Snapchat Ads campaigns end-to-end via the Hyper MCP — campaign, ad squad, ad build order with media upload, creatives, targeting, Snap Pixel conversion tracking, and sync / async reporting, using micro-currency budgets and JSON-Patch partial updates. Use when the

From plugin
hyper-marketing
10830 skills1 MCP

Claude Code

$ npx -y skills add hyperfx-ai/marketing-skills --skill snapchat-ads --agent claude-code

SKILL.md

snapchat-ads.SKILL.md
name: snapchat-ads
description: Plan and create Snapchat Ads campaigns end-to-end via the Hyper MCP — campaign, ad squad, ad build order with media upload, creatives, targeting, Snap Pixel conversion tracking, and sync / async reporting, using micro-currency budgets and JSON-Patch partial updates. Use when the user wants to launch Snapchat ads, build ad squads, upload Snap creatives, set up Snap Pixel tracking, or analyze Snapchat ad performance. Also triggers on snap ads, snapchat campaign, or snapchat ads manager.
requires_toolkits:
  - snapchat_ads
icon: snapchat_ads
short_description: Plan and create Snapchat Ads with ad squads, creatives, Snap Pixel, and reporting.

Snapchat Ads Campaigns

Strategic guide for managing Snapchat advertising via the Snapchat Marketing API v1. The toolkit is a raw-HTTP client, so parameter types must be sent exactly as documented — strings as strings, integers as integers, and all money in **micro-currency**.

Requirements

  • **Hyper MCP installed and connected.** [https://app.hyperfx.ai/mcp](https://app.hyperfx.ai/mcp)
  • **Snapchat Ads integration connected** (a Snap Business account with ad account access) at [https://app.hyperfx.ai/apps](https://app.hyperfx.ai/apps).

If `snapchat_ads_list_organizations` is not found, the integration to connect is Snapchat Ads. Creating ad squads or serving ads also requires an **active funding source** on the ad account — campaigns, media, and creatives can be created without one.

How to run the tools in this skill

Every tool in this skill is named by its canonical tool name. Run it with the call your surface gives you:

| Surface | Find a tool | Run it | | --- | --- | --- | | Hyper chat | Call the tool by its name; `search_tools(queries=["<provider> <action>"])` shows its parameters | `<name>(...)` | | MCP client (Claude, Cursor, Codex, ChatGPT) | `search("<what you want to do>")`, then `describe("<name>")` | `call_read("<name>", {...})`, `call_write` or `call_destructive`: the one that `describe` names in `call_with` | | Hyper CLI | `hyperai search "<what you want to do>"`, then `hyperai describe <name>` | `hyperai call <name> --json '{...}'` |

If a tool is not found: in Hyper chat, find its toolkit id with `discover_toolkits` and pass it to `enable_toolkit`. On an MCP client or the CLI, tell the user which integration to connect in Hyper.

Out of scope — defer to other skills

  • **Creative generation** (ad copy, images, video) → [`ad-creative-generation`](../ad-creative-generation) / [`video-generation`](../video-generation).
  • **Cross-platform campaign launches** → use this skill for Snapchat, then invoke `meta-ads` / `tiktok-ads` separately.

Critical Rules

> **CRITICAL**: All budgets and bids are in **micro-currency**. $1.00 = 1,000,000 micros. $50/day = `50000000`. Never pass dollar amounts directly. Minimum campaign daily budget / lifetime spend cap is **$20** (`20000000`).

> **CRITICAL**: Create campaigns, ad squads, and ads with `status="PAUSED"`. Never launch live without explicit user review. Because everything defaults to PAUSED, you can build a full campaign and delete it without spending — ideal for demos.

> **CRITICAL**: Updates are **JSON-Patch partial updates** — pass only the fields you want to change, parented on the PARENT entity. `snapchat_ads_update_campaign` needs `ad_account_id`; `snapchat_ads_update_ad_squad` needs `campaign_id` (NOT ad_account_id); `snapchat_ads_update_ad` needs `ad_squad_id`.

> **CRITICAL**: Account-level stats (`entity_type="adaccounts"`) only support `fields="spend"`. For impressions / swipes / conversions, query at the **campaign, adsquad, ad, creative, or media** level.

> **CRITICAL**: There is **no `time_range` preset** (e.g. `LAST_30_DAYS` does not exist). Pass `start_time` and `end_time` (ISO 8601). Omitting both returns **lifetime** totals, not a recent window.

> **CRITICAL**: Ad squad `billing_event` is always `IMPRESSION`. `bid_micro` is required for `bid_strategy="LOWEST_COST_WITH_MAX_BID"` and `"TARGET_COST"`; omit it for `"AUTO_BID"`.

> **IMPORTANT**: Creating an ad squad requires an active **funding source** on the ad account. If the account is PENDING / unfunded, ad squad creation fails — that is a billing state, not a bug.

> **IMPORTANT**: Creatives require `top_snap_media_id` (an uploaded media id) and a `headline` (≤ 34 chars). `brand_name` is ≤ 32 chars.

> **IMPORTANT**: For `LOWEST_COST_WITH_MAX_BID` / `TARGET_COST`, don't guess `bid_micro` — get Snapchat's suggested range with `snapchat_ads_get_bid_estimate` (by targeting spec before building, or by ad_squad_id after). Size the audience the same way with `snapchat_ads_get_audience_size` before creating anything.

> **IMPORTANT** (customer lists): `snapchat_ads_add_segment_users` requires identifiers that are **already normalized and SHA-256 hashed** (emails trimmed + lowercased before hashing; phones digits-with-country-code; mobile ad IDs lowercase with hyphens). One schema type per call (`EMAIL_SHA256`, `PHONE_SHA256`, `MOBILE_AD_ID_SHA256`), max 100,000 ids. Never send raw PII. Matching is asynchronous — segment size updates after processing.

Tool surface

| Group | Tools | | --- | --- | | Org & accounts | `snapchat_ads_list_organizations`, `snapchat_ads_list_ad_accounts`, `snapchat_ads_get_ad_account` | | Campaigns | `snapchat_ads_list_campaigns`, `snapchat_ads_get_campaign`, `snapchat_ads_create_campaign`, `snapchat_ads_update_campaign`, `snapchat_ads_delete_campaign` | | Ad squads | `snapchat_ads_list_ad_squads`, `snapchat_ads_get_ad_squad`, `snapchat_ads_create_ad_squad`, `snapchat_ads_update_ad_squad`, `snapchat_ads_delete_ad_squad`, `snapchat_ads_estimate_ad_squad_outcomes` | | Ads | `snapchat_ads_list_ads`, `snapchat_ads_get_ad`, `snapchat_ads_create_ad`, `snapchat_ads_update_ad`, `snapchat_ads_delete_ad` | | Creatives | `snapchat_ads_list_creatives`, `snapchat_ads_get_creative`, `snapchat_ads_create_creative` | | Media | `snapchat_ads_list_media`, `sna

Read more
@hyperfx-ai
Ships withhyper-marketing

Agent Skills for marketing — paid ads, social media, SEO, AI search, competitor research, ad creative generation, email lifecycle, analytics, operations, and more.

10830 skills1 MCP
Get the whole plugin

Stars on GitHub

Momentum

stars in total
108
Star history of hyperfx-ai/marketing-skills on GitHub, a chart by star-history.com

Other skills on hyper-marketing.

amazon-ads

amazon-ads

Plan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads,…

brand-context

brand-context

Create and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof…

More skills from other plugins.

seo

seo

Comprehensive SEO analysis for any website or business type. Full site audits, single-page analysis, technical SEO (crawlability,…

@agricidaniel@agricidanielInstall Skill
brag

brag

Turn the current project website into a short, polished, shareable launch video using Hyperframes. Use when someone says "/brag",…

brag2w21k
@latent-spaces@latent-spacesInstall Skill
geo-audit

geo-audit

Full website GEO+SEO audit with parallel subagent delegation. Orchestrates a comprehensive Generative Engine Optimization audit…

Questions about snapchat-ads.

Which coding agents can use snapchat-ads?
snapchat-ads installs in Claude Code, Codex, Cursor, Gemini CLI, GitHub Copilot, OpenCode and Windsurf with the skills CLI, using each agent's flag shown on this page. Flowy's auto-invocation, which fires a skill when your prompt matches, runs in Claude Code only.