Connect Apple Ads to ChatGPT
You can connect Apple Ads (formerly Apple Search Ads) to ChatGPT by adding AdPilot MCP as a custom MCP server. ChatGPT can then analyze campaigns, explain profitability with RevenueCat data, and, on plans with full MCP support, apply the keyword, negative, and bid changes you approve. Developers can connect the same workspace to OpenAI's Codex.
- Check what your ChatGPT plan supports
- What you need before you start
- Add AdPilot as a custom MCP server
- Use AdPilot in a conversation
- Use AdPilot from Codex
- Worked example: a profitability check in ChatGPT
- Prompts that work well in ChatGPT
- Troubleshooting checklist
- How AdPilot works with ChatGPT
- Next steps
- Official sources
Check what your ChatGPT plan supports
OpenAI decides which plans can connect custom MCP servers and which tools they can call. At the time of writing, OpenAI's help center describes:
| ChatGPT plan | Custom MCP servers | What you can do with AdPilot |
|---|---|---|
| Business | Yes, added by workspace admins and owners | Analysis and direct operations |
| Enterprise and Edu | Yes, admins and members granted permission | Analysis and direct operations |
| Pro | Read and fetch tools only | Analysis only; no direct operations |
Custom MCP servers are added on ChatGPT on the web, not in the mobile apps. If your plan is not listed, use AdPilot from Claude, Grok, GitHub Copilot, or Codex instead. Check OpenAI's current article before you rely on a plan for write actions.
What you need before you start
- An AdPilot workspace with at least one app and Apple Ads connected on Connections. See Connect Apple Ads to AdPilot MCP if you have not done this yet.
- RevenueCat connected, if you want ChatGPT to answer profitability and ROAS questions.
- On Business, Enterprise, or Edu: an admin or owner account, or the Create plugins with MCPs permission.
ChatGPT never receives your Apple Ads private key or password. It receives an OAuth token scoped to your AdPilot workspace.
Add AdPilot as a custom MCP server
- In ChatGPT on the web, open Plugins.
- Select +, then Add custom MCP server.
- Enter the name
AdPilotand an optional description, such as Apple Ads and RevenueCat data and operations. - Under Connection, enter the MCP URL from AdPilot's Home or MCP Clients page:
https://adpilotmcp.com/mcp. - Choose OAuth authentication, review the risk warning, and select I understand and want to continue.
- Select Create as a plugin, sign in to AdPilot when the authorization page opens, and review the discovered tools.
On Business, Enterprise, and Edu workspaces, an admin or owner then publishes the plugin so members can find it under Settings → Plugins and connect their own AdPilot accounts. Each member signs in individually, so AdPilot's workspace roles and limits apply per person.
Use AdPilot in a conversation
Type @ in the message box and select AdPilot. ChatGPT applies the app to that message only, so:
- you can keep discussing results already in the chat without selecting AdPilot again;
@-mention AdPilot again when a follow-up needs fresh data or a change.
For direct operations, ChatGPT may ask you to confirm before it calls a write tool. AdPilot then applies its own limits and returns an action ID, so there are two checks: ChatGPT's confirmation and AdPilot's limits.
ChatGPT does not load MCP prompts, so AdPilot's built-in prompts are not listed there. Ask for the workflow by name instead, for example Run AdPilot's weekly review skill for [App Name].
Use AdPilot from Codex
Codex connects to the same endpoint from the terminal or IDE extension:
codex mcp add adpilot --url https://adpilotmcp.com/mcp
codex mcp login adpilot
The login command opens the AdPilot authorization page. Run codex mcp list, or /mcp inside Codex, to confirm the server is active. The equivalent ~/.codex/config.toml entry is:
[mcp_servers.adpilot]
url = "https://adpilotmcp.com/mcp"
Worked example: a profitability check in ChatGPT
This example shows the shape of a typical session. The numbers are illustrative.
You: @AdPilot Compare Apple Ads spend with RevenueCat proceeds for Pantry Planner over the last 28 complete days. Show the formulas.
ChatGPT calls get_roas and get_revenue_summary and answers:
| Metric | Value |
|---|---|
| Apple Ads spend | $1,240 |
| RevenueCat proceeds (app) | $1,610 |
| Observed blended ROAS | 1,610 / 1,240 = 1.30x |
| Installs from Apple Ads | 412 |
| CPI | 1,240 / 412 = $3.01 |
It adds two caveats: proceeds are app-level, so they include organic users, and subscribers from the last week have not had time to renew.
You: Which campaigns drive most of that spend, and is any of them clearly unprofitable?
ChatGPT uses the results already in the chat and calls get_campaign_performance only for the campaign breakdown. It does not assign RevenueCat proceeds to individual campaigns, because AdPilot treats proceeds as blended app-level context rather than campaign attribution.
Prompts that work well in ChatGPT
- @AdPilot List my apps and the latest complete metrics date for each.
- @AdPilot Summarize my Apple Ads portfolio for the last 7 complete days in five bullet points.
- @AdPilot Which search terms converted best this month that are not yet exact keywords?
- @AdPilot Explain why CPI rose for [App Name] compared with the previous 14 complete days.
- @AdPilot Add exact negatives for the wasted terms you found, within my limits. (plans with full MCP)
More prompts are in What to ask AdPilot about Apple Ads.
Troubleshooting checklist
- Add custom MCP server is missing: your plan or workspace policy may not allow custom MCP servers. Ask a workspace admin about the Create plugins with MCPs permission.
- Write tools are unavailable: plans limited to read and fetch tools can still run AdPilot's analysis tools, which are marked read-only, but cannot run direct operations. Use a Business, Enterprise, or Edu workspace, or run changes from another client.
- ChatGPT answers without account data:
@-mention AdPilot in the message that needs fresh data. - The connection stops working after a while: reconnect AdPilot in Plugins and revoke the old client on AdPilot's MCP Clients page.
- An operation is blocked: read the limit named in the answer. See Direct operations, limits, and audit.
How AdPilot works with ChatGPT
ChatGPT handles the conversation. AdPilot holds the synced Apple Ads structure and metrics, app strategy notes, RevenueCat context, skills, limits, and audit history. Analysis tools are annotated as read-only and tools that change Apple Ads as destructive, so ChatGPT can run analysis freely and ask for confirmation before a change, while AdPilot validates every call server-side and records changes in Changes with the client that made them.
Next steps
- What to ask AdPilot about Apple Ads
- RevenueCat and Apple Ads profitability
- Apple Ads metrics and formulas
- Connect your AI client to AdPilot MCP