Blog · 2026-08-31 · 13 min read

Building a ChatGPT Ad: Card Specs, Crawler Rules, Rejections

What the ChatGPT ad card requires, why ads silently fail to serve, and what gets creative rejected, with a pre-submission checklist.

A ChatGPT ad is not a Google Ads text ad with fifteen headline variations and four description slots to rotate. It is one fixed object: a single card, six required parts, rendered once, below an answer the model already gave for free. There is no headline-testing matrix, no video, no carousel. The rules for what fits inside that one card are thinner than what advertisers coming from Google or Meta are used to, and some of the thinness is real: OpenAI genuinely has not published certain numbers yet.

Everything below is the craft of that one card: its six parts, the character-limit guessing game, the invisible technical rule that stops ads from ever serving, the two rejection reasons behind most bounced creative, and the product-feed format for stores. There is a checklist at the end; run it before you submit anything.

Where the documented spec runs out, we say so. OpenAI has published no character limits, no video format, no cap on ads per conversation. Anything here that goes past the documentation is reasoning from where the ad sits in a conversation, and it is labeled as exactly that, because nobody outside OpenAI has published a measured answer yet.

The card: six pieces, one shape

Annotated ChatGPT ad card showing the six required parts and the disputed character limits
The six required parts, and the honest state of the character limits: estimates, not specs.

Every ChatGPT ad is the same object: a card that appears below ChatGPT's answer, labeled "Sponsored," never inside the answer itself. OpenAI calls the underlying commitment Answer Independence: paid placement does not change what the model actually tells the user (OpenAI, Feb 2026).

The card has six required parts, confirmed in OpenAI's own advertiser documentation and independently described by industry coverage (OpenAI Help Center: Create ads for ChatGPT, Aug 2026; OpenAI Help Center, Ads in ChatGPT: the basics, Aug 2026; eMarketer, Jun 2026):

  • Advertiser name: pulled from the account, not typed fresh per ad.
  • Favicon: the site icon, shown small next to the name.
  • Title: the headline.
  • Description: the supporting copy.
  • Landing URL: where the click goes.
  • One image: square (1:1), minimum 256x256 pixels, JPG, PNG, or WEBP.

That is the entire unit. No second image, no image set, no video field, no set of variations to rotate. For how this card fits into account structure, targeting, and the auction around it, see how ChatGPT ads work.

"Keep it concise": the character-limit situation

OpenAI's Create Ads help page with copy guidance and no exact character limits
OpenAI's creative guidance runs on principles, not counts: benefit-focused copy, distinct variations, no exact limits anywhere.

OpenAI has not published a character count for the title or the description. Its own creative guidance says to keep titles concise, spell out the value clearly, and lean on useful detail over broad marketing language in the copy (OpenAI Help Center: Create ads for ChatGPT, Aug 2026). That is the entire official spec: adjectives, no number.

Third-party trackers have tried to back into a number by watching what actually renders before truncation. The estimates land short and tight: roughly 16 characters for the title and 32 for the description, by one account covering the UK launch (PPC Land, Jun 2026); a separate creative guide puts it at 16 to 24 characters for the title and 32 to 48 for the description (Abmatic, May 2026). Both are outside estimates, not specs, and neither publisher claims otherwise: treat the range, not either single number, as the useful information.

For a sense of scale: a Google Ads headline runs to 30 characters and most advertisers still find that tight. Write the ChatGPT title as if it gets one clause. Write the description to add one fact the title had no room for, not to restate the title in different words.

The failure mode nobody notices: crawler access

This is the one requirement in this article that is unambiguous, documented, and still gets missed constantly: the landing page must not block OAI-AdsBot, and separately must not block OAI-SearchBot, or the ad will not serve. Official guidance is direct: landing pages must "use valid links and must not block OpenAI user agents" (OpenAI Help Center: Create ads for ChatGPT, Aug 2026).

OAI-AdsBot exists specifically to fetch pages submitted as ads, check them against policy, and read the page to help judge when the ad is relevant to show (OpenAI: crawler documentation, Aug 2026; reported in Search Engine Journal, Apr 2026). If the crawler cannot reach the page, nothing gets validated, and an ad with nothing validated does not run.

