Porter Metrics++
boltMeta Ads + AI Tutorial · 2026

5 ways to connect Meta Ads to Claude in 2026 (without getting banned)

Learn to connect Meta Ads to Claude via MCP, explore alternatives like Google Sheets and BigQuery, and avoid the mistakes that get ad accounts banned.

rocket_launchUse Porter for free14-day unlimited free trial. After that, keep unlimited queries for up to 3 ad accounts and 30 days of historical data — no credit card required.
Juan Bello

Juan Bello

Founder, Porter Metrics · April 20, 2026 · 12 min read

Connect Meta Ads to Claude in 5 ways without getting banned — Porter Metrics 2026 tutorial
boltTL;DR

To connect Meta Ads to Claude via MCP: copy mcp.portermetrics.com/mcp, go to Claude.ai, open Connectors → Manage connectors → Add custom connector, paste the URL, and sign in. From there, ask Claude anything about your Meta Ads campaigns in plain English.

Once connected, you can automate your Meta Ads reporting and analysis — ask questions about your data, build dashboards, trigger alerts, or ship client-ready reports like the one below.

Meta Ads client dashboard built with Claude and Porter MCP showing campaign performance, ROAS, CPA and creative breakdown
Example Meta Ads client dashboard generated in Claude using live data from Porter MCP.
download Download the .pptx template content_copy Copy the prompt (.txt)

Prerequisites

  • A Porter Metrics account with your Meta Ads account connected (free tier is enough to try it end-to-end)
  • A Claude account — the free plan works for Claude Web; a Pro subscription is needed for Claude Code and Desktop MCP features
  • Admin or standard access to the Meta Ads account(s) you want to connect

Connect Meta Ads to Claude with MCP

For this tutorial we’re going with the MCP method. Here’s a quick explainer of what MCP is and why it’s the best path for Meta Ads.

MCP (Model Context Protocol) is the open standard that lets AI tools like Claude, ChatGPT, Claude Code and others access and use external APIs — the things that make tools like Meta Ads work under the hood. Instead of building a custom integration for every AI tool you use, you install one MCP and every compatible AI gets access to the same data.

Four reasons MCP wins for Meta Ads:

content_paste
Copy-paste setup
No tokens, no scripts, no developer help — literally paste one URL into Claude and you’re done.
hub
Works with every AI tool
Claude, Claude Code, ChatGPT, Cursor, Antigravity, Lovable, Vercel v0, Zapier. One MCP URL, every tool that speaks the protocol.
merge_type
20+ sources in one connection
Porter’s MCP ships Meta Ads plus Google Ads, GA4, Shopify, HubSpot, Klaviyo, Google Sheets and 20+ more. Query and blend them all in a single conversation.
tune
Perfect granularity
Spreadsheets lock you into the columns you exported. MCP hits Meta’s API directly — so you can filter by campaign, break down by creative or placement, and add new dimensions on the fly without rebuilding tables.

The full setup takes under 5 minutes and breaks into three moves: connect Meta Ads to Porter, point Claude at the Porter MCP, and ask your first question.

1. Connect your Meta Ads data to Porter

Porter sits between Meta’s Marketing API and Claude. It handles OAuth, rate limiting, pagination and all the plumbing so Claude only ever sees clean, structured data.

Sign up for Porter. Create a free account at portermetrics.com. The free tier is enough to run this full workflow end-to-end.
Connect your Facebook profile. In Porter, click Create → pick Claude as the destination → select Meta Ads as the source → sign in with Facebook to grant access to your ad accounts.
Connect and authorize your Facebook profile in Porter
We recommend selecting access to both current and future Business Managers and Meta ad accounts. This prevents the need to repeatedly re-authorize your Facebook profile later. Your Facebook profile email can be different from the Google account you use to sign in to Porter.
Select your ad accounts. Choose the Meta ad accounts you want Claude to query. When you select multiple accounts under a single connection, Porter automatically blends their data together so you can query them as one.
Select your Meta Ads ad accounts in Porter
Optional: enable automatic BigQuery storage if you’re connecting multiple accounts with large data volumes. This keeps Claude’s responses fast even at scale.

