Porter Metrics+X Ads+ChatGPT
boltX Ads + AI Tutorial · 2026

X Ads to ChatGPT in 2026: 4 free ways to connect, no ban risk

Learn to connect X Ads to ChatGPT via MCP for free. Create reports and manage campaigns, creatives, and budgets with AI, all from the chat. Explore alternatives like Google Sheets and BigQuery, and avoid the mistakes that get ad accounts banned.

rocket_launchUse Porter for freeManage your ad accounts and build reports with ChatGPT, free forever, automations included. The only limits: up to 3 ad accounts and 30 days of historical data for reporting. No credit card required.
Juan Bello

Juan Bello

Founder, Porter Metrics · July 13, 2026 · 19 min read

boltTL;DR

To connect X Ads to ChatGPT:

  1. Sign up free at portermetrics.com and connect your X Ads account with your X account.
  2. In ChatGPT, click + → Connectors → Manage connectors → Add custom connector, name it Porter, paste https://mcp.portermetrics.com/mcp, then click Add and authenticate with Google.

That’s it, you’re connected. Porter’s free plan covers up to 3 X Ads ad accounts with no usage limits on ChatGPT’s free plan. No credit card required.

What makes Porter different:

  • 899+ X Ads metrics and dimensions, across every reporting level in one connection.
  • Universal X Ads MCP. Blends X Ads with 20+ other sources in one chat, builds live dashboards and client portals, and surfaces competitive insights with keyword targeting analysis. Your whole X Ads operation runs from one chat.
Animated demo of asking ChatGPT for marketing data via Porter Metrics
Example X Ads client dashboard generated in ChatGPT using live data from Porter MCP.
Animated demo of asking ChatGPT for marketing data via Porter Metrics
Example X Ads client dashboard generated in ChatGPT using live data from Porter MCP.

Prerequisites

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

Connect X Ads to ChatGPT 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 X Ads.

MCP (Model Context Protocol) is the open standard that lets AI tools like Claude, ChatGPT, Codex and others access and use external APIs — the things that make tools like X 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.

content_paste
Copy-paste setup
No tokens, no scripts, no developer help — literally paste one URL into ChatGPT and you’re done.
hub
Works with every AI tool
Claude, Codex, 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 X 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 X (Twitter)’s API directly — so you can filter by campaign, break down by ad group 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 X Ads to Porter, point ChatGPT at the Porter MCP, and ask your first question.

Two ways to connect Porter to ChatGPT. This tutorial uses the Porter MCP (recommended): you paste one URL, and every new tool or data source is available the moment the Porter team ships it. Prefer one click? Porter Metrics is also an approved app in the ChatGPT marketplace — same account, same live data, but app updates only land after ChatGPT reviews them, so the newest capabilities always arrive on the MCP first. Jump to the marketplace steps ↓

1. Connect your X Ads data to Porter

Porter sits between X (Twitter)’s Ads API and ChatGPT. It handles OAuth, rate limiting, pagination and all the plumbing so ChatGPT 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 X Ads account. In Porter, click Create → pick ChatGPT as the destination → select X Ads as the source → sign in with X to grant access to your ad accounts.

Sign in with Porter Metrics prompt to authorize ChatGPT

Select your ad accounts. Choose the X Ads ad accounts you want ChatGPT to query. When you select multiple ad accounts under a single connection, Porter automatically blends their data together so you can query them as one.

Porter Metrics is now connected to ChatGPT confirmation

Optional: enable automatic BigQuery storage if you’re connecting multiple ad accounts with large data volumes. This keeps ChatGPT’s responses fast even at scale.

2. Connect the MCP to ChatGPT

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

Go to chatgpt.com and click the + icon in the chat input to open the tools menu.

ChatGPT home screen to start connecting Porter Metrics

In the menu that opens, hover over Connectors and click Manage connectors.

Open the plus menu in the ChatGPT composer to add an app

In the Connectors panel, click the + button at the top of the list to start adding a new connector.

ChatGPT More menu showing Add sources to connect Porter Metrics

Pick Add custom connector from the dropdown that appears.

Searching for the Porter Metrics app in ChatGPT

A dialog opens with the name and URL fields. Type Porter in the first field to name the connector.