Three things make this easy to get wrong:

  1. Separate tokens. OAI-AdsBot, OAI-SearchBot, and GPTBot (the model-training crawler) are three distinct user agents in robots.txt. A rule that allows one does nothing for the others (PPC Land, Apr 2026). Blocking GPTBot to keep content out of training data is common and reasonable, and it has no bearing on whether ads run, as long as OAI-AdsBot itself is not also blocked.
  2. robots.txt is not the only gate. A WAF, a CDN rule, a bot-mitigation product, rate limiting, or a login wall in front of the landing page can each stop the crawler even when robots.txt is clean. None of those show up if robots.txt is the only thing checked.
  3. It is quiet. There is no dashboard message that says the crawler was blocked. The ad simply fails to deliver, which looks identical to every other reason a ChatGPT ad might underperform.

Anyone setting up an account for the first time should confirm crawler access before writing a single line of creative. See setting up a ChatGPT ads account for the rest of that sequence.

Three review layers, and the rejection reasons that keep showing up

Every ad passes through three layers of review, laid out in OpenAI's own ad policy: the advertiser (is this a real, eligible business, clear of fraud and scam signals), the creative and landing page (title, copy, media, and whether the landing page actually works and matches the claim), and placement (does the approved ad only appear in conversations that fit the placement policy) (OpenAI: Ad policies, Aug 2026). Mechanically, review is hybrid: automated classifiers and language models screen first, and borderline, complex, or high-severity cases escalate to a human reviewer (Abmatic, May 2026).

Two rejection reasons come up over and over in practitioner reporting, and both trace back to the same underlying rule: ads must be clearly distinguishable from the product experience. OpenAI's policy reserves the right to remove or force edits on any ad that imitates "the appearance, functionality, or voice of ChatGPT" in a way a user could mistake for the product itself (OpenAI: Ad policies, Aug 2026).

The first documented pattern is exactly that: creative styled to look or sound like ChatGPT's own output instead of a clearly separate ad. The second is a specific case of the same problem: copy that states or implies "ChatGPT recommends" the product, or "as the AI suggests," language that borrows the model's authority for a paid placement it never actually gave (AdventurePPC, Feb 2026). Answer Independence is the same commitment from the other direction: the model's actual answer does not change because someone paid for a placement, and the creative is not allowed to claim otherwise.

Two things are worth knowing before submitting anything. There is no appeals process documented anywhere in OpenAI's advertiser materials, so a rejected card gets rewritten and resubmitted rather than contested (OpenAI: Ad policies, Aug 2026). And the policy itself has been revised repeatedly: trade press has tracked several rounds of changes to eligibility and category rules between February and August 2026, including at least one reversal (Abmatic, May 2026). Vertical-specific restrictions (health, finance, legal) are their own large topic; see restricted industries on ChatGPT ads.

The product-feed format: built for a catalog, not most of this audience

On May 12, 2026, OpenAI added a second way to get a card in front of users: product-feed ads. Instead of a title, description, and image written by hand, a retailer connects a structured product catalog, and ChatGPT auto-generates cards from the feed's names, images, and attributes (Search Engine Land, May 2026). The feed format reuses the same structured file retailers already send to Google Merchant Center, so an existing Shopping feed does not need to be rebuilt from scratch.

The rendered card is still the same object described above (advertiser name, favicon, title, description, landing URL, one image), just populated automatically instead of by hand, and matched to a conversation by product attributes such as material, category, or use case, rather than by the context hints a manually built card relies on.

OpenAI has not published a minimum or maximum catalog size for this feature, and secondary sources describing it give figures that do not agree with each other by a wide margin. That disagreement is itself the honest answer: no one outside OpenAI has a confirmed spec sheet for catalog size yet, so no specific number belongs in this article.

What matters more for this audience is fit, not the missing numbers. Product-feed ads are built for businesses with an actual catalog: apparel, home goods, multi-SKU retail. Most of the verticals this site covers day to day (moving companies, home-energy installers, course sellers, travel bookings, comparison portals) do not have a catalog to connect and will keep building the standard card by hand. Businesses that do run a product catalog and are weighing the spend involved can find that covered separately in what ChatGPT ads cost.

What doesn't exist yet

Worth stating plainly, because it comes up constantly: as of August 2026, ChatGPT ads have no video format and no documented carousel or multi-image unit. Trade coverage has speculated that richer formats are coming; none is live or specified in OpenAI's own materials. The card (one title, one description, one image) is the format, twice over, whether built by hand or generated from a product feed.

There is also no disclosed cap on how many sponsored cards a single conversation can carry. OpenAI's documentation addresses the response level only, and the practical ceiling reported is one ad per individual response. It says nothing about a thread-level maximum. Given that 66.3% of ad impressions land at the second conversational turn or later, not the first reply (Similarweb data via PPC Land, Aug 2026), a long back-and-forth that stays in commercial territory could plausibly carry more than one ad over its course. There is simply no published number to check that against.