2. Connect the MCP to Claude

Porter’s MCP URL is what you paste into Claude. Once added, Claude can query Meta Ads data on demand in any conversation.

Go to claude.ai and click the + icon in the chat input to open the tools menu.
Click the + icon in the Claude chat input
In the menu that opens, hover over Connectors and click Manage connectors.
Hover Connectors and click Manage connectors
In the Connectors panel, click the + button at the top of the list to start adding a new connector.
Click + at the top of the Connectors panel
Pick Add custom connector from the dropdown that appears.
Select Add custom connector from the dropdown
A dialog opens with the name and URL fields. Type Porter in the first field to name the connector.
Type Porter in the connector name field
In the second field, paste https://mcp.portermetrics.com/mcp. Leave the advanced settings alone.
Paste the Porter MCP URL into the Remote MCP server field
Click Add at the bottom right of the dialog. Claude opens a sign-in window — use the same Google account linked to your Porter workspace and approve access.
Click Add on the custom connector dialog
Once the authorization finishes, you’ll see Porter’s read-only tools appear in the connectors panel. You’re ready to start asking questions.
Porter read-only tools visible in the Claude connectors panel

For a fuller walkthrough with screenshots at every step, see the Porter MCP tutorial.

3. Start building questions and dashboards

With Porter connected, open a new Claude chat and ask anything about your Meta Ads in plain English. Claude calls Porter behind the scenes, pulls live data from Meta, and answers with tables, charts, or summaries.

Try one of these to verify the setup is working:

chat_bubble“What were my best-performing Meta Ads campaigns last week, ranked by ROAS?”
chat_bubble“Build me a quick dashboard of Meta Ads performance for the last 30 days: spend, CPA, ROAS, and conversions by campaign.”
chat_bubble“Draft a weekly performance summary I can send to my client, using last week’s Meta Ads numbers.”

For a full catalogue of copy-paste prompts organized by use case (performance, fatigue, budget, agency, B2B, e-commerce, cross-channel), jump to the prompts section below.

Alternative ways to connect Meta Ads to Claude

Porter MCP is the path we just walked through — and the one we recommend for most marketers running multi-channel campaigns. But it’s not the only way to get Meta Ads data in front of Claude. The other four routes are Meta’s own official AI connector (the new native integration Meta launched in 2026), a live Google Sheets bridge or one-off CSV upload, BigQuery for scale, and Meta’s own agentic stack through Manus AI. Each has its trade-offs — pick the one that fits how your team already works.

verified
Meta’s official MCP
Meta’s native AI connector for Claude. Best for Meta-only traffickers. Limited rollout in 2026 — many ad accounts don’t have access yet.
table_chart
Google Sheets
Live Sheet or one-off CSV upload. Auditable, familiar, faster for big exports — but aggregation happens in the Sheet, not the API.
database
Google BigQuery
For large accounts or agencies running multi-account analysis. BigQuery aggregates; Claude only queries pre-built summaries.
smart_toy
Manus AI
Not a direct Claude connection. Manus is Meta’s agentic platform (acquired Dec 2025) that runs on Meta’s own models.

Via Meta’s official AI connector (Meta Ads MCP)

In 2026, Meta launched its own “Manage Ads from an AI Agent” connector — Meta’s native MCP for Meta Ads. You add it inside Claude as a custom connector, paste the official Meta MCP URL (published in Meta’s Business Help Center), authorize your Facebook profile, and Claude can now talk to your ad accounts directly through Meta itself. According to Meta’s own documentation, this connector unlocks reports, campaign management (creating and editing campaigns, ad sets and ads), product catalog management, and account health diagnosis — all without going through a third-party platform.

Watch: how to connect Meta Ads to Claude using Meta’s official MCP, step by step.