Porter Metrics app page in ChatGPT with the Connect button

In the second field, paste https://mcp.portermetrics.com/mcp. Leave the advanced settings alone.

Sign in with Porter Metrics prompt to authorize ChatGPT

Click Add at the bottom right of the dialog. ChatGPT opens a sign-in window — use the same Google account linked to your Porter workspace and approve access.

Porter Metrics is now connected to ChatGPT confirmation

Once the authorization finishes, you’ll see Porter’s tools appear in the connectors panel. You’re ready to start asking questions (and, for connectors that support it, running actions).

Porter Metrics attached in a new ChatGPT chat

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 ChatGPT chat and ask anything about your X Ads in plain English. ChatGPT calls Porter behind the scenes, pulls live data from X (Twitter), and answers with tables, charts, or summaries.

Try one of these to verify the setup is working:

chat_bubble“What were my best-performing X Ads campaigns last week, ranked by Billed Engagements?”
chat_bubble“Show me my Cost per click and CTR by ad group for the last 30 days”
chat_bubble“Which campaigns are overspending with low Follow rate?”

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 X Ads to ChatGPT

Porter MCP is the path we just walked through and the one we recommend for most marketers. It is not the only way to get X Ads data in front of ChatGPT, though. The most common alternatives are X Ads’s direct API, a live Google Sheets bridge or CSV upload, and BigQuery for scale. Each has trade-offs, so pick the one that fits how your team already works.

  • 🔌 X Ads’s direct API — Talk to X (Twitter)’s Ads API yourself. Maximum control, but you handle auth, rate limits and pagination — and you only get one source. (X doesn’t ship an official MCP yet.)
  • 📊 Google Sheets — Live Sheet or one-off CSV upload. Auditable, familiar, faster for big exports — but aggregation happens in the Sheet, not the API.
  • 🗄️ Google BigQuery — For large ad accounts or agencies running multi-account analysis. BigQuery aggregates; ChatGPT only queries pre-built summaries.

Via the Porter Metrics app in the ChatGPT marketplace

If you’d rather not paste a connector URL, install Porter straight from ChatGPT’s app gallery — it’s the same Porter connection behind the scenes, published as an approved ChatGPT app:

  1. Open the Porter Metrics app page in ChatGPT (or search “Porter Metrics” in the apps gallery).
  2. Click Connect and sign in with the same account you use in Porter.
  3. Authorize it and ask your first X Ads question — same live data as the MCP.

The trade-off to know: the marketplace app only updates after each ChatGPT review cycle, while the MCP updates the moment Porter ships. If you want every new tool and data source immediately, use the MCP; if you want the one-click install and don’t mind waiting for new features, the marketplace app is the shortest path — including write actions through your connected Porter account.

Via X Ads’s direct API

If you’re building a product around X Ads — or you’re a developer who’d rather own every layer of the integration — the most direct path is talking to X (Twitter)’s Ads API yourself, or — where it exists — X Ads’s own official MCP. X doesn’t ship an official MCP as of June 2026, so going direct means writing API calls yourself in Codex or your own scripts. Whichever route you pick, you still follow X (Twitter)’s rate limits & quotas. Either way you skip Porter and call X (Twitter) from your own code, from Codex, or from X Ads’s own connector.

The trade-off to know. Going direct gives you maximum control and the freshest possible data — every endpoint, every parameter, no abstraction layer in between. But you’re now responsible for OAuth flows, refresh tokens, rate limits, pagination, schema changes, and error retries. And critically, you only get one source. The moment you also want Google Ads, GA4 or Shopify in the same conversation, you’re back to building (or stitching together) more integrations.

When this makes sense: engineering teams that need a single source with full control, products that ship X Ads data as a feature (where you own the integration anyway), or one-off scripts where you don’t mind writing the auth and pagination code yourself. For marketers who want to ask questions in plain English and blend X Ads with the rest of their stack in a single conversation, the Porter MCP path is dramatically less work.

Via Google Sheets (live Sheet or manual CSV)

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

The trade-off to know. With the MCP path, ChatGPT calls X (Twitter)’s API directly and X (Twitter) does the filtering and aggregation on its side — clean and deterministic. With the Sheets path, ChatGPT 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 ChatGPT 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.

