All your ChatGPT Ads accounts in one dashboard: it watches, reports, audits and proposes —and applies, with your approval— what OpenAI's Ads Manager does not do.
🧪 Try it free for 30 daysNo card · afterwards, from €29/month per account · see the launch price ↓ · what it already does ↓
Advertising in ChatGPT is now self-service in many countries, but every advertiser has their own account and OpenAI offers no manager account like the Google Ads MCC: if you manage several, you go in and out of each one separately.
Ninja Scripts Suite · for ChatGPT Ads brings them together in your Ninja Scripts panel. You connect each account once with its Ads API key and the panel reads it every hour: review status, campaigns, ad groups, ads and the performance of every ad, day by day.
Nothing changes without your say-so, and the key is encrypted. The tool reads and alerts; it only touches your accounts when you ask it to (context hints, ad variants, schedule or devices), and anything new starts paused. The key is stored encrypted, only our server uses it, and it is deleted when you disconnect the account.
ChatGPT Ads cannot schedule ads by hour or by day: a campaign runs at any time, including the middle of the night. From the dashboard you choose each campaign's hours and devices, and we turn it on and off for you.
| What you need | OpenAI Ads Manager | Suite for ChatGPT Ads |
|---|---|---|
| Run only during your hours (for example, Monday to Friday, 9 to 6) | ✗ Not available | ✓ Days and hours per campaign |
| Choose which devices it runs on | Campaign by campaign, account by account | ✓ From the dashboard, for all your accounts |
| A separate campaign for each device | Build it and copy the ads by hand | ✓ Duplicated in one click, paused |
| Know when something is not applied | ✗ | ✓ Email alert |
Pick days and hours in your account's time zone. The dashboard checks every 5 minutes and turns the campaigns you select on or off.
Desktop, the iPhone and Android apps or mobile web: all six OpenAI options, one click per campaign.
Copy a campaign with its ad groups and ads for a single device and give it its own budget. If you like, we remove that device from the original so they do not compete.
Why does it matter? In our own campaign, almost all first-night traffic came from phones at 3 a.m.: 2 seconds on the page and no sign-ups. We explain it in the Academy, for free.
We only write when something new comes up: a problem that lasts several days is a single alert. Good news too, such as an approved brand or a lifted block.
If the account or a campaign cannot serve, we tell you why: a pending or rejected brand review and the other reasons OpenAI gives.
Every ad whose review was rejected, so you can fix it before losing days of campaign.
Ad groups where OpenAI warns that the bid is not enough to serve.
Active, approved campaigns with no impressions for two days: something is holding them back.
Campaigns that measure conversions and spend without getting any.
Cost per click shoots up against its median of the previous two weeks.
Impressions, clicks, CTR, spend, conversions and cost per conversion for every account, over the last 7 or 30 days.
Performance per ad and per day, with the figures from the OpenAI API.
Campaigns, ad groups with their context hints and ads with their review status, without opening each account.
Nothing to install: create an Ads API key in your account, paste it into the panel and you are done. When you disconnect, we delete it.
Built for anyone managing several ChatGPT Ads accounts, their own or their clients’.
The panel and the alerts come in your account’s language.
Measuring conversions forces an awkward decision: what travels to OpenAI about each person who leaves you their details. Those who decline advertising, those who arrive without the click identifier, those who come from another channel… In most tools that means an email to your developer and a conversation with your legal advisor. Here it is two checkboxes, and the panel tells you exactly what goes out in each combination.
| What you turn on | Click identifier | Hashed email | Out of audiences |
|---|---|---|---|
| Nothing (default) | only from those who consented | only from those who consented | — |
| «Also leads without the click identifier» | yes | from everyone who consented | — |
| «Also send leads who did not consent to advertising» | yes | never from someone who said no | yes (opt-out) |
🛡️ Everything ships in its most conservative setting: nothing is sent about someone who declines advertising, and from those who consent only the minimum needed to attribute. Turning them on is your call, not ours, and it changes at any time without touching a line of code or waiting for anyone.
📗 And you don't have to guess which one suits you: next to each checkbox there is a link to the exact point in the manual that explains it case by case —which leads qualify, what travels to OpenAI and when each option makes sense—, with a real example of why the figures in your sheet, in the panel and in OpenAI may not match without any of them being wrong. The full manual is free and readable without an account.
Everything below is up and running, and we use it every day on our own accounts. It is a beta launch: the tool grows every week, which is why the launch price is lower and stays that way for whoever joins now.
All your accounts in one table, read every hour: campaigns, groups with their hints and ads with their review status. Email alerts only when something new appears: brand review, rejected ads, low bids, stalled campaigns, spend without conversions, CPC spikes.
A chart with the metrics you pick and the period you choose, funnel, countries and devices. Every Monday the week's report and on the 1st the month's: figures against the previous period by campaign, group and ad, best and worst ad and the effect of every change.
A 0–100 score across six areas —delivery, structure, ads, measurement, money and relevance—, the findings sorted by severity with the button that takes you to fix them, and what cannot be judged yet, said plainly.
AI-proposed headline and line variants —and a new image per variant with your own image AI, if you like—, created paused. When you switch them on, each one opens a test against the base ad with a statistical verdict: wins, loses, no difference or not enough data. Plus a map of the angles already tried, so they are not repeated.
Proposed from your landing page and your business, in the style OpenAI asks for. You review, apply with one click, can undo and see the effect of every change after 7 days. If someone changes them in the Ads Manager, it tells you.
A judge that checks whether each group meets your target cost per conversion and recommends with numbers: fixed bid, strategy and budget. You apply with a button, with caps per move, a quarantine so learning is not broken, and undo.
What OpenAI's Ads Manager does not allow: scheduling each campaign by day and hour, choosing its devices from the dashboard and duplicating it for a single device with its own budget. How it works ↑
A complete campaign from scratch —country, budget, platforms, groups with their hints and a starter ad— or based on one of your campaigns, plus new intent-based groups. Everything starts paused, with your image or an AI-generated one.
Every rejection with its reason, the diagnosis against OpenAI's policies, up to three fixes that fit the card and the appeal argument ready to paste. You apply the fix and the ad goes back to review without leaving the dashboard.
Pause, activate and change budgets, bids and strategies across many campaigns and groups at once, in several accounts, with a row-by-row simulation first and undo for the whole batch.
How much the hints, the ads and the landing page of each group talk about the same thing —the closest thing to a Quality Score that exists in ChatGPT Ads—, with orphan hints and groups that mix two intents.
Before connecting yours, a made-up account with two months of data to see how each tool works. It never touches OpenAI and goes away with one click.
Today the judge recommends and you apply with a button. Next is an automatic mode with caps, quarantine and everything reversible, once your account's history justifies it.
Automatic analysis of every ad: when one stalls, the dashboard proposes new variants by itself, with angles you have not tried yet, like the RSA Optimizer does in Google Ads.
Exclude existing customers from your ads, in the markets where OpenAI allows it. It is not available in the European Economic Area or Switzerland today.
The OpenAI platform changes every few weeks and the tool with it: whatever is added during the beta joins your subscription without changing your price. With the Suite for Google Ads and with Ninja Leads (separate subscriptions) extra features unlock, explained on their own pages: start from what already converts in Google Ads and bid for quality with Lead Rating. In the dashboard they show with a lock 🔒 until you have them.
Its own subscription, not included in the Suite for Google Ads. 1 licence = 1 connected ChatGPT Ads account, and each licence is billed at its tier's price.
| Connected accounts | Price per licence |
|---|---|
| 1st licence | €29/month |
| 2nd to 5th | €15/month |
| 6th to 15th | €9/month |
| 16th onwards | €6/month |
Examples: 1 account, €29/month · 5 accounts, €89/month · 10 accounts, €134/month · 25 accounts, €239/month.
| Normal use (one account: hints and variants every week) | ≈ $0.12/month |
| Heavy use across 5 campaigns (new hints, variants and images every week in each one, plus new campaigns and fixes) | ≈ $2-3/month |
| Very high: daily proposals in those 5 campaigns | ≈ $10-15/month |
30 days free, no card, up to 3 accounts. Then monthly card payment through Stripe; cancel any time from the dashboard.
27 free lessons at the Ninja Academy —the most complete ChatGPT Ads training around— plus the platform news every week.
No ChatGPT ads account yet? Create one at ads.openai.com.