The trade-off to know. The big upside is that this is the most “official” path possible — it’s Meta talking to Claude through Meta’s own infrastructure, so the ban-risk concerns from the safety section above largely disappear for Meta Ads work. The big downside, as of mid-2026, is access: Meta’s official MCP is not yet rolled out to all ad accounts. In our own testing at Porter, Claude correctly listed our connected Meta accounts but reported the connector as “disabled” for most of them — Meta’s documentation confirms the rollout is gradual. Beyond that, this connector is Meta-only: it doesn’t see Google Ads, GA4, Shopify, HubSpot or any of the other platforms a real marketing stack runs on, so cross-channel reporting is off the table.

When this makes sense: if you only run Meta Ads (no Google, no TikTok, no e-commerce platform) and your ad account has been included in Meta’s rollout, this is the cleanest, most official path. If you run multi-channel campaigns or need to blend Meta Ads with Shopify, HubSpot, or any other source in the same Claude conversation, stick with Porter MCP — one URL covers Meta Ads and 25+ other platforms.

Via Google Sheets (live Sheet or manual CSV)

If your team already lives in Google Sheets — or you want a paper trail before Claude touches anything — feed Meta Ads into a Sheet, then let Claude read the Sheet. You can automate the Meta → Sheets pipeline with Porter so it refreshes daily, or do one-off CSV exports from Ads Manager for static analysis.

The trade-off to know. With the MCP path, Claude calls Meta’s API directly and Meta does the filtering and aggregation on its side — clean and deterministic. With the Sheets path, Claude aggregates inside the Sheet itself, which can introduce hallucinations on totals, averages, and joins when you have thousands of rows. The upside is speed: for very large date ranges or historical analysis, a pre-built Sheet is dramatically faster than live API calls.

When this makes sense: finance teams that want to review numbers before Claude acts on them, agencies already delivering client reports in Sheets, historical analysis across years of data, or any case where you care more about speed than real-time freshness.

Via Google BigQuery (for scale)

This is the path most people overlook — and it’s the one that saves you when your Meta Ads account gets serious. A single large advertiser or an agency managing 10+ accounts will hit API rate limits and latency problems querying Claude directly. Claude will literally tell you it’s taking too long or timing out on big pulls.

BigQuery fixes that. You load Meta Ads data into BigQuery tables on a schedule, then connect BigQuery to Claude — either through a BigQuery MCP or via Claude Code with SQL queries. Instead of asking Claude to pull raw Meta data, you let BigQuery aggregate into small, optimized tables, and Claude only queries the summarized output. Scale problem solved.

When this makes sense: enterprise accounts with millions of impressions, agencies running multi-account analysis across 10+ clients, or any team already using BigQuery as a data warehouse. Porter loads Meta Ads (and 25+ other sources) directly into BigQuery so you don’t have to build your own ETL.

Via Manus AI (Meta’s native agentic path)

Manus AI became part of Meta in December 2025, when Meta acquired the Singapore-based agentic AI startup for more than $2 billion — Meta’s third-largest deal ever, behind only WhatsApp and Scale AI. Starting February 17, 2026, Manus lives natively inside Meta Ads Manager as an “AI work partner” that can analyze campaigns, generate reports, research audiences, and run competitor research through Meta’s Ad Library — all without leaving the Ads Manager interface.

Important to understand: Manus is not a direct Claude connection. Since Meta now owns it, Manus runs on Meta’s infrastructure and Meta’s chosen models. You’re using an agent that completes tasks for you — but you’re not chatting with Claude at the other end. For marketers who want a Meta-native stack with zero setup, that’s a feature. For marketers who specifically want Claude’s reasoning or the flexibility of the MCP ecosystem, that’s a limitation.

When this makes sense: if you live inside Meta Ads Manager anyway and just want an agent that does the analysis for you, Manus is already there — nothing to install. If you want Claude as your brain, or want the same data to work across Claude, ChatGPT, Cursor, Claude Code and whatever tool comes next year, the MCP path is more portable.