Writing for where the ad actually sits

Here the documented spec runs out and reasoning has to take over. What follows is reasoning from placement, not a tested result: nobody outside OpenAI has published a controlled comparison of creative styles in this exact spot, and this site has not run one either.

The ad renders below a ChatGPT answer, mid-conversation, not above a page of ten blue links. By the time most users see one, they have already read at least one full answer in that thread, in ChatGPT's own register: direct, unembellished, matter-of-fact, no exclamation points. The card shares the screen with that answer. It is not replacing a results page the user was scanning for options. It sits underneath something the user already read and, presumably, is still thinking about.

That placement is an argument for copy that keeps answering the same implicit question rather than copy that tries to interrupt with an offer. A card that reads like the next sentence of the answer above it (specific, plain, one useful fact per line) sits naturally where it lands. A card written in the register of a banner ad ("Limited time! Click now!") sits next to plain-register text like a pop-up interrupting a text message thread: it reads as foreign before it reads as relevant.

This happens to line up with what OpenAI's own creative guidance already says, arrived at separately from any placement argument: spell out the value clearly, favor useful detail over broad marketing language, keep the description straightforward and additive rather than repetitive (OpenAI Help Center: Create ads for ChatGPT, Aug 2026). The official guidance and the placement logic point the same direction; the point here is the reasoning behind it, not a new data point.

The same logic extends to the landing page. Official guidance is to link to a specific product, collection, or content page, not a homepage, so the click continues what the ad claimed instead of dropping the user somewhere they have to reorient. A user who just read a specific answer and clicked on a specific claim should land on a page that keeps answering that exact claim.

Pre-submission checklist

Work through this in order before submitting a card:

  1. Confirm OAI-AdsBot is allowed in robots.txt, checked as its own token: a GPTBot or OAI-SearchBot rule does not cover it.
  2. Separately confirm the WAF, CDN, or bot-mitigation layer is not blocking OAI-AdsBot. A clean robots.txt does not mean the crawler can actually reach the page.
  3. Load the exact landing URL, not the homepage. Confirm it returns a working page on both desktop and mobile.
  4. Confirm the landing page's specific claim matches the ad's specific claim: same product, same offer, same terms.
  5. Prepare one image: square (1:1), at least 256x256 pixels, saved as JPG, PNG, or WEBP.
  6. Write the title as one clause, budgeting for roughly 16 characters before rendering confirms otherwise.
  7. Write the description to add one fact the title had no room for, budgeting for roughly 32 characters.
  8. Cut marketing superlatives: "best," "guaranteed," "revolutionary." The policy bars unsubstantiated claims.
  9. Cut any comparison to a named competitor.
  10. Check the whole card for anything that could read as ChatGPT's own interface, tone, or voice rather than a clearly separate ad.
  11. Confirm nothing in the copy states or implies that ChatGPT recommends, suggests, or endorses the product.
  12. Add UTM parameters to the destination URL before submitting, not after approval.
  13. If the business runs a product catalog, check whether the product-feed path fits before building single cards by hand for every item.

There is no appeals process, so treat this list as the whole review: a rejected card gets fixed and resubmitted, not argued with.

Questions we keep getting

Is there a video or carousel format?

No. As of August 2026, the only documented format is the single card: one title, one description, one image. That holds whether the card is built by hand or generated from a product feed.

What image size should be submitted?

The documented floor is 256x256 pixels, square, saved as JPG, PNG, or WEBP. That is a minimum, not a target. A small image submitted at exactly the floor size will render worse than a larger one, even though OpenAI has not published a recommended size above the minimum.

Why did an ad get rejected without a clear reason?

Because the process does not publish one. Review is a hybrid of automated classifiers and human reviewers across three layers (advertiser, creative and landing page, and placement), and OpenAI has not documented which layer flags a given rejection, or why. Before resubmitting, check the two most common patterns first: anything that could read as mimicking ChatGPT's own voice or interface, and anything implying that ChatGPT endorsed the product.

Does blocking GPTBot also block ads from serving?

No. GPTBot, OAI-SearchBot, and OAI-AdsBot are three separate robots.txt tokens. Blocking GPTBot to keep content out of model training does not affect ad validation, but OAI-AdsBot has to be checked on its own; nothing about a GPTBot rule carries over to it.

Does the product-feed format apply to a service business?

Usually not. It is built around a structured catalog of products, the kind of feed a retailer already sends to Google Merchant Center. A moving company, a solar or heat-pump installer, a course provider, or a comparison portal typically sells offers, not SKUs, and will keep building the standard card by hand rather than connecting a feed.

Sources