ChatGPT ads

Bought with context, not audiences.

Which is why most teams set them up wrong: they arrive with audiences, creatives and a CPA target borrowed from a channel a thousand times the size.

Before the spend

Nothing here errors when it breaks.

Every failure below is silent: the event is dropped, the number is wrong, the sale is uncredited, and no console anywhere says so.

What we check

  • Every oaiq event against the SDK's own table and field whitelist
  • Amounts in whole minor units — a decimal gets the sale thrown away
  • Identifiers hashed, never a plaintext email forwarded raw
  • The ad click surviving into the __oppref cookie
  • An event_id on everything, or the Conversions API double-counts it

What you get back

  • A cost per acquisition you can defend in a meeting
  • This channel reported apart, not blended into “direct”
  • A how-did-you-hear-about-us field for the arrivals with no referrer
  • The words your buyers actually use, which is worth more than the clicks
What the placement sits on

The ad doesn't invent your description. It borrows one.

Attaching to a moment means something has to already say what you are, in text a model can read. That is the same material the unpaid answer is built from — so this half of the work pays twice, and it's the half that takes months.

What you own

Your store listing and the reviews under it. The most under-worked surface there is, and the only one on this list you can change this week.

What you don't

Comparison pages, review sites, third-party write-ups, and the forums your buyers already read. Slower, and worth more precisely because you can't publish them yourself.

What doesn't move it

More posts on your own blog once you're already being read, and phrasing built for a search box rather than for how someone talks to a chat.

FAQ

The questions we get asked.

What is a ChatGPT ad, mechanically?

A placement next to an answer, matched to what the person is describing. You aren't picking an audience and you aren't bidding on a keyword — the fit is decided by what your product is understood to be. That is why the setup work reads more like documentation than like an ad: you're making sure the description of your product that exists in the world is the one that fits the moment you want.

What should I expect it to cost, and to return?

The inventory is small and always will be, so it will lose any impression-volume comparison against Meta or TikTok. What it returns is placement at the moment of decision and unusually clean intent data — you learn the words your buyers actually use. Judge it on the cost of an acquisition and on what it teaches you, not on reach.

Why does the pixel come first?

Because its failures are silent. A purchase value sent as 49.99 rather than 4999 is not rounded — the event is rejected outright, so the sale never reaches your reporting. An event called purchase — borrowed from Meta — isn't in OpenAI's taxonomy and is dropped on arrival. One undocumented key inside an item makes the SDK discard the whole event rather than the field. A plaintext email where a SHA-256 hash belongs isn't rejected, it's forwarded raw. Nothing errors. You would simply read the numbers and believe them.

The docs and the SDK disagree. Which do you follow?

The SDK. What decides whether an event is kept is the event table and field whitelist inside the shipped oaiq.min.js, not the documentation — and they diverge in both directions. The docs list app_installed as supported when the table has no such entry; the docs say hashes must be lowercase when the regex accepts uppercase and folds it. Following the docs alone means reporting working installs as broken and broken ones as fine.

Do you also do the organic side?

It's the same work, so yes — but not as a separate retainer with a content calendar attached. What earns a paid placement is how your product is described where a model can read it: your store listing and its reviews, comparison pages, third-party write-ups, the forums your buyers already use. That is also what decides the unpaid answer. We don't sell blog posts on your own domain; models discount obvious vendor material, and if you're already being read, more of it changes nothing.

Does posting on TikTok help me show up in ChatGPT?

Almost not at all. TikTok and Instagram are walled off from the crawlable web — no reliable public transcripts, no indexable text. Answer engines build their picture of a category from text they can read. A video can be the best money you spend and still leave no trace here.

Start with your own pixel.

It's free, it takes a minute, and what it says about your setup is the most honest introduction to how we work.