Connecting Meta Ads to Claude Code

Most marketers lump Claude and Claude Code together and miss the biggest advantage of the entire MCP ecosystem. They’re not the same tool — and the difference matters enormously once you start working with Meta Ads data seriously.

Claude is a chat interface. You ask a question, Claude pulls live data through the MCP, answers, maybe builds a quick dashboard inside the conversation. Great for one-off analysis. The problem: everything is ephemeral. Want to refresh the dashboard tomorrow? You regenerate it from scratch. Want the same report every Monday? You re-ask the question every Monday.

Claude Code is Claude running inside your computer’s terminal. Because it has access to your filesystem, runtime, and other developer tools, it doesn’t just answer questions — it can build real software. Persistent scripts, scheduled routines, HTML apps, internal dashboards, integrations that run 24/7 without your input. Once it’s connected to Porter’s MCP for Meta Ads, a whole category of work becomes possible.

What Claude Code unlocks that Claude alone cannot

This is where the MCP ecosystem pays off most. Because Claude Code can combine Porter’s MCP with other MCPs — Firecrawl for web scraping, Airtable for structured data, Notion for wikis, Vercel for deployment, Slack and Gmail for delivery — you’re no longer querying data. You’re building tools.

apps
Build your own budget management app
Connect Meta Ads targets and goals, let Claude Code generate a custom ROI dashboard for each client, and deploy it to Vercel. No Data Studio to break.
visibility
Full competitor + performance monitoring
Combine Porter (your Meta performance) with Firecrawl (competitor landing pages and ads). Claude Code stitches both into a weekly competitive intelligence report.
menu_book
Internal marketing wiki with live metrics
Use the Airtable or Notion MCP with Porter’s MCP. Claude Code keeps your internal wiki populated with current spend, CPA, ROAS and creative notes for every client.
notifications_active
24/7 alerts on spend, CTR, and quality drops
A Claude Code routine runs on cron, pulls Meta Ads via Porter MCP, pushes Slack/Gmail alerts when CTR drops or spend spikes. Never miss a problem.

The common thread: Claude gives you answers. Claude Code gives you systems. For one-off questions Claude is faster. For anything you want to run more than once, or for anything that needs to persist beyond a chat session, Claude Code is the better tool.

Rule of thumb: if the work is “look at last week’s numbers,” use Claude. If the work is “monitor this every day forever,” use Claude Code. The same Porter MCP URL works in both — you don’t have to rebuild the integration.

And because the MCP spec is open, everything you build in Claude Code today will still work in Cursor, Antigravity, Lovable, Vercel v0, or whatever AI tool you adopt next year. That portability is the real value of picking the MCP path.

Use cases: what you can actually do once Meta Ads is connected to Claude

Getting the connection right is half the battle. The real value shows up in what you do next. Here are the use cases Porter users build around their Meta Ads data — from simple Q&A to full client-facing workflows.

1. Chat and ask questions directly

The simplest use case — and still the one 80% of marketers start with. Open Claude, ask a question, get an answer grounded in live data.

chat_bubble“What’s my ROAS by campaign over the last 14 days?”
chat_bubble“Show me CPC and CPA trends month over month for my top 5 ad sets.”
chat_bubble“Which placement is cheapest on CPM but still converting?”

It’s the fastest way to replace a daily Ads Manager check-in. But chat is table stakes — the interesting use cases come next.

2. Blend Meta Ads with your sales data (Stripe, HubSpot, Shopify)

This is where a 360° view gets real. When you connect Meta Ads and your revenue source (Stripe for SaaS, HubSpot CRM for B2B, Shopify for e-commerce), Claude can map ad campaigns to actual closed-won deals or purchases — using UTMs, campaign names, and timestamps — and give you attribution that no platform-side number can.

hub“Match my Meta Ads campaigns with HubSpot closed-won deals from the last 90 days. Which campaigns actually generated pipeline, not just leads?”
hub“Cross-reference Meta Ads spend with Stripe revenue for the last 30 days. Build a consolidated ROAS report grouped by campaign.”

