pinterest-ads

$npx mdskill add hyperfx-ai/marketing-skills/pinterest-ads

Plan and create Pinterest Ads campaigns with microcurrency budgets and conversion tags.

  • Solves campaign creation for Awareness, Consideration, Video View, Web Conversion, Catalog Sales, and Web Sessions.
  • Depends on Pinterest Ads API v5 via Hyper MCP and requires Hyper MCP installed and connected.
  • Uses strict microcurrency budgeting, CBO rules, audience management, and keyword targeting.
  • Delivers campaign analytics and ad group creation through direct REST calls with exact parameter types.

SKILL.md

.github/skills/pinterest-adsView on GitHub ↗
---
name: pinterest-ads
description: Plan and create Pinterest Ads campaigns through the Hyper MCP — Awareness, Consideration, Video View, Web Conversion, Catalog Sales, and Web Sessions objectives — with strict microcurrency budgeting, CBO rules, audience and customer-list management, conversion tag handling, keyword targeting, and campaign analytics. Use when the user mentions Pinterest ads, Pinterest campaign, Pinterest ad group, Pinterest audience, Pinterest conversion tracking, Pinterest tag, or Pinterest customer list.
requires_toolkits:
  - pinterest_ads
icon: pinterest_ads
short_description: Plan and create Pinterest Ads with microcurrency budgets and conversion tags.
---

# Pinterest Ads

Strategic skill for managing Pinterest Ads campaigns via the Pinterest Ads API v5 surface exposed by the Hyper MCP. Ad-group creation goes through a direct REST call (bypassing SDK model conversion) so parameter types must be sent exactly as documented — strings as strings, integers as integers.

## Out of scope — defer to other skills

| Request | Send them to |
| --- | --- |
| Google Ads campaign | `google-ads` |
| Meta (Facebook / Instagram) ad campaign | `meta-ads` |
| Amazon Sponsored Products | `amazon-ads` |
| TikTok ad campaign | `tiktok-ads` |
| Competitor ad research from the Meta Ads Library | `meta-ads-library` |
| Organic Pinterest pinning | not currently shipped — use the Pinterest app |

## Requirements

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

If `pinterest_ads_list_ad_accounts` is not in the tool list, stop and tell the user to enable the Hyper MCP and connect Pinterest Ads.

## Tool surface

| Tool group | Tools |
| --- | --- |
| Accounts | `pinterest_ads_list_ad_accounts`, `pinterest_ads_get_ad_account` |
| Campaigns | `pinterest_ads_list_campaigns`, `pinterest_ads_get_campaign`, `pinterest_ads_create_campaign`, `pinterest_ads_update_campaign` |
| Ad groups | `pinterest_ads_list_ad_groups`, `pinterest_ads_get_ad_group`, `pinterest_ads_create_ad_group`, `pinterest_ads_update_ad_group` |
| Ads | `pinterest_ads_list_ads`, `pinterest_ads_get_ad`, `pinterest_ads_create_ad`, `pinterest_ads_update_ad` |
| Audiences | `pinterest_ads_list_audiences`, `pinterest_ads_create_audience`, `pinterest_ads_create_customer_list` |
| Conversion | `pinterest_ads_list_conversion_tags`, `pinterest_ads_create_conversion_tag`, `pinterest_ads_send_conversion_event` |
| Keywords | `pinterest_ads_create_keyword` |
| Analytics | `pinterest_ads_get_campaign_analytics` |

## Critical Rules

> **CRITICAL**: All budgets and bids are in **microcurrency**. $1.00 = 1,000,000 microdollars. $50/day = 50,000,000. Never pass dollar amounts directly.

> **CRITICAL**: When using `is_flexible_daily_budgets: true`, you MUST also set `is_campaign_budget_optimization: true`. FDB requires CBO.

> **CRITICAL**: Lifetime CBO campaigns MUST include `end_time` (Unix timestamp).

> **CRITICAL**: Create campaigns with status `PAUSED` initially. Never launch live without user review.

