Build & launch

Campaign builder & pre-flight

A ChatGPT campaign is a tree: campaign, ad groups, ads — each ad a chat card with a title, a line of copy, an image and a link. We build the whole tree from your brand profile, and then we try to break it before OpenAI's review can.

Everything arrives finished, nothing arrives final

Generation produces a complete plan: one campaign per offer, ad groups split by intent, 5–8 hints each, two to three chat cards per group — which doubles as your A/B test, since the platform doesn't run those for you. Cards are previewed exactly as ChatGPT renders them, down to where the real unit truncates your title (around 35 characters, well before the API's official limit — we learned that one so you don't have to).

Every piece is editable — inline, or by telling the chat what you want ("make these hints broader", "rewrite this card around the fixed price"). New campaigns land as proposals: clearly separated, approved or discarded by you, never pushed and never spending until you say so. If the defaults are right, approving everything untouched is two clicks.

Budgets that actually deliver

This auction clears higher than search veterans expect — the platform's own suggested bid is around $3.00 per click, and accounts that bid like it's 2015 Google bought precisely nothing. Our defaults start where delivery actually happens, scaled to your currency, and the editor explains why. A bid that silently never serves is the worst kind of failure: it looks like the channel doesn't work.

Pre-flight: the review before the review

OpenAI reviews every ad, and beta accounts report it can take up to a day. Getting rejected means losing that day. So before anything can launch or export, pre-flight checks the things reviews actually fail on:

  • Missing images, and images smaller than the 256 × 256 the platform accepts
  • The same picture on two cards in one ad group
  • Landing pages that 404, redirect wrong, or block OpenAI's crawler
  • Claims your landing page can't back up
  • Weak copy that will run but shouldn't

Hard failures block launch until fixed. Judgment calls — "this copy is weak" — can be consciously accepted, and the acceptance is stored, so a re-check doesn't nag you about a decision you already made.

Pre-flight — our review before OpenAI's
  • Every card has an image (256 × 256 or larger)
  • No picture repeated inside an ad group
  • Landing pages load and allow OpenAI's crawler
  • No claims the landing page can't back up
  • Titles fit before the card truncates them

Images included — even when your site has none

Chat cards need pictures, and plenty of good businesses have websites with none worth using. We harvest what your site has (with your recorded permission — it's your site, your images, your call), you can upload your own, and when the library is thin, one click drafts four different AI-generated photographic options from everything we know about the offer. Keep the ones you like; they're yours.

  • A plumber's hands tightening a copper fitting under a sink with an adjustable wrench.
  • A work van parked at dusk on a residential street, rear doors open.
  • A worn toolbag on a hallway floor beside a radiator.
  • The open rear doors of a work van on a wet street.
Four options drafted for one ad group. You keep the ones that work.

Launch through your key, or leave with the export

Connect your ChatGPT Ads API key and we push the plan: created paused, activated only once every piece exists, review status watched so you hear about approval — or get a concrete fix for a rejection — without refreshing anything. Prefer to run it yourself? The export is a first-class citizen: JSON that pastes into the API, a CSV, or a step-by-step checklist for Ads Manager. Your work leaves with you.

Build the whole plan free

You don't need an Ads account to build — only to launch. Start from your domain and see the plan it produces.