Claude handles the UTM mapping and joins. You get a client-ready attribution report that no single platform can generate on its own.

3. Automated alerts and notifications on Slack or Gmail

With Claude Code you can turn Meta Ads monitoring into a routine that runs on its own. Hook Porter’s MCP (for the data) together with a Slack or Gmail MCP (for delivery), then write a Claude Code scheduled task that pulls performance every morning and pings you only when something actually needs attention.

notifications“Every morning at 8 AM, check yesterday’s Meta Ads performance. If any campaign’s CPA increased more than 25% versus its 7-day average, send me a Slack DM with the campaign name and likely cause.”
notifications“Once a week on Monday, draft a Gmail email to my team with last week’s spend, CPA, ROAS, and the 3 biggest changes. Save it as a draft so I can review before sending.”

No dashboards, no daily check-ins. The report comes to you — and only when it matters.

4. Client-ready presentations with live data (Gamma, HTML, PDF)

A common agency pain: you send clients a Data Studio link, Looker breaks, the client panics, you spend an hour explaining a broken dashboard. With Claude you can build the presentation itself — as a Gamma deck, a custom HTML page, or a PDF — populated with live numbers each time.

slideshow“Generate an HTML presentation for my [Client Name] monthly review. Include a spend summary, top 5 wins, top 3 concerns, and 3 action items for next month. Use live Meta Ads data.”
slideshow“Create a Gamma-ready outline for a quarterly performance review: Meta Ads performance, creative wins, audience learnings, and recommendations.”

The presentation becomes a delivery artifact you send to the client, not a dashboard that depends on another tool staying up. No broken iframe, no login prompts, just the content.

Meta Ads fields and metrics you can query with Claude

Before you start writing prompts, it helps to know what data is actually available. Porter MCP gives Claude access to 200+ Meta Ads metrics across every reporting level, plus breakdowns by audience, placement, device, and geography. And the same MCP URL also unlocks 25+ other sources — so Claude can blend Meta Ads with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.

Reporting levels
AccountCampaignAd SetAd / Creative
Performance metrics
SpendImpressionsClicksCTRCPCCPMConversionsPurchasesLeadsPurchase valueROASCPAFrequencyReachAdd to cartLanding page views
Audience breakdowns
AgeGenderDevicePlacementCountryRegionCity
Cross-channel sources (same URL)
Google AdsGA4ShopifyTikTok AdsLinkedIn AdsHubSpotSearch Console+15 more

Prompts you can copy-paste today

Once your Meta Ads account is connected, these are the prompts Porter users run most often. Twelve core prompts for everyday performance work, plus three verticals — agencies, B2B, and e-commerce — with specialized prompts for each. Copy, paste, run.

Performance checks

chat_bubble“Pull last 7 days of Meta Ads performance. Show spend, CPA, ROAS, CTR by campaign. Compare to the previous 7 days and flag anything that moved more than 20%.”
chat_bubble“Show me ROAS for the last 30 days at the account level, using 7-day click attribution. Break down by campaign objective.”
chat_bubble“Based on month-to-date spend, project end-of-month spend for each active campaign. Flag any projected to overshoot its monthly budget by more than 15%.”
chat_bubble“Compare my Meta Ads performance this month vs last month. Break down spend, ROAS, CPA, and conversion volume. Highlight the 3 biggest drivers of change.”
chat_bubble“Review spend and results by ad set for the last 14 days. Which ad sets have the lowest CPA? Which should I pause, optimize, or scale?”

Creative fatigue

chat_bubble“Analyze active ads from the last 14 days. Flag any with CTR decline greater than 20% from peak, or frequency above 3.0. Categorize each as URGENT, WARNING, or HEALTHY.”
chat_bubble“Group ads by creative angle (parse from ad names). Rank by ROAS and CTR. Tell me which angles are scaling and which are dying.”
chat_bubble“For any ad with a CTR drop greater than 15% in the last 7 days, recommend a replacement angle based on what’s still working in this account.”