Read the full Sheets tutorial →

Via Google BigQuery (for scale)

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

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

When this makes sense: enterprise ad 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 X Ads (and 25+ other sources) directly into BigQuery so you don’t have to build your own ETL.

Read the full BigQuery tutorial →

Connecting X Ads to Codex

Most marketers lump ChatGPT and Codex 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 X Ads data seriously.

ChatGPT is a chat interface. You ask a question, ChatGPT 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.

Codex is ChatGPT 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 X Ads, a whole category of work becomes possible.

What Codex unlocks that ChatGPT alone cannot

This is where the MCP ecosystem pays off most. Because Codex 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
Stack: Porter MCP + Vercel MCP (or Cloudflare Pages, Netlify)
Feed Codex your X Ads targets and goals — CPA goals, daily budgets, ROAS thresholds — and ask it to generate a custom ROI dashboard for each client. It builds the HTML, pulls live data, deploys to a URL. No Data Studio embed to break when the vendor changes pricing, no template constraints. The dashboard updates automatically because it queries Porter’s MCP on every page load.
Best for:agencies that want white-label client dashboards without Looker or Data Studio dependencies.
visibility
Full competitor + performance monitoring
Stack: Porter MCP + Firecrawl MCP
Combine your own X Ads performance from Porter with competitor landing pages and live ads from the X Ads platform scraped via Firecrawl. Codex stitches both into a weekly competitive intelligence report — your numbers next to their creative angles and targeting, with an LLM summary on top of what changed week over week. Runs on cron, lands in your inbox every Monday morning.
Best for:in-house teams that need market context, not just internal numbers.
menu_book
Internal marketing wiki with live metrics
Stack: Porter MCP + Airtable MCP (or Notion MCP)
Use Airtable or Notion as the schema, Porter as the data source. Codex keeps every page populated with current spend, CPA, and ROAS for every ad account — no stale screenshots, no copy-paste from Excel. New hires read one wiki entry and have full context on a client’s account.
Best for:agencies and ops teams onboarding analysts or rotating account managers frequently.
notifications_active
24/7 alerts on spend, CTR, and quality drops
Stack: Porter MCP + Slack MCP (or Gmail MCP)
A Codex routine on cron pulls X Ads via Porter, evaluates thresholds — CTR drops below 1%, daily spend spikes 2× the trailing average — and pushes Slack or Gmail alerts the moment something crosses the line. You stop checking dashboards reactively; the dashboard checks itself and tells you when to look.
Best for:any team that’s ever discovered a problem 48 hours too late because nobody opened the report.

Bottom line: ChatGPT is for quick questions and ad-hoc dashboards. Codex is for building apps, live dashboards, alerts, and actual tools — anything you want to run on its own without re-asking. Same Porter MCP URL works in both, so you don’t pick once and lock in.

Use cases: what you can actually do once X Ads is connected to ChatGPT

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 X 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 ChatGPT, ask a question, get an answer grounded in live data.

chat_bubble“Show my top 5 campaigns by Billed Engagements last 7 days in a table.”
chat_bubble“What’s my Cost per follow this month vs last month?”
chat_bubble“Which ad groups have the highest Media view rate but lowest Conversion Rate?”

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

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

This is where a 360° view gets real. When you connect X Ads and your revenue source (Stripe for SaaS, HubSpot CRM for B2B, Shopify for e-commerce), ChatGPT 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.

chat_bubble“Cross-reference my X Ads campaign names with last month’s Shopify orders and show which campaigns drove the most purchases.”
chat_bubble“Compare my X Ads Spend and ROAS against Google Ads for the same date range.”

ChatGPT handles the UTMs, campaign names, and timestamps 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 Codex you can turn X 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 Codex scheduled task that pulls performance every morning and pings you only when something actually needs attention.

chat_bubble“Alert me when daily Spend spikes 2× above the trailing 7-day average.”
chat_bubble“Send a Slack alert if CTR drops below 1% for any active campaign.”

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 — and you spend an hour explaining a broken dashboard. With ChatGPT you can build the presentation itself — as a Gamma deck, a custom HTML page, or a PDF — populated with live numbers each time.

