Open beta · launch price

Ninja Scripts Suite · for ChatGPT Ads

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 days

No card · afterwards, from €29/month per account · see the launch price ↓ · what it already does ↓

The MCC that ChatGPT Ads does not have

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.

⏰ What OpenAI's Ads Manager cannot do

Your ChatGPT ads, only when and where they pay off

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 needOpenAI Ads ManagerSuite 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 onCampaign by campaign, account by account✓ From the dashboard, for all your accounts
A separate campaign for each deviceBuild it and copy the ads by hand✓ Duplicated in one click, paused
Know when something is not applied✗✓ Email alert
⏰ Office hours

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 only, or mobile only

Desktop, the iPhone and Android apps or mobile web: all six OpenAI options, one click per campaign.

🧬 One campaign per device

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.

What it watches every day

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.

🏷️

Brand review

If the account or a campaign cannot serve, we tell you why: a pending or rejected brand review and the other reasons OpenAI gives.

🚫

Rejected ads

Every ad whose review was rejected, so you can fix it before losing days of campaign.

🪙

Bids too low

Ad groups where OpenAI warns that the bid is not enough to serve.

😴

Stalled campaigns

Active, approved campaigns with no impressions for two days: something is holding them back.

💸

Spend without conversions

Campaigns that measure conversions and spend without getting any.

📈

CPC spikes

Cost per click shoots up against its median of the previous two weeks.

What else you will see in the panel

🗂️

All your accounts in one table

Impressions, clicks, CTR, spend, conversions and cost per conversion for every account, over the last 7 or 30 days.

📊

Every ad, day by day

Performance per ad and per day, with the figures from the OpenAI API.

🧭

The structure at a glance

Campaigns, ad groups with their context hints and ads with their review status, without opening each account.

🔌

Connecting means pasting a key

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.

🤝

For agencies and freelancers

Built for anyone managing several ChatGPT Ads accounts, their own or their clients’.

🌐

In English and Spanish

The panel and the alerts come in your account’s language.

🔒 You decide what data leaves your system

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 onClick identifierHashed emailOut of audiences
Nothing (default)only from those who consentedonly from those who consented—
«Also leads without the click identifier»yesfrom everyone who consented—
«Also send leads who did not consent to advertising»yesnever from someone who said noyes (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.

🗺️ What it already does, and what is coming

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.

Working now

🗂️ Dashboard and watchdog

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.

Working now

📈 Dashboard and reports

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.

Working now

🩺 Account audit

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.

Working now

🧪 Ad lab and ad tests

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.

Working now

🧭 AI context hints

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.

Working now

🎛️ Bids and budget

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.

Working now

⏰ Schedule and devices

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 ↑

Working now

🏗️ Create campaigns and groups

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.

Working now

🚫 Rejected ads, with Claude

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.

Working now

🧰 Bulk editor

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.

Working now

📐 Relevance index

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.

Working now

🧪 Demo account

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.

Coming

🤖 Automatic bids and budgets

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.

Coming

🔁 Ads that do not stall

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.

When OpenAI opens it in Europe

🚫 Stop paying for your customers

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.

Launch price · kept for early subscribers

From €29/month per account, with 30 days free

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 accountsPrice 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.

🧪 Beta launch. The tool keeps growing every week with features we are still building. That is why the launch price is lower: whoever subscribes now keeps it, and it will go up for new subscribers once the tool leaves beta.
🤖 The AI runs on your own account, with plain numbers. The features that write with AI —context hints, ad variants, groups, campaigns and rejected-ad fixes— use your own Claude (Anthropic) key, pasted once in the dashboard; Anthropic bills that usage, not us, and only what you use. Each proposal costs about $0.02 and each AI-generated image about $0.04:
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
“My accounts” shows the usage per tool. Everything else —watchdog, reports, audit, recommendations, schedule, bulk editor— is included, nothing extra.

30 days free, no card, up to 3 accounts. Then monthly card payment through Stripe; cancel any time from the dashboard.

🎓 Learn ChatGPT Ads for free, subscription or not

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.