> **CRITICAL**: WEB_CONVERSION ad groups MUST use `billable_event="IMPRESSION"` (NOT `CLICKTHROUGH`) and MUST include `optimization_goal_metadata` with `attribution_windows`, `conversion_event`, `conversion_tag_id`, and `cpa_goal_value_in_micro_currency`.

> **CRITICAL**: Keyword creation REQUIRES `match_type`. Without it, the API returns 500 errors.

> **CRITICAL**: CBO campaigns manage budget at the campaign level. Do NOT set `budget_in_micro_currency` on ad groups under CBO campaigns.

> **IMPORTANT**: `retention_days` is **deprecated** for ENGAGEMENT audiences. Omit it from audience rules.

## Core process

Discovery → audit account → research (objectives, audience, assets) → confirm strategy → create campaign (`PAUSED`) → create ad groups → create ads → review → activate only with user approval.

> **All reference files live in `references/`.** Read them at `references/<file>` (e.g. `references/discovery.md`).

## Routing table

| The user wants to… | Read these files first |
|---|---|
| Create a campaign (any objective) | [references/discovery.md](references/discovery.md) → [references/campaigns.md](references/campaigns.md) |
| Build a WEB_CONVERSION campaign | [references/discovery.md](references/discovery.md) → [references/campaigns.md](references/campaigns.md) (use the WEB_CONVERSION template exactly) + [references/audiences-and-conversions.md](references/audiences-and-conversions.md) for the conversion tag |
| Create or manage audiences / customer lists | [references/audiences-and-conversions.md](references/audiences-and-conversions.md) |
| Set up conversion tracking / send conversion events | [references/audiences-and-conversions.md](references/audiences-and-conversions.md) |
| Add keywords to an ad group | [references/keywords-and-analytics.md](references/keywords-and-analytics.md) |
| Pull campaign analytics | [references/keywords-and-analytics.md](references/keywords-and-analytics.md) |
| Update or pause existing campaigns / ad groups / ads | [references/keywords-and-analytics.md](references/keywords-and-analytics.md) |
| Goal not yet clear | [references/discovery.md](references/discovery.md) — discovery clarifies the goal |

## Known Limitations

| Issue | Workaround |
| --- | --- |
| Keyword creation returns 500 without `match_type` | Always specify `match_type` (`BROAD`, `PHRASE`, `EXACT`). |
| `retention_days` deprecated for ENGAGEMENT audiences | Omit from rule dict. |
| WEB_CONVERSION ad groups require many parameters | Use the WEB_CONVERSION template exactly — include full `optimization_goal_metadata`. |
| WEB_CONVERSION ad groups must use `IMPRESSION` `billable_event` | Do NOT use `CLICKTHROUGH` for WEB_CONVERSION. |
| CBO campaigns reject ad group budgets | Do NOT set `budget_in_micro_currency` when parent campaign has CBO enabled. |
| `cpa_goal_value_in_micro_currency` must be a string | Pass as `"5000000"`, not `5000000`. |
| `conversion_tag_id` must be a real tag from the account | List conversion tags first, then use an existing tag ID. |

## Safety Rules

**Never:**

- Assume Pin IDs or ad account IDs — always ask or look up.
- Skip the account audit phase.
- Create campaigns without explicit approval.
- Set campaigns to `ACTIVE` without user consent.
- Pass dollar amounts instead of microcurrency.
- Use `retention_days` for ENGAGEMENT audiences.
- Create WEB_CONVERSION ad groups without `optimization_goal_metadata`.
- Use `CLICKTHROUGH` `billable_event` for WEB_CONVERSION campaigns (use `IMPRESSION`).
- Set ad group budgets on CBO campaigns.
- Create keywords without specifying `match_type`.
- Pass `cpa_goal_value_in_micro_currency` as an integer (must be a string like `"5000000"`).
- Omit `conversion_tag_id` from WEB_CONVERSION optimization metadata (list tags first, use a real ID).

More from hyperfx-ai/marketing-skills