chat_bubble“Build a client-ready weekly report of my X Ads campaigns as a Gamma deck with Spend, CTR, and Conversion Rate by campaign.”
chat_bubble“Generate an HTML dashboard showing X Ads performance trends for the last 90 days.”

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.

X Ads fields and metrics you can query with ChatGPT

Before you start writing prompts, it helps to know what data is actually available. Porter MCP gives ChatGPT access to 899 X 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 ChatGPT can blend X Ads with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.

Reporting levels
Campaign nameCampaign IDCampaign statusAd Group nameAd Group IDAd Group statusAd NameAd TextAd statusAccount IDAccount NameObjectiveCampaign BudgetCampaign Budget ModeFunding source nameFunding source status
Visibility metrics
Billed EngagementsCost per 1k impressionsImpressionsCost per followFollow rateFollowsAverage frequencyTotal audience reach
Engagement metrics
CTRCost per clickCPMLikesRepliesRetweetsSharesMedia engagementsMedia viewsMedia view rateApp InstallConversionConversion RateProfile VisitsProfile Visits Rate+4 more
Conversion metrics
App Install (SKAN)Conversion (SKAN)CVR (SKAN)Cost per App Install (SKAN)CPA (SKAN)PurchasePurchase RateROASComplete PaymentComplete Payment RateComplete Payment Roas
Efficiency (rates & costs)
Ad Group total budgetBid amountBid optimizationBid typeCampaign daily budgetCampaign total budgetFunding source credit limitFunding source lifetime budgetFunding source remaining creditSpend
Audience breakdowns
AgeGenderCountryCityDevice Brand NamePlatformInterest CategoryInterest Category Tier2Interest Category Tier3KeywordLanguageDateDayMonthWeek+3 more
Cross-channel sources (same URL)
Google AdsGoogle Analytics 4ShopifyHubSpotTikTok AdsLinkedIn AdsInstagramMailchimpKlaviyoActiveCampaignGoogle SheetsGoogle Search ConsoleGoogle Business ProfileFacebook InsightsFacebook Public Data+10 more

Prompts you can copy-paste today

…organized by job: agencies, B2B marketers, e-commerce teams, and cross-channel analysis.

1. For agencies

When to use this: multi-account reporting, client summaries, anomaly detection across accounts.

chat_bubble“Show my top 5 campaigns by Billed Engagements last 7 days in a table.”
chat_bubble“Flag any ad group where Cost per click jumped 30% vs last week.”
chat_bubble“Draft a client-ready weekly summary of my X Ads Spend and Impressions.”
chat_bubble“Cross-reference my X Ads campaign names with last month’s Google Ads Conversions.”

2. For B2B marketers

When to use this: lead-gen optimization, keyword targeting refinement, cost-per-lead reduction.

chat_bubble“Compare my Cost per lead this quarter vs last quarter by campaign.”
chat_bubble“Show me which Interest Category has the lowest Cost per lead and highest Conversion Rate.”
chat_bubble“Find why my Profile Visits dropped yesterday and show the Gender breakdown.”
chat_bubble“Compare my Cost Per Conversion on desktop vs mobile Platform last 14 days.”

3. For e-commerce teams

When to use this: website purchase tracking, creative fatigue detection, budget reallocation.

chat_bubble“List my worst 3 campaigns by Website Conversion Rate this month with Spend and Clicks.”
chat_bubble“Flag any ad where Cost per click doubled in the last 3 days vs prior week.”
chat_bubble“Project my Spend and Website Purchase for next week based on last 30 days.”
chat_bubble“Alert me when Campaign Budget hits 80% spent before the month ends.”

4. Cross-channel

When to use this: platform comparison, unified reporting, attribution blending.

chat_bubble“Cross-reference my X Ads campaigns with Google Ads last month and show which drove more Conversions.”
chat_bubble“Compare my X Ads Cost per click trend vs Meta Ads over last 90 days.”
chat_bubble“Show me which platform has the lower Cost Per Result this quarter — X or LinkedIn.”
chat_bubble“Draft a monthly report comparing my X Ads and TikTok Ads Impressions and CTR.”

Limits, safety, and best practices for X Ads via ChatGPT