Budget and waste

chat_bubble“Find campaigns that spent more than $200 in the last 60 days with zero conversions. Sort by spend descending.”
chat_bubble“Compare targeting across active ad sets spending more than $100 per day. Flag pairs with high interest or lookalike overlap, and recommend exclusions to reduce CPM inflation.”
chat_bubble“Break down performance by placement (Feed, Stories, Reels, Audience Network, Messenger). Which placements over-deliver on CPM but under-deliver on conversions?”
chat_bubble“Review performance by audience segment across age, gender, placement, and device for the last 30 days. Which segments drive the most conversions at the lowest cost?”

Client reporting

chat_bubble“Draft a client-ready weekly summary email for [Client Name]. Include a KPIs table, top 3 wins, top 3 concerns, and 3 action items for next week.”
chat_bubble“For each of my connected Meta Ads accounts, pull last 7 days: spend, conversions, CPA, ROAS. Highlight accounts that outperformed or underperformed their 30-day average by more than 20%.”
chat_bubble“Write a one-page monthly performance review for [Brand]. Compare this month to last month and the same month last year. Focus on trends, not tactics.”

Prompts for agencies managing multiple clients

If you run Meta Ads for 5+ brands, these four prompts replace most of your weekly data wrangling:

groups“For every connected Meta Ads account, pull last 7 days: spend, conversions, CPA, ROAS. Compare to prior 7 days. Highlight changes greater than 20%. Format as one client-ready email per account.”
groups“Across all my connected accounts, find campaigns where CPA increased more than 25% in the last 14 days. Explain likely causes and recommend corrective actions.”
groups“Review campaign-level ROAS across all my accounts for the last 30 days. Suggest where to shift budget to maximize total return.”
groups“Compare my 5 e-commerce clients’ Meta Ads performance. Who has the lowest CPA and highest ROAS? Identify patterns in targeting, placements, and creative that correlate with winners.”

Prompts for B2B marketers

Meta Ads in B2B means connecting Meta data with CRM pipeline data. Porter MCP bridges both so you can ask:

business_center“Match Meta Ads data with my HubSpot data. Calculate cost per SQL (sales-qualified lead) over the last 30 days. Which campaigns drive the most SQLs?”
business_center“Match Meta Ads leads with CRM closed-won deals. Which campaigns generated the highest total pipeline value in the last 90 days?”
business_center“For each Meta campaign, calculate lead-to-customer conversion rate. Which campaigns bring the highest quality leads, not just the most leads?”
business_center“Do leads from Meta Ads close faster or slower than other channels? Break down by campaign and target persona.”

Prompts for e-commerce teams

When you combine Meta Ads data with Shopify revenue in one prompt, Claude answers questions that used to require a full BI stack:

shopping_cart“Match Meta Ads spend with Shopify revenue for the last 30 days. Calculate true ROAS per campaign. Highlight campaigns below 2x and suggest optimization actions.”
shopping_cart“Find campaigns where spend went up but revenue dropped in the last 14 days. Diagnose likely inefficiency: targeting, creative fatigue, or market conditions.”
shopping_cart“Which products drove the most revenue from Meta Ads last month? Break down by campaign and ad creative. Suggest products to feature more heavily.”
shopping_cart“List campaigns with ROAS greater than 4x and stable CPA over the last 14 days. Recommend safe budget increases for the next 7 days.”

Cross-channel prompts (Meta + Google + GA4 + Shopify)

Meta Ads alone only tells part of the story. Because the same Porter MCP URL connects to Google Ads, GA4, Shopify, HubSpot and 20+ more sources, Claude can run true cross-channel analysis in a single prompt.