SkillDescription
ad-creative-generationGenerate on-brand ad creatives — visuals + copy — for Google, Meta (Facebook / Instagram), and other paid platforms via the Hyper MCP. Extracts brand identity from a website, writes ad copy variants, and produces brand-consistent images using reference-based image generation. Use when the user asks for ad creative, ad copy variants, RSA headlines, Meta ad creative, display ads, carousel ads, or A/B test variants.
amazon-adsPlan and create Amazon Sponsored Products campaigns end-to-end via the Hyper MCP. Use when the user wants to launch Amazon Ads, set up Sponsored Products, manage keyword targeting and bids, configure ASIN or category product targeting, add negative keywords, automate budget rules, analyze ACoS / ROAS, or generate Sponsored Products reports. Also triggers on amazon ppc, amazon campaign, amazon keywords, or amazon report.
blog-generationGenerate one excellent, on-brand blog post per run for any business, built to rank on Google and get cited by AI search (ChatGPT, Claude, Perplexity, AI Overviews). A stateful engine: reads a brand strategy doc, picks a fresh topic (never repeats), researches, writes in the brand's voice, and logs the post back. Use when the user wants to write a blog post, run a daily or recurring blog task, or generate SEO / AEO / blog content. For keyword data and audits, defer to seo-research.
brand-contextCreate and maintain a single brand-context.md — positioning, audience, personas, pain points, customer language, voice, proof points — that every other marketing skill reads before asking the user to re-explain their business. Auto-drafts from the brand's site via Firecrawl, or builds the doc through a short interview. Use when the user wants to set up brand context, onboard a new brand, define positioning / brand voice / ICP, or complains about re-answering the same brand questions.
email-lifecyclePlan, build, and run lifecycle email programs through the Hyper MCP — welcome / onboarding, nurture, re-engagement, win-back, and abandoned-cart sequences across whichever provider fits (Klaviyo for ecommerce, Resend for SaaS / dev tools, Beehiiv for newsletters, Gmail for low-volume ops). Use when the user wants to build an email sequence, set up a welcome flow, recover lapsed users, send a broadcast, manage a list / audience / segment, or asks about lifecycle / drip / nurture campaigns.
hyper-cliUse the Hyper CLI to run Hyper marketing skills from a terminal. Use when the user wants to use `hyperai`, inspect live tool schemas, translate MCP tool names from a skill into CLI commands, switch connected accounts, or run marketing tools outside an MCP-native agent host.
instagramManage Instagram professional accounts via the Hyper MCP — publish photos, Reels, Stories, and carousels; moderate comments and mentions; send Direct Messages; pull account and media insights. Uses the Instagram API with Instagram Login (Business Login). Use when the user mentions Instagram posts, Reels, Stories, carousels, IG DMs, Instagram comments, mentions, profile, or analytics. For paid Instagram advertising, use `meta-ads`.
meta-ads-libraryResearch competitor Facebook and Instagram ads from the Meta Ads Library via the Hyper MCP — search by keyword, pull full ad creative and metadata, enrich with page contact info for lead generation, and surface structured ad-intelligence summaries in chat. Use when the user wants to scrape the Meta Ads Library, spy on competitor ads, monitor new ads in a category, build a lead list from advertisers, or surface creative trends across an industry.
openai-adsPlan and manage OpenAI Ads (ChatGPT ads) campaigns end-to-end via the Hyper MCP — API-key auth, account discovery, geo targeting, image upload, chat_card and product-feed creatives, custom audiences, conversion tracking, status flow, and insights, with integer-micros money values. Use when the user wants to launch OpenAI ads, ChatGPT ads, chat card ads, manage OpenAI ad groups or audiences, or pull OpenAI Ads insights.
seo-researchData-driven SEO research and analysis through the Hyper MCP — keyword research, competitor analysis, content planning, AI search visibility (ChatGPT, Claude, Perplexity, Google AI Overviews), backlink trends, search intent classification, page speed / Core Web Vitals, and full site audits. Use when the user asks for an SEO audit, keyword research, content strategy, competitor benchmarks, brand visibility in AI search, ranking history, or any organic search analysis.