chat_bubble“We burned through our API quota in 20 minutes trying to pull 90 days of campaign data for a Monday morning client report. The rest of the week we were locked out — had to export CSVs manually from Ads Manager like it was 2019.” — agency operator, cited in MCP playground analysis of X Ads API limitations, 2025.”

This is the most common failure mode for marketers using X Ads via API or MCP: quota exhaustion during bulk data pulls, not account bans. The marketer is typically an agency owner or in-house performance lead running multi-account audits on Monday mornings — the exact persona Porter serves. The real cost isn’t a suspended account; it’s lost productivity (4–6 hours of manual exports) and delayed client reporting that damages trust. X Ads API’s documented 48-hour reporting delay compounds the problem: even when quota resets, yesterday’s data often isn’t available yet, making “real-time” promises from third-party tools actively misleading.

X’s API enforcement is quota-based and pattern-based, not tool-based. X doesn’t ban advertiser accounts because you used Claude or an MCP server. It throttles or temporarily suspends API access because of how the API was used: sending parallel bursts that exceed per-window request limits, redistributing content IDs at scale without authorization, or scraping aggressively with browser automation. Read-only access within documented rate windows is safe. Parallel write bursts, unbatched bulk reads across dozens of ad accounts, and unauthorized data redistribution are not. The platform returns 429 Too Many Requests errors first, then progressive throttling; suspension is reserved for repeated abuse or policy violations like unauthorized data redistribution.

The two ways to burn through your X Ads quota

After reviewing official docs and community threads, two patterns come up again and again.

1. Parallel API bursts across multiple ad accounts. Sending concurrent requests to pull campaign data from many accounts simultaneously violates per-account and per-app rate windows. X’s API enforces category-level limits such as 450 writes per 1-minute window and 10,000 core entity reads per 15-minute window at the ad account level — exceeding these triggers immediate 429 throttling and can cascade into temporary access suspension if the pattern repeats within a short period. Source: docs.x.com/x-ads-api/fundamentals/rate-limiting. Instead: batch requests sequentially and respect x-rate-limit-remaining headers.

2. Programmatic writes at scale without tier verification. X Ads API requires Premium tier access for write operations (campaign creation, budget changes, bid adjustments). Basic tier is read-only. Attempting write operations from a Basic-tier token will fail silently or return authorization errors — and repeatedly retrying failed writes can burn through your request quota without accomplishing anything. Source: docs.x.com/x-ads-api/fundamentals/rate-limiting + competitor corpus analysis of API tier restrictions. Instead: verify your API tier before enabling write scopes, and use read-only MCP configurations for audit and reporting workflows.

3. Unauthorized redistribution of Post IDs and cached content. X’s developer guidelines impose a hard limit of no more than 1.5 million Post ID redistributions per 30-day period and require deletion of cached X content within 24 hours of a deletion request. Using Claude-generated scripts to pull ad creative content (tweets, images, videos) and redistribute them to external reporting tools or client dashboards without proper authorization violates these terms. Source: docs.x.com/developer-guidelines. Instead: use aggregate performance metrics only (impressions, clicks, spend) and link back to native X assets rather than caching or mirroring them.

Both behaviors trigger quota-based throttling and progressive 429 responses. If you want to use ChatGPT for X Ads safely, stay within documented rate windows, use read-only scopes by default, and never redistribute cached content.

The 5-rule scaling protocol