hub“Pull Meta Ads spend, Google Ads spend, and Shopify revenue for the last 30 days. Calculate true ROAS per channel after deduplicating conversions. Which channel actually drove the most purchases?”
hub“Match Meta Ads campaigns with CRM closed-won deals for the last 90 days. Calculate cost per closed deal. Which campaigns delivered the highest pipeline value?”
hub“Pull Meta Ads, Google Ads, GA4, and Shopify data for the last 7 days. Build a unified daily performance snapshot: spend per channel, conversions per channel, blended CPA, blended ROAS. Highlight any anomalies.”

How to use Claude Code for Meta Ads without getting banned

In early 2026, a marketer posted in r/FacebookAds that Claude Code got their account permanently banned. The post hit 70+ comments and is still the #1 organic result on Google for “claude code meta ads”. In their own words: “If you use Claude Code to day-trade Meta ads, you’ll get banned.”

We’ve seen it happen to our own clients. Agencies with six-figure monthly spend have had ad accounts permanently disabled over a single weekend of automated experimentation. The cost isn’t a Claude subscription — it’s the ad account, the pixel history, the learning phase, and sometimes hundreds of thousands of dollars in frozen spend. This section is the most important one in the article.

Meta’s enforcement is behavior-based, not tool-based. Meta doesn’t ban accounts because you used Claude or an MCP. It bans accounts because of how the API was used: write access at scale, bursty traffic, aggressive budget changes, or automated browsing of Ads Manager. Read-only analytics is safe. Write automation without guardrails is not.

The two behaviors that actually get accounts banned

After reviewing Meta’s official enforcement documentation and the 17 SaaS platforms that publish ads through the Marketing API (Smartly.io, Madgicx, Birch/Revealbot, Skai, Sprinklr and others), two patterns come up again and again.

1. Programmatic write access at scale. Read-only API access is safe — that’s what Porter MCP does, and it’s what every BI tool (Supermetrics, Funnel.io, Fivetran) does too. The problem starts the moment you combine write permissions (ads_management, pages_manage_ads) with automation that runs faster than a human would. Budget changes every 5 minutes, campaign duplication loops, bulk ad uploads with no delay — Meta’s systems flag those as bot behavior even if your ad content is perfectly compliant. Meta’s Platform Terms and Marketing API Rate Limiting docs spell out the caps explicitly — and going past them is the fastest way to lose an ad account.

2. Browser automation on Ads Manager. Tools that drive the Meta Ads Manager UI with an AI agent — Claude Code in browser-automation mode, headless browsers, RPA scripts — are even riskier than write APIs. Meta treats them as “unauthorized automated access” because you’re bypassing the API entirely and impersonating a human user inside the interface. The Meta Platform Policies, specifically the section on circumventing systems, prohibit this. Unlike rate-limited API calls, there’s no published “safe threshold” for UI automation. Any significant volume of automated clicks inside Ads Manager can result in a ban.

Both behaviors — write-at-scale via the API, and browser automation on the UI — trigger the same automated enforcement. If you want to use Claude for Meta Ads safely, stay on the read side for analysis, and only cross into write through a reviewed, rate-aware, gradual setup like the protocol below.

The 5-rule safety protocol

Based on Meta’s documented rate limits and the behaviors that have actually gotten accounts banned — not guesswork:

  1. Do not “day-trade” your ads. Meta’s official limit is 4 budget changes per ad set per hour, and 10 spend-cap changes per account per day. Blowing past those triggers automated enforcement even when your content is compliant.
  2. Review before you apply. Run scripts in read-only mode first. Never let Claude Code auto-apply pause/budget actions without a human approving the diff. Porter MCP ships read-only by default for exactly this reason.
  3. Never automate the Ads Manager UI. No Claude Code browser automation, no headless Chrome, no RPA on meta.com. Use the Marketing API instead — that’s the only path Meta considers legitimate.
  4. Be gradual. Don’t scale a budget more than 20% in a single move. Meta’s 2026 systems flag abrupt spend spikes as suspicious behavior, separately from content review.
  5. One account at a time. If you’re automating ten accounts, run them sequentially with 15+ minute delays, not in parallel. Parallel burst API calls are the #1 trigger community members cite when their MCP setups got them banned.

