Writing ChatGPT Ads That Read as Useful Rather Than Promotional
By Keshav Parsai 9 min read
In brief
Write ChatGPT ad copy that adds useful information after the answer instead of sounding like an interruptive marketing message.
Last verified: 12 September 2026 | Version: 1.0 | Next scheduled review: 12 December 2026
Write the ad as if it were the next sentence of the answer. That is the whole instruction. Everything below is why it holds and what it looks like applied to six real B2B offers.
The reason it holds is positional. On Google, your ad competes with four other ads written in the same register, so sounding like an ad costs you nothing relative to the field. In ChatGPT, the thing immediately above your ad is a considered answer the user requested and is in the middle of reading. Your ad is compared against that. The psychology of why users read the placement the way they do is covered in our post on conversational ads psychology; this piece is only about what that does to the sentences you write.
What the contrast tax is
Call it the contrast tax: the readability penalty an ad pays for being written in a different register from the content directly above it. It is not a penalty OpenAI applies. It is applied by the reader, in about a second, before they parse what you sell.
The tax is highest on the first three or four words of the headline, because that is the span where a reader decides whether this is still the answer or the start of a pitch. "Transform your finance team" fails there. "Close the books in four days" does not, because it reads as a claim about an outcome rather than a claim about your company.
The three moves that trigger it
Superlatives without a referent. Leading, best-in-class, world-class, number one. The answer above your ad does not talk like this, so the shift is audible.
Self-reference before user-reference. "We help B2B teams..." puts you in the first position. The answer above the ad never mentions itself. Start with the reader's situation or the outcome.
Verbs of transformation. Transform, empower, revolutionise, supercharge. These carry no information about what the product does, which is exactly why they read as promotional: a sentence that contains no facts can only be advocacy.
Six before and after rewrites
Each of these is a real B2B category. The before column is the register that dominates B2B paid search. The after column is what the same offer sounds like written as a continuation of an answer.
| Offer | Before | After |
|---|---|---|
| Revenue operations platform | Transform your revenue operations with the leading RevOps platform | Pipeline reporting when your CRM and billing system disagree |
| Employee onboarding software | Empower your people team with world-class onboarding | Onboarding for teams hiring across three or more countries |
| Managed detection and response | Best-in-class cyber security for growing businesses | Endpoint monitoring evidence your insurer will accept at renewal |
| Contract lifecycle management | Revolutionise how your legal team works | Where your signed contracts go after DocuSign |
| B2B payments and reconciliation | The number one payments solution for modern finance teams | Reconcile 4,000 invoices a month without adding headcount |
| Data warehouse consultancy | Data consultants who understand your business | Fixed-scope Snowflake migration, quoted before we start |
The pattern in the right-hand column is not that the lines are softer. Several are blunter. The pattern is that each one contains a fact you could argue with. "Quoted before we start" is falsifiable. "Expert consultants" is not.
A second pattern: four of the six rewrites name a condition rather than a benefit. "When your CRM and billing system disagree", "hiring across three or more countries", "at renewal". Conditions do the disqualifying work that negative keywords would do on other channels, and on ChatGPT Ads there is no exclusion layer to do it for you.
What to do with the description line
The headline earns the read. The description has one job, which is to make the next click predictable. Say what is on the other side of it.
Weak: Discover how leading finance teams are transforming reconciliation.
Better: How it matches bank feeds to invoices, with a worked example on 4,000 lines a month.
The second version is doing something specific: it is pre-committing the landing page. A reader who clicks it knows what they are getting, which is the only part of the post-click experience you control from inside the ad. This matters more here than on other channels because the click interrupts a task the user was already in the middle of. Our post on landing pages for mid-conversation traffic covers what happens after.
The length problem, which is unresolved
You cannot write to a character budget with confidence, because the published budgets do not agree. Across five public sources the headline limit is reported anywhere from 16 characters up to 50, and the description from 32 up to 100. HubSpot's own documentation for its ChatGPT Ads integration, published July 2026, states 3 to 50 characters for the title and 100 for the body. That is one vendor's reading of the API, not OpenAI's published spec, and it is the highest figure in the range.
The practical response is to write the short version first. Compose a headline that works at 30 characters and a description that works at 60, then check whether your account lets you extend. Truncation is documented behaviour, and a line that truncates mid-clause reads worse than a short line that reads clean. Our post on the headline character limit handles the conflict in more detail.
The honest part: none of this is measured
Everything above is a register argument, and register is exactly the thing ChatGPT Ads reporting cannot isolate. You get impressions, clicks, spend, CTR, average CPC, average CPM and conversions, at campaign, ad group and ad level. You do not get any signal about the conversation the ad appeared beside, so you cannot tell whether a low CTR came from the wrong register or the wrong match.
There is also a published result that cuts against the general assumption that conversational phrasing wins on this platform. Search Engine Land in 2026 ran one campaign with two ad groups and identical creative, one filled with Google-style keyword targeting and one with natural-language questions. The keyword group served far more, at a slightly higher CTR and slightly lower average CPC. That test is about targeting input, not ad copy, so it does not directly refute the argument here. But it is a reason to hold the whole "write conversationally" orthodoxy loosely, including this article's version of it, and to test the promotional version of your headline against the useful version rather than assuming.
The way to test it is ad-group separation, not ad rotation. Two ad groups, identical hints, identical budget, one register in each. Ad-level reporting exists, but comparing two ads inside one group gives you a delivery-weighted result rather than a clean one.
What we cannot tell you
- Whether register affects the auction. OpenAI documents relevance weighting but publishes no relevance or quality score you can read, so the effect of copy on cost is not observable.
- What conversation your ad appeared next to. No adjacency reporting exists. Absent by design.
- Which of your two ads got the harder placements. Delivery within an ad group is not reported at that granularity.
- The real character limits. Published sources contradict each other and OpenAI has not settled it in a single canonical spec.
- Any first-party copy test results from us. InPromptAds runs no campaigns of its own and has no account data to draw on.
Quick answers
Should ChatGPT ad copy sound different from Google ad copy? Yes, in register. The ad is read directly beneath an answer the user requested, so promotional phrasing is compared against that answer rather than against rival ads. Lead with a condition or an outcome, not with your company.
What is the single worst opening for a ChatGPT ad headline? A superlative with no referent, such as "leading" or "best-in-class". It carries no information, and a sentence with no facts reads as advocacy the moment it follows a factual answer.
How long should a ChatGPT ad headline be? Write to about 30 characters until you have confirmed your own account's limit. Published limits range from 16 to 50 characters across sources, and truncation is documented, so the short version is the safe one.
Does the description line matter if the headline earns the click? Yes. Its job is to make the landing page predictable. A reader clicking away from a conversation is interrupting a task, and an unpredictable destination is the fastest way to lose them.
Can I A/B test promotional against useful copy? Only across ad groups. Two ads in one ad group produce delivery-weighted results you cannot clean up, because ChatGPT Ads does not report how delivery was split within a group.
Do I need different copy per context hint? You cannot have it. Creative is set at ad level and hints at ad group level, with no per-hint reporting, so one ad group's copy speaks to every hint in it. That is an argument for one hint theme per group.
Sources
| Claim | Source | Tier |
|---|---|---|
| Reporting covers impressions, clicks, spend, CTR, avg CPC, avg CPM and conversions at campaign, ad group and ad level | OpenAI Ads Manager documentation, 2026 | Confirmed, primary |
| No adjacency or conversation-level reporting exists | OpenAI Ads Manager documentation, by absence | Absent |
| Creative fields are brand name, logo, headline, description, image and destination URL | OpenAI Help Center, ad creation guidance, 2026 | Confirmed, primary |
| Headline and description limits are reported inconsistently across published sources, 16/32 up to 50/100 | Five published write-ups, 2026, in conflict | Reported |
| Title 3 to 50 characters, body up to 100 characters | HubSpot ChatGPT Ads integration documentation, as summarised by Sidekick Strategies, 10 July 2026 | Reported |
| Truncation of over-length creative is documented behaviour | OpenAI Help Center, 2026 | Confirmed, primary |
| Keyword-style ad group outserved a conversational one with identical creative | Search Engine Land, 2026 | Reported, third party, single test |
| Register and contrast tax argument | Inference, ours | Inference, ours |
Related reading
- Why Conversational Ads Work Differently: The Psychology of the Placement
- The ChatGPT Ads Headline Character Limit Nobody Agrees On
- How Many Ads Should One Ad Group Have?
- Landing Pages for Traffic That Arrives Mid-Conversation
- Matching Ad Copy to Decision Stage Inside a Single Conversation
Changelog
12 September 2026, v1.0. First publication. Names the contrast tax as the register constraint specific to this placement and gives six B2B rewrites written as continuations of an answer rather than as pitches.
Field kit
Tools
Site
OpenAI (primary)
Keshav studies how AI systems retrieve, verify, and cite brand information. At InPromptAds, he leads source research and turns platform documentation into practical guidance for advertisers.