Based on X Ads’s documented rate limits and quotas and the behaviors that have actually caused quota exhaustion — not guesswork:

  • Batch your reads; never burst. Stay within the documented 10,000 core entity reads per 15-minute window per ad account and 450 writes per 1-minute window. Exceeding these triggers 429 throttling that can lock you out for the remainder of the window. Source: docs.x.com/x-ads-api/fundamentals/rate-limiting. Porter MCP enforces this automatically by queuing requests and respecting x-rate-limit-remaining headers.

  • Verify your API tier before enabling writes. Basic tier tokens are read-only; write operations require Premium tier approval from X. Attempting writes with Basic tier wastes quota and produces authorization failures. . Porter MCP defaults to read-only scopes and surfaces a warning if write operations are requested without verified Premium access.

  • Respect the 48-hour reporting delay. X Ads API data is not real-time — campaign performance data typically has a 48-hour delay before it is fully available and reliable. Making budget or targeting decisions based on same-day or yesterday’s API pulls produces inaccurate conclusions. Source: competitor corpus (mcpplaygroundonline.com, 2025) + X Ads API community documentation. Porter MCP surfaces data freshness timestamps on every query so users know exactly how stale each metric is.

  • Limit Post ID redistribution to ≤1.5 million per 30 days. If your workflow involves pulling tweet content, creative IDs, or engagement data for redistribution (e.g., client dashboards, external reports), stay under X’s 1.5 million Post ID redistribution cap per 30-day period and delete cached content within 24 hours of any deletion request. Source: docs.x.com/developer-guidelines. Porter MCP does not cache or redistribute creative content — it queries aggregate metrics only, keeping you well within this limit.

  • Use minimal OAuth scopes and audit annually. Request only the scopes your MCP connection actually needs (typically ads:read for reporting; ads:write only if Premium tier is confirmed). X requires annual security audits for apps with elevated access. . Porter MCP requests the narrowest possible scopes at connection time and logs every API call for audit trails.

What Porter MCP does differently: it enforces these rate limits and safeguards at the platform level. Porter batches API requests across accounts to stay within the 10,000-reads-per-15-minutes and 450-writes-per-minute windows, automatically backing off when x-rate-limit-remaining approaches zero. It defaults to read-only scopes so Basic-tier users never waste quota on unauthorized write attempts. It surfaces data freshness timestamps on every response, making the 48-hour reporting delay transparent rather than hidden. It never caches or redistributes Post IDs, keeping you well under the 1.5M redistribution cap. And it requests minimal OAuth scopes at connection time, reducing both security surface area and audit burden. That’s the behavior X’s automated systems handle gracefully — and that’s why Porter users don’t get throttled.

Frequently asked questions

What is a X Ads MCP?
A X Ads MCP (Model Context Protocol) is an open standard that lets AI tools — Claude, Codex, ChatGPT, Cursor — connect to your X Ads data without custom integrations. Porter’s MCP server makes your campaigns, ad accounts, and performance metrics available through one URL: no tokens, no scripts, no developer setup.
What’s the difference between ChatGPT and Codex?
ChatGPT is the conversational product (web, app, mobile). Codex is a terminal-based developer tool that can write scripts, save files, and automate workflows. Both can connect to X Ads via MCP.
How fresh is the data? Is it real time?
No. X Ads API data typically has a 48-hour delay before it is fully available and reliable. Some metrics update sooner, but campaign performance data is not real-time. Porter MCP surfaces data freshness timestamps on every response so you know exactly how stale each metric is. Source: docs.x.com/x-ads-api + competitor corpus analysis (mcpplaygroundonline.com, 2025)
Are there rate limits for X Ads data?
Yes. X enforces 450 writes per 1-minute window and 10,000 core entity reads per 15-minute window per ad account. Exceeding these triggers 429 throttling. Porter MCP batches requests automatically and respects x-rate-limit-remaining headers so you rarely hit them. Source: docs.x.com/x-ads-api/fundamentals/rate-limiting
Why do ChatGPT’s numbers sometimes differ from X Ads Manager?
Three common reasons: (1) Reporting delay — the API lags 48 hours behind the native UI, so same-day pulls show incomplete data. (2) Attribution windows — X Ads Manager and the API may default to different conversion attribution windows. (3) Time zone — API responses are in UTC while Ads Manager may display in your account timezone. The fix: always check the data freshness timestamp Porter MCP provides and align date ranges.
Will using ChatGPT affect my X Ads access or limits?
No. X doesn’t ban advertiser accounts for legitimate API usage. Porter MCP reads your data and — where the connector supports it — also writes (e.g., pausing campaigns, adjusting budgets) through deterministic guardrails. Read-only analytics stays well inside X’s normal limits, and write actions are rate-limited and account-scoped. The thing to watch is quota exhaustion during bulk data pulls — see the limits section above. Source: docs.x.com/x-ads-api/fundamentals/rate-limiting

Ready to chat with your X Ads?

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

rocket_launchStart free Porter trialopen_in_newOpen ChatGPT