What Porter MCP does differently: it enforces these rules at the platform level. Read-only by default. Explicit confirmation for any write action. Built-in rate limiting with exponential backoff. Per-account call batching. No browser automation ever. That’s the behavior Meta’s automated systems reward.

Frequently asked questions

How do I use Claude Code for Meta Ads?
Install Claude Code, connect your Meta Ads account via MCP (Porter’s hosted server or your own), and describe what you want in plain English. Claude Code writes and runs the scripts for you.
Is Claude Code free for commercial use?
Claude Code is available on paid Anthropic plans (Pro, Max, Team, Enterprise) starting at $20/month. There is no free tier as of 2026.
Can I use Claude for marketing?
Yes. Claude is widely used for performance analysis, copy generation, creative strategy, client reporting, and workflow automation. The MCP ecosystem makes it especially powerful for paid media.
Is Instagram Ads data included in the Meta Ads MCP?
Yes. The Meta Marketing API treats Facebook and Instagram as one dataset. When you connect Meta Ads, Instagram Feed, Stories, and Reels data is included automatically.
Does Porter MCP include Facebook organic (non-ad) data?
No. Porter MCP is scoped to Meta Ads Manager. For organic Page insights, Porter offers a separate Facebook Insights connector.
Will Meta ban my account if I use Claude Code?
Only if you use it badly. Meta’s enforcement is behavior-based: burst API traffic, rapid budget changes, unreviewed apps, and poor rate limiting are what trigger bans. Following the 5-rule safety protocol above puts you in the same risk bucket as Smartly.io, Madgicx, and every other SaaS platform publishing ads via the Marketing API.
How much does it cost to connect Meta Ads to Claude?
With Porter MCP: free tier available. With Claude: $20/month for Pro (needed for custom connectors). Meta’s Marketing API itself is free, subject to rate limits.
Is my data safe with Porter MCP?
Yes. All tokens are stored encrypted, traffic is HTTPS-only, and Porter does not use your campaign data to train any models. You can revoke the connector at any time from Claude Settings or your Porter dashboard.
What’s the difference between Claude and Claude Code?
Claude is the conversational product (web, app, mobile). Claude Code is a terminal-based developer tool that can write scripts, save files, and automate workflows. Both can connect to Meta Ads via MCP.
Can Claude actually create or pause ads?
Claude itself (web) is read-only via MCP. Claude Code can create, pause, and modify ads, but only if you wire it up with the Meta Marketing API write scopes and grant explicit permission. Porter MCP defaults to read-only for safety.
How fresh is the data? Is it real time?
Meta’s Marketing API refreshes approximately every 15–30 minutes. Porter MCP pulls live, so your data is always within that window.
Are there rate limits for Meta Ads data?
Yes. Meta enforces 200 calls per hour on basic apps, and 1,000+ on business-verified apps. Porter MCP batches and caches requests automatically so you rarely hit them.
How does Porter MCP compare to Supermetrics or Funnel.io?
Supermetrics and Funnel are ETL tools that move data to a destination (Sheets, BigQuery, Looker). Porter MCP streams data directly into Claude’s conversation — no destination setup, no dashboards to build. You ask a question, you get an answer.
Why do Claude’s numbers sometimes differ from Ads Manager?
Three common reasons: (1) Attribution window — Ads Manager defaults to your UI setting; the API defaults to 7-day click. (2) Timezone — the Meta UI uses your timezone; the API may return UTC unless told otherwise. (3) Refresh lag — the Meta API updates every 15–30 minutes, so Ads Manager is slightly fresher. The fix: pin attribution in your prompt with something like “use 7-day click attribution and my Ads Manager timezone when calculating ROAS.”

Ready to chat with your Meta Ads?

Open Claude, add the Porter connector, and ask your first question. If you don’t have Porter yet, start a free trial and connect your Meta Ads account — you’ll be chatting with your campaigns in under five minutes.

rocket_launchStart free Porter trialopen_in_newOpen Claude