Porter Metrics+Apple Ads+ChatGPT
boltApple Ads + AI Tutorial · 2026

Apple Ads to ChatGPT in 2026: 4 free ways to connect

Learn to connect Apple 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 · 21 min read

boltTL;DR

To connect Apple Ads to ChatGPT:

  1. Sign up free at portermetrics.com and connect your Apple Ads account with your Apple 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 Apple Ads orgs/accounts with no usage limits on ChatGPT’s free plan. No credit card required.

What makes Porter different:

  • 120+ Apple Ads metrics and dimensions, and the only MCP that includes attribution coverage in the same connection.
  • Universal Apple Ads MCP. Read and analyze Apple Ads campaigns alongside Google Ads, GA4, Shopify, HubSpot, and 20+ more sources in one chat. Build cross-channel dashboards, blend attribution data, and run competitor analysis. Your whole Apple Ads operation runs from one chat.
Animated demo of asking ChatGPT for marketing data via Porter Metrics
Example Apple Ads client dashboard generated in ChatGPT using live data from Porter MCP.
Animated demo of asking ChatGPT for marketing data via Porter Metrics

Prerequisites

  • A Porter Metrics account with your Apple 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 Apple Ads orgs/accounts you want to connect

Connect Apple 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 Apple 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 Apple 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 Apple 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 Apple’s API directly — so you can filter by campaign, break down by ad group or keyword, and add new dimensions on the fly without rebuilding tables.

The full setup takes under 5 minutes and breaks into three moves: connect Apple 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 Apple Ads data to Porter

Porter sits between Apple’s Apple Search 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 Apple. In Porter, click Create → pick ChatGPT as the destination → select Apple Ads as the source → sign in with Apple to grant access to your orgs/accounts.

ChatGPT home screen to start connecting Porter Metrics

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

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

Optional: enable automatic BigQuery storage if you’re connecting multiple orgs/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 Apple 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 More menu showing Add sources to connect Porter Metrics

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

Searching for the Porter Metrics app in ChatGPT

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

Porter Metrics app page in ChatGPT with the Connect button

Pick Add custom connector from the dropdown that appears.

Sign in with Porter Metrics prompt to authorize ChatGPT

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

Porter Metrics is now connected to ChatGPT confirmation

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

Porter Metrics attached in a new ChatGPT chat

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.

Once the authorization finishes, you’ll see Porter’s tools appear in the connectors panel. You’re ready to start asking questions.

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 Apple Ads in plain English. ChatGPT calls Porter behind the scenes, pulls live data from Apple, and answers with tables, charts, or summaries.

Try one of these to verify the setup is working:

chat_bubble“Show me my top 5 campaigns by Spend last month with their Taps and Installs (Tap-Through) in a table.”
chat_bubble“Compare my Avg CPT this quarter versus last quarter for every active campaign. Give me a list.”
chat_bubble“Which Keyword has the lowest Avg CPA (Tap-Through) this month but still brings at least 10 New Downloads (Tap-Through)?”

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

