Let Codex handle the repetitive ad work.
Add PaidSync.ai once and Codex can pull reports, check pacing and prepare changes across Google Ads, Meta Ads and 12 more platforms.
Here is how Saverkite Travel did, Oct 11 to Oct 17.
| Platform | Spend | Conv. | Revenue | ROAS |
|---|---|---|---|---|
Google Ads | $3,120 | 64 | $11,520 | 3.69 |
Meta Ads | $2,045 | 38 | $5,320 | 2.60 |
TikTok Ads | $640 | 9 | $1,080 | 1.69 |
| Total | $5,805 | 111 | $17,920 | 3.09 |
Lowered Search | City breaks from $240 to $210 a dayFrom CodexNot yet
Paused 2 ads in Meta | Ski trips | ProspectingApproved in the workspaceNot yet
Paused campaign Beach deals | ProspectingFrom CodexImproved
PaidSync.ailist_accounts| Platform | Spend | Bookings | ROAS |
|---|---|---|---|
Google Ads | $3,120 | 64 | 3.69 |
Meta Ads | $2,045 | 38 | 2.60 |
TikTok Ads | $640 | 9 | 1.69 |
PaidSync.aipreview ofupdate_tiktok_campaign_budget- Campaign
- City breaks | Prospecting
- Change
- Daily budget $60 to $40
630+ tools across 14 platforms, through one connection.
Let Codex run the repetitive ad work
Reports, pacing checks and prepared changes across 14 platforms. With its approval mode set to writes, Codex asks before any tool that is not read only.
Example data
PaidSync.aiget_campaign_performance| Campaign | Spend | Bookings | ROAS |
|---|---|---|---|
| Search | City breaks | $1,480 | 34 | 4.10 |
| Search | Ski trips | $960 | 18 | 3.40 |
| Shopping | Deals | $680 | 12 | 3.10 |
| Meta | Ski trips | Retargeting | $1,240 | 27 | 3.00 |
| Meta | City breaks | Prospecting | $805 | 11 | 1.90 |
| TikTok | City breaks | Prospecting | $410 | 3 | 0.90 |
PaidSync.aiget_budget_pacing| Campaign | Spent | Month budget | Pace |
|---|---|---|---|
| Search | City breaks | $3,580 | $6,000 | Over by 9% |
| Search | Ski trips | $2,210 | $4,000 | On pace |
| Meta | Ski trips | Retargeting | $2,860 | $5,200 | On pace |
| TikTok | City breaks | Prospecting | $980 | $1,800 | On pace |
| Shopping | Deals | $1,640 | $3,000 | On pace |
PaidSync.ai| Setting | Value |
|---|---|
| Campaign | Search | City breaks |
| Daily budget | $210 to $170 |
| October spend at this rate | $5,960 of $6,000 |
PaidSync.aipreview ofupdate_campaign_budget- Campaign
- Search | City breaks
- Change
- Daily budget $210 to $170
PaidSync.aiget_cross_platform_performance| Platform | Spend | Bookings | ROAS |
|---|---|---|---|
Google Ads | $13,400 | 276 | 3.70 |
Meta Ads | $8,800 | 162 | 2.60 |
TikTok Ads | $2,750 | 39 | 1.70 |
| Total | $24,950 | 477 | 3.09 |
| Agent | Schedule | Watches | Last run |
|---|---|---|---|
| Budget Pacer | Hourly | ![]() ![]() ![]() | Today, 15:00 |
| ROAS Guardian | Daily | ![]() ![]() ![]() | Today, 07:00 |
| Wasted Spend Hunter | Daily | ![]() ![]() | Today, 07:00 |
| Anomaly Responder | Daily | ![]() ![]() ![]() | Today, 07:00 |
| Creative Fatigue Watcher | Daily | ![]() ![]() | Today, 07:00 |
| Budget Rebalancer | Weekly | ![]() ![]() ![]() | Today, 08:00 |
| Tag & Tracking Auditor | Weekly | ![]() ![]() | Oct 14 |
| GA4 Auditor | Weekly | ![]() | Oct 13 |
| Merchant Center Auditor | Monthly | Oct 1 |
Pause City breaks prospectingROAS Guardian, waiting for youIts ROAS stayed under 1 for 14 days, below the floor of 2 you set for TikTok.
- Campaign
- City breaks | Prospecting
- Change
- Status Active to Paused
Listed in Claude, ChatGPT and GitHub. Approved by the ad platforms you run.
Listed in
Approved by
Built by Ahmed Ashraf, who led paid media at Scandiweb, a 2025 Google Premier Partner (top 3% of agencies).
10+ years$500M+ in ad budgets$1B+ client revenue.
- 5platforms to build campaigns on
- 630+tools
- 14ad and data platforms
- Freeplan, no card
Why PaidSync.ai in Codex
- Two commandscodex mcp add, then codex mcp login. Codex registers itself with PaidSync.ai, so there is no client ID or key to paste.
- Every platform you connectThe same entry reaches Meta Ads, LinkedIn Ads, TikTok Ads, GA4 and every other platform you connect in PaidSync.ai.
- Headless runs are possibleFor runs where nobody can sign in, bearer_token_env_var sends a key in the Authorization header. Applying a Google Ads change still requires the OAuth sign-in.
- You pick which accounts it seesAfter each sign-in you tick the ad accounts for the workspace, and Codex only sees those.
What works in Codex and what does not
What works
Two commands codex mcp add, then codex mcp login. Codex registers itself, so no client ID or key is pasted.
One setup, three places The CLI, the IDE extension and Codex in the ChatGPT desktop app share ~/.codex/config.toml.
Writes with an approval mode Set default_tools_approval_mode to writes and Codex asks before any tool not marked read-only.
What does not, or needs checking
Headless runs use a key bearer_token_env_var sends a key in the Authorization header. Applying a Google Ads change still requires the OAuth sign-in.
Sign-in may need a nudge If the IDE extension or the app lists paidsync as needing a sign-in, select Authenticate.
No plan or region limit named The connect guide names no Codex plan or region requirement.
How it works in three steps
These are the commands you run in your terminal.
Add the server
Run the command in your terminal. It writes an mcp_servers entry to ~/.codex/config.toml.
Run in your terminalcodex mcp add paidsync --url https://mcp.paidsync.ai/mcpLog in
Run the login command. A browser window opens, so sign in with your PaidSync.ai login and Codex stores the token.
Run in your terminalcodex mcp login paidsyncCheck and ask
Type /mcp in a Codex CLI session to see paidsync listed, then ask for your accounts.
Cheaper than an agency. Faster than a freelancer.
Start free. Scale with your team. Cancel anytime.
- No credit card needed
- No time limit
- MCP read and write access
- API access
- Claude, ChatGPT and any agent
- 15 tasks a month
- All 14 ad platforms
- Full analysis suite, 630+ tools
- Upgrade anytime
- 600 tasks a month
- 1 seat
- MCP read and write access
- API access
- Claude, ChatGPT and any agent
- Everything in Free, plus
- Top ChatGPT and Claude models
- Cloud agents on your schedule, hourly to monthly
- PMax insights on every platform
- Wasted spend alerts
- Anomaly detection
- Unlimited ad accounts
- Up to 10 brand spaces
- 5 seats
- 6,000 shared tasks a month
- MCP read and write access
- API access
- Claude, ChatGPT and any agent
- Everything in Pro, plus
- Unlimited access to every feature
- One shared task pool
- Admin controls
- Unlimited brand spaces
- Client report sharing
- Cloud agents for the whole team
- Priority email support
- Full campaign management
- Custom agents for your process
- Dedicated success manager
- Advanced systems in your workflow
- SSO and DPA on request
Talk to sales
Tell us about your setup. We'll get back within 1 business day.
Frequently asked questions
How do I connect Google Ads to Codex?
Sign up at paidsync.ai and connect Google Ads in the dashboard. Then run codex mcp add paidsync --url https://mcp.paidsync.ai/mcp and codex mcp login paidsync, and sign in with your PaidSync.ai login. The same entry reaches every other platform you connect.
Do the CLI, the IDE extension and the desktop app each need a setup?
No. They share ~/.codex/config.toml, so a server added in one is there in the others. If one lists paidsync as needing a sign-in, select Authenticate and sign in with your PaidSync.ai login.
Does Codex need an API key?
No. OAuth is the primary path. For headless runs, bearer_token_env_var in config.toml sends a key in the Authorization header, never in the URL. Applying a change to Google Ads still requires the OAuth sign-in.
Can Codex change my campaigns?
Yes. Over MCP the human check is Codex's own approval prompt. Set default_tools_approval_mode to writes and Codex asks before any tool that is not marked read-only.
Where does the config live?
Codex keeps MCP servers in ~/.codex/config.toml, or in .codex/config.toml inside a trusted project.
How much does PaidSync.ai cost?
The Free plan includes 15 tasks a month with no credit card and no time limit. Pro starts at $99 a month for 600 tasks. Team starts at $249 a month for 5 seats and 6,000 shared tasks.
Start handing ad work to Codex.
Add PaidSync.ai once, then ask in plain words.


