Browse guides
Create a ChatGPT Ads campaign
ChatGPT Ads is the third channel in Ads Studio, next to Meta and Google. Like them, a ChatGPT campaign is generated from your strategy and created paused in your own ad account, ready for you to review and activate. The one difference is how the account is connected: Meta and Google use OAuth, while ChatGPT Ads has no OAuth — you connect it with the Advertiser API key from OpenAI Ads Manager.
If you prefer not to connect an account, you can still download the campaign as an OpenAI Ads Manager bulk-upload workbook and upload it yourself.
Before you start
- You need a ChatGPT Ads advertiser account in OpenAI Ads Manager, with its brand review approved (an account under review cannot serve ads yet).
- To create campaigns directly, create an Advertiser API key in OpenAI Ads Manager under Settings → General → API Keys. Keys are per ad account; create it for the account the campaign should land in.
- Your Orchestra workspace should have a completed Blueprint (marketing strategy) and a website on file. Brand DNA improves the copy; an AI visibility (GEO) analysis improves the targeting where your plan includes it.
- Ads Studio is included from Starter. Creating a ChatGPT campaign counts like one Meta or Google campaign launch on your plan (Starter: one per platform per month; Pro and above: no fixed cap). Generating a workbook counts like one campaign plan.
1. Connect ChatGPT Ads
Open Ads. On the ChatGPT Ads card, paste your Advertiser API key and choose Connect ChatGPT Ads. Orchestra checks the key against OpenAI, stores it encrypted for your workspace, and shows the ad account it belongs to. The key is never shown again, never leaves our servers, and can be removed from the same card at any time.
What Orchestra does with the key: create your campaigns (always paused), pause and resume them when you ask, and read their results. Every change is also listed in OpenAI Ads Manager under Audit Logs.
2. Generate the campaign
Click New Campaign and choose ChatGPT Ads. The launcher walks through the campaign in ten short steps and pre-fills each one from your business:
- Objective — awareness, website traffic or conversions.
- Destination — the page the ad links to (pre-filled with your website).
- Geography — the countries to target; cities are matched against OpenAI's location list.
- Platforms — all of ChatGPT, or web, iOS and Android separately.
- Conversation targeting — Orchestra writes Context Hints: plain-language descriptions of conversations where your ad is relevant, such as small businesses comparing AI marketing tools. Edit, delete or add your own. The Campaign intelligence panel shows which sources fed them — website, Brand DNA, strategy, AI search topics and, with Advanced AI Visibility, competitor visibility gaps.
- Ad groups & ads — the hints are grouped into one to three themed ad groups, each with two to three ad variations. Titles can be up to 50 characters and copy up to 100 when creating directly (24 and 48 in the workbook); the counters turn red when you go over. One square image (PNG or JPG, 640–1200 px) is shared by every ad — generate one or pick from your library.
- Budget — daily or lifetime, in your account currency.
- Bidding — OpenAI requires a maximum bid on every ad group (CPM for awareness, CPC for traffic, cost per conversion for conversions). Orchestra shows a recommended starting bid you can accept or change.
- Conversion goal — for Conversions campaigns, pick the conversion event from the list Orchestra reads through your key (Find my conversion events). Orchestra never invents the ID. Conversion-optimised bidding may need to be enabled by OpenAI for your account; if OpenAI refuses the campaign for that reason, contact OpenAI or run a Website traffic campaign meanwhile.
3. Review and create
The review step lists the campaign, every ad group with its Context Hints, and the ads. Choose Create paused campaign in ChatGPT Ads. Orchestra creates the campaign, its ad groups and ads in your account — all paused — and OpenAI starts reviewing each ad. Nothing serves and nothing is charged until you activate the campaign.
If a step fails after the campaign was created (for example an ad rejected by OpenAI's validation), Orchestra tells you exactly what exists in your account so you can fix it in OpenAI Ads Manager or archive it there and create the campaign again.
4. Activate and follow results
When you are ready, use Resume on the campaign in the Ads campaign table. Orchestra activates the ads, the ad groups and the campaign together. Pausing from the same table pauses the campaign. Performance (impressions, clicks, spend, conversions) is synced daily once the campaign delivers and appears next to your Meta and Google campaigns. Ad spend is billed by OpenAI to your own advertiser account.
Alternative: download the workbook instead
Without a connected account, the same launcher ends with Generate ChatGPT Ads Workbook.
Orchestra validates every field against OpenAI Ads Manager's bulk-upload template, fills the
official workbook (sheets campaigns, adgroups, ads, status paused) and offers the
.xlsx for download. In OpenAI Ads Manager choose the bulk campaign upload option,
import the workbook, check the campaign and activate it. Workbook rules: a daily budget of at
least 15.00, titles up to 24 characters, copy up to 48, and only the countries OpenAI's
template accepts. Orchestra shows no delivery data for workbook campaigns.
What Orchestra does not do yet
- Optimise running ChatGPT campaigns automatically (recommendations are Meta and Google only).
- Edit a ChatGPT campaign's targeting or ads after creation — do that in OpenAI Ads Manager.
- Product-feed (catalogue) campaigns.
Troubleshooting
- "Add your ChatGPT Ads API key" — connect the account on the ChatGPT Ads card first.
- "OpenAI Ads Manager rejected this API key" — create the key in Ads Manager under
Settings → General → API Keys for the same ad account, and paste it exactly as shown (it
starts with
sk-svcacct-). Keys are per ad account. - "Enter a maximum bid" — OpenAI requires one on every ad group; accept the recommended bid or type your own in the Bidding step.
- The campaign was created but does not serve — check the ad review status and the account's brand review in OpenAI Ads Manager, and make sure the campaign is activated.
- A 403 when creating a Conversions campaign — conversion-optimised bidding is not enabled for the account yet. Contact OpenAI, or run a Website traffic campaign meanwhile.
- Image rejected — the image must be square, 640–1200 px, PNG or JPG, and publicly reachable. Generated images meet these rules; some uploads do not.
- "Campaign intelligence" shows no analysis yet — the source is included in your plan but has no stored result. Run the analysis in SEO or GEO and generate the campaign again.
Related: Launch your first ad campaign (Meta and Google) · GEO / AI Visibility · Pricing