Alternative ways to connect Apple 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 Apple Ads data in front of ChatGPT, though. The most common alternatives are Apple Ads’ 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.

  • 🔌 Apple Ads’ direct API — Talk to Apple’s Apple Search Ads API yourself. Maximum control, but you handle auth, rate limits and pagination — and you only get one source. (Apple 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 orgs/accounts or agencies running multi-org/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 Apple 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 Apple Ads’ direct API

Apple does not ship an official MCP for Apple Ads as of June 2026. All Apple Ads MCPs are third-party wrappers over the Apple Search Ads API.

If you’re building a product around Apple Ads — or you’re a developer who’d rather own every layer of the integration — the most direct path is talking to Apple’s Apple Search Ads API yourself, or — where it exists — Apple Ads’ own official MCP. Apple does not ship an official MCP for Apple Ads as of June 2026. All Apple Ads MCPs are third-party wrappers over the Apple Search Ads API. Whichever route you pick, you still follow Apple’s rate limits & quotas. Either way you skip Porter and call Apple from your own code, from Codex, or from Apple Ads’ 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 Apple 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 Apple 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 Apple Ads into a Sheet, then let ChatGPT read the Sheet. You can automate the Apple Ads → Sheets pipeline with Porter so it refreshes daily, or do one-off CSV exports from Apple Ads’ native UI for static analysis.

The trade-off to know. With the MCP path, ChatGPT calls Apple’s API directly and Apple 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.

Via Google BigQuery (for scale)

This is the path most people overlook — and it’s the one that saves you when your Apple Ads org/account gets serious. A single large advertiser or an agency managing 10+ orgs/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 Apple 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 Apple 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 orgs/accounts with millions of impressions, agencies running multi-org/account analysis across 10+ clients, or any team already using BigQuery as a data warehouse. Porter loads Apple Ads (and 25+ other sources) directly into BigQuery so you don’t have to build your own ETL.

Connecting Apple 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 Apple 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 Apple 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 Apple 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 Apple Ads performance from Porter with competitor landing pages and live ads from the Meta Ad Library scraped via Firecrawl. Codex stitches both into a weekly competitive intelligence report — your numbers next to their creative angles and pricing, 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 org/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 Apple 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 Apple 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 Apple 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 me my top 5 campaigns by Spend last month with their Taps and Installs (Tap-Through) in a table.”
chat_bubble“Compare my Avg CPT this quarter versus last quarter for every active campaign. Give me a list.”
chat_bubble“Which Keyword has the lowest Avg CPA (Tap-Through) this month but still brings at least 10 New Downloads (Tap-Through)?”

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

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

This is where a 360° view gets real. When you connect Apple 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“Match my Apple Ads campaigns last quarter with my Shopify product launches. Which launch had the lowest Avg CPA (Total)?”
chat_bubble“Cross-reference my Brand campaign Search Term with my Competitor campaign Keyword from yesterday. Show overlaps.”

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 Apple 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 if any campaign’s Avg CPT rises above $5 for two straight days this week.”
chat_bubble“Flag any ad group where Spend jumped over 30% last week but Installs (Tap-Through) stayed flat.”

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“Draft a weekly client report using last week’s campaign numbers: Spend, Taps, and TTR. Keep it short.”
chat_bubble“Build an HTML dashboard showing my Apple Ads Spend, Taps, and Installs (Total) by Campaign Name for the last 30 days. Make it mobile-friendly.”

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.

Apple 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 120 Apple Ads fields and 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 Apple Ads with Google Ads, GA4, Shopify, HubSpot and more in a single prompt.

Reporting levels
CampaignAd GroupAdKeywordSearch TermAccountDate/Time
Visibility metrics
(none classified separately — engagement covers visibility)
Engagement metrics
Avg CPMAvg CPTImpressionsSpendAvg CPA (Tap-Through)CR (Tap-Through)Installs (Tap-Through)New Downloads (Tap-Through)Pre-orders (Tap-Through)Redownloads (Tap-Through)TapsAvg CPA (Total)CR (Total)Installs (Total)New Downloads (Total)+7 more
Conversion metrics
(none classified separately — tracked via engagement metrics)
Efficiency (rates & costs)
(covered within engagement metrics: Avg CPMAvg CPTAvg CPACRTTR)
Audience breakdowns
Keyword Bid AmountKeywordAd Group Deleted (Keyword)Ad Group ID (Keyword)Ad Group Name (Keyword)Keyword DeletedKeyword Display StatusKeyword IDKeyword Modification TimeKeyword StatusMatch TypeSuggested Bid AmountSearch Term fields (Ad Group DeletedAd Group IDAd Group Name+19 more
Cross-channel sources (same URL)
Google AdsGA4ShopifyTikTok AdsLinkedIn AdsHubSpotSearch Console+15 more

Prompts you can copy-paste today

Below are prompts organized by job: performance checks, keyword & search term optimization, client reporting, prompts for agencies managing multiple clients, prompts for e-commerce teams, and cross-channel prompts.

Performance checks

When you need a quick health check on your Apple Ads account.

chat_bubble“List my worst 3 ad groups by CR (Tap-Through) last 14 days and include their Avg CPA (Total).”
chat_bubble“How did my New Downloads (Total) this month compare to last month? Show the delta by campaign.”
chat_bubble“Alert me if any campaign’s Avg CPT rises above $5 for two straight days this week.”
chat_bubble“Why did my TTR drop yesterday on my top campaign? Break it down by Ad Group Name and Device Class.”

Keyword & search term optimization

When you’re optimizing discovery and exact match campaigns.

chat_bubble“Which Search Term from last week converted into Pre-orders (Tap-Through) but isn’t in my Keyword list yet?”
chat_bubble“Flag any Keyword where Impressions doubled last week but Taps fell below 10 per day.”
chat_bubble“Add exact-match negative keywords from my 3 core campaigns into Discovery.”
chat_bubble“Cross-reference my Brand campaign Search Term with my Competitor campaign Keyword from yesterday. Show overlaps.”

Client reporting

When you need to draft or build reports for stakeholders.

chat_bubble“Draft a weekly client report using last week’s campaign numbers: Spend, Taps, and TTR. Keep it short.”
chat_bubble“Project my Spend and Installs (Tap-Through) for next week based on the last 21 days. Give me a table.”
chat_bubble“Build an HTML dashboard showing my Apple Ads Spend, Taps, and Installs (Total) by Campaign Name for the last 30 days. Make it mobile-friendly.”
chat_bubble“Draft a monthly summary for my boss blending last month’s Apple Ads Spend and Installs (Total) with Google Ads and Shopify sales.”

Prompts for agencies managing multiple clients

When you’re overseeing multiple Apple Ads accounts.

chat_bubble“Show me my top 5 campaigns by Spend last month with their Taps and Installs (Tap-Through) in a table.”
chat_bubble“Compare my Avg CPT this quarter versus last quarter for every active campaign. Give me a list.”
chat_bubble“Flag any ad group where Spend jumped over 30% last week but Installs (Tap-Through) stayed flat.”
chat_bubble“Which Keyword has the lowest Avg CPA (Tap-Through) this month but still brings at least 10 New Downloads (Tap-Through)?”
chat_bubble“Draft a weekly client report using last week’s campaign numbers: Spend, Taps, and TTR. Keep it short.”
chat_bubble“Cross-reference my Brand campaign Search Term with my Competitor campaign Keyword from yesterday. Show overlaps.”

Prompts for e-commerce teams

When you’re driving app installs for e-commerce or DTC apps.

chat_bubble“Show my top 10 Keyword by Redownloads (Tap-Through) last 30 days with their Avg CPA (Tap-Through).”
chat_bubble“How do my Pre-orders (Total) on iPhone compare to iPad this month? Use Device Class.”
chat_bubble“Flag any Keyword where Impressions doubled last week but Taps fell below 10 per day.”
chat_bubble“Which ad groups are cheapest on Avg CPM this month while still driving at least 50 New Downloads (Total)?”
chat_bubble“Draft a daily Slack update with yesterday’s Spend, Taps, and Installs (View-Through) for my store app.”
chat_bubble“Match my Apple Ads campaigns last quarter with my Shopify product launches. Which launch had the lowest Avg CPA (Total)?”

Cross-channel prompts

When you need to blend Apple Ads with other marketing platforms.

chat_bubble“Rank my Apple Ads campaigns by Spend last month and stack them beside my Google Ads campaigns. Show a table.”
chat_bubble“Compare my Apple Ads Taps this week to my TikTok Ads clicks. Show me week-over-week growth side by side.”
chat_bubble“Flag days last month when my Apple Ads Installs (Total) spiked but my GA4 app sessions stayed flat.”
chat_bubble“Which Apple Ads Keyword had the lowest Avg CPA (Tap-Through) last quarter while my HubSpot deal close rate stayed above 20%?”
chat_bubble“Why did my Apple Ads TTR drop last Tuesday? Cross-check with my TikTok Ads spend that same day.”
chat_bubble“Draft a monthly summary for my boss blending last month’s Apple Ads Spend and Installs (Total) with Google Ads and Shopify sales.”

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

chat_bubble“Apple enforces undocumented rate limits on API calls… exceeding limits halts data retrieval and can corrupt reporting pipelines during high-volume campaign analysis.” — community analysis of Apple Ads API throttling behavior, developer.apple.com/documentation/apple_ads, 2024–2026″

Unlike Meta Ads or Google Ads, Apple Search Ads operates through a fully public, documented API with no history of punitive account bans for legitimate API usage. The closest thing to a “cautionary tale” in the Apple Ads ecosystem is not a ban story — it’s the silent pipeline failure. Marketers running high-volume reporting via custom scripts or MCP integrations have hit Apple’s undocumented rate ceilings during end-of-month reconciliation, causing incomplete data pulls that went unnoticed until dashboards showed suspiciously flat spend curves. The cost is not a suspended account; it’s a week of decisions made on stale data. This makes Apple Ads the safest major ad platform to connect via Claude, but also the one where “safe” can lull you into ignoring data-integrity checks.

Apple’s rate limiting is quota-based and communicated dynamically, not tool-based. Apple doesn’t ban or throttle accounts because you used Claude, an MCP server, or a third-party connector. It throttles because of how the API was used: bursty parallel requests, sustained high-frequency polling, or unauthenticated retry loops. The Apple Ads Campaign Management API confirms that rate limits exist and are detailed in the documentation, but Apple does not publish exact numerical thresholds such as requests per minute, hour, or day. Instead, the API returns standard HTTP 429 responses with Retry-After headers when limits are exceeded, and developers must implement exponential backoff to recover gracefully. Read-only reporting calls are safe. Aggressive write bursts (e.g., bulk bid changes across thousands of keywords) or parallel polling from multiple services without coordination are not.

The two patterns that lead to inaccurate Apple Ads reports

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

1. Parallel API bursts without backoff. Sending concurrent requests from multiple scripts, dashboards, or MCP instances to the same Apple Ads Org ID can trigger throttling even if each individual caller stays within reasonable volume. Apple’s rate limits are applied at the API-key or account level, and the thresholds are not documented publicly. When exceeded, the API returns HTTP 429 errors with Retry-After headers, but tools that don’t implement backoff will retry immediately, amplifying the problem and potentially causing extended lockouts. developer.apple.com/documentation/apple_ads/calling-the-apple-search-ads-api

2. Programmatic writes at scale without campaign structure discipline. Using Claude Code or scripts to bulk-modify bids, budgets, or keywords across campaigns without Apple’s recommended semantics-based structure leads to unstable spend patterns and algorithmic confusion. Apple’s documentation recommends limiting bid adjustments to 20% increments per keyword and structuring campaigns around no more than 5 core campaign types (Brand, Category, Competitor, Discovery, and Exact Match). Violating these structural guardrails doesn’t trigger a ban, but it degrades campaign performance in ways that are hard to reverse — effectively “breaking” the account’s learning phase. — developer.apple.com/documentation/apple_ads

Both behaviors trigger rate throttling and data quality degradation. If you want to use ChatGPT for Apple Ads safely, stick to read-only reporting queries through a managed MCP like Porter’s, which batches requests and implements backoff automatically.

The 5-rule best-practice protocol

Based on Apple Ads’ documented policies and the behaviors that have actually caused data integrity issues — not guesswork:

  • Batch your API calls and respect the 20% bid-adjustment ceiling. Apple’s algorithm is sensitive to large bid swings. Adjust one keyword’s bid by no more than 20% per change, then monitor performance before further modifications. This number is documented in Apple’s campaign management best practices as the threshold that maintains stable spend patterns without resetting the learning algorithm. — developer.apple.com/documentation/apple_ads

  • Structure campaigns into no more than 5 core campaign types. Apple’s recommended semantics-based structure caps the top-level campaign taxonomy at five: Brand, Category, Competitor, Discovery, and Exact Match. Exceeding this creates overlap, internal competition, and degraded CPA trends. When querying via Claude, always include campaign_name filters that map to these five buckets to keep analysis aligned with Apple’s intended architecture. — developer.apple.com/documentation/apple_ads

  • Limit custom product pages to 35 per app. Apple Ads allows associating custom product pages with Creative Sets for ad-group-level personalization. The platform supports up to 35 custom product pages per app. Exceeding this doesn’t trigger enforcement, but pages beyond 35 are ignored by the ad-serving system, leading to “broken” creative rotations where Claude-recommended variants never serve. — developer.apple.com/documentation/apple_ads

  • Add exact-match negative keywords from your 3 core campaigns into Discovery. Apple’s Discovery campaign type is designed to surface new search terms, but it can cannibalize Brand, Category, and Competitor campaigns if negatives aren’t applied. The rule of three: extract your top exact-match keywords from Brand, Category, and Competitor campaigns and add them as negatives to Discovery. This prevents paying for traffic you already capture elsewhere and is the single most effective budget-protection rule in Apple Ads. — developer.apple.com/documentation/apple_ads

  • Check Apple Ads recommendations daily — they refresh once per day. The Recommendations API and in-dashboard suggestions update on a 24-hour cycle. Checking more frequently wastes API calls and creates false urgency. Schedule your Claude-driven audit queries to run after Apple’s daily refresh (typically early morning Pacific time) to ensure recommendations and performance data are synchronized. developer.apple.com/documentation/apple_ads

What Porter MCP does differently: it enforces read-only API access by default, eliminating the risk of programmatic write storms. All Porter Apple Ads queries use the Reporting API endpoints, not the Campaign Management API write endpoints, which means bid changes, budget adjustments, and campaign creation cannot be triggered accidentally through Claude prompts. Porter also implements request batching and per-account connection pooling, ensuring that parallel queries from multiple team members or automated reports are coalesced into a single throttled stream rather than independent bursts. That’s the behavior Apple’s automated systems handle gracefully — steady, predictable, read-only traffic with proper Retry-After backoff — and it’s why Porter MCP users have not reported throttling incidents even during high-volume month-end reconciliation workflows.

Frequently asked questions

What is a Apple Ads MCP?
An Apple Ads MCP (Model Context Protocol) is an open standard that lets AI tools — ChatGPT, Claude, Codex, Cursor — connect to your Apple Ads data without custom integrations. Porter’s MCP server makes your campaigns, ad groups, keywords, search terms, and reporting 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 Apple Ads via MCP.
How fresh is the data? Is it real time?
Apple’s reporting API has a latency of approximately 2–3 hours. Recommendations and in-dashboard suggestions refresh on a 24-hour cycle. Porter MCP pulls live from the API, so your data is always within that window — not real-time, but as current as Apple’s reporting allows.
Are there rate limits for Apple Ads data?
Yes. Apple enforces undocumented, quota-based rate limits communicated dynamically via HTTP 429 responses with Retry-After headers. The exact thresholds (requests per minute, hour, or day) are not published. Porter MCP batches requests, implements exponential backoff, and uses per-account connection pooling so you rarely hit them. Read-only reporting calls are safe; aggressive write bursts or parallel polling from multiple services are not.
Why do ChatGPT’s numbers sometimes differ from Apple Search Ads dashboard?
Three common reasons: (1) Attribution model — Tap-Through vs. View-Through vs. Total installs are counted differently depending on which attribution window you select. (2) Refresh lag — API data lags the dashboard by 2–3 hours, so recent-hour numbers won’t match. (3) Time zone — your dashboard may be set to a different time zone than the API’s default. The fix: align attribution settings and compare same time ranges with at least a 3-hour lookback.
Will using ChatGPT affect my Apple Ads access or limits?
No. Apple doesn’t ban or restrict accounts for legitimate API usage. Porter MCP reads your data through the official Apple Search Ads Reporting API by default, which stays well inside Apple’s normal limits. The thing to watch is rate throttling from bursty parallel requests or unauthenticated retry loops — see the limits section above. Unlike Meta or TikTok, Apple Ads has no history of punitive account bans for connector or MCP usage.

Ready to chat with your Apple 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 Apple Ads account — you’ll be chatting with your campaigns in under five minutes.

rocket_launchStart free Porter trialopen_in_newOpen ChatGPT