Preview your ad and build its URL
This tool previews a ChatGPT ad as you type and builds a tagged landing page URL. Enter your advertiser name, title and description to see the card as it appears below a ChatGPT answer. Each line is checked against OpenAI’s limits. Then tag your landing page so every click shows up in your analytics.
Everything runs in your browser. Nothing you type is stored or sent anywhere.
What the tool checks
| Element | OpenAI’s rule | Source |
|---|---|---|
| Title | 3 to 50 characters. OpenAI recommends 16 to 24. | Developer docs Help Center |
| Description | Up to 100 characters. OpenAI recommends 32 to 48. | Developer docs Help Center |
| Name and icon | Your ad account’s name and icon appear on every ad. | Help Center |
| Landing page | Must be a valid, reachable link that doesn’t block OAI-AdsBot or OAI-SearchBot. You can add your own UTM parameters to each ad. | Help Center |
| URL macros | {campaign_id}, {ad_group_id}, {ad_id} and {ad_account_id}, filled in by Ads Manager at delivery. | Help Center |
Three tips in the tool are our own editorial advice. OpenAI doesn’t require them. They flag words the description repeats from the title, words in capitals, and repeated punctuation. OpenAI’s own guidance is that the copy should add new information.
What an ad is made of
An ad on OpenAI’s platform has six parts: brand name, logo, title, copy, landing page and image. The preview draws the first four the way they appear on the card. You supply the other two in Ads Manager.
The image is a PNG or JPG, square, no larger than 1200 by 1200 pixels, on a publicly accessible address. The landing page must be valid and reachable. OpenAI says to allow OAI-AdsBot, and it recommends allowing OAI-SearchBot too.
An account can hold up to 5,000 campaigns, ad groups and ads in total. That’s room to test many variations, which is what OpenAI’s guidance asks for.
Writing copy that passes the checks
The tool counts characters, but OpenAI’s guidance is about what the words do. It asks for copy that explains the practical value of what you offer, who it’s for and when it helps. It warns against leaning on a catchy line or a generic call to action.
- Titles should spell out the value and stay concise. Informative beats broad marketing language.
- Copy should add to the title, not repeat it.
- Write several title and copy variations for each offering, each from a different angle.
- Link to the most relevant page, not a generic homepage.
We’d write the title as the answer to a question a person might ask. The description then carries the detail that makes the click worth it. The tool’s warnings are our own. OpenAI doesn’t issue them. An ad can pass the tool and still be rejected on policy. Our ad policy tracker covers what gets ads rejected.
Building a ChatGPT ad URL that survives the click
A tagged URL has three layers: the page, the parameters you choose and the macros OpenAI fills in. OpenAI offers four macros, and Ads Manager fills each one in at delivery with the real value.
| Macro | Filled in with | Use it to |
|---|---|---|
{campaign_id} | The campaign’s ID | Tell campaigns apart in analytics |
{ad_group_id} | The ad group’s ID | Separate themes and intents |
{ad_id} | The ad’s ID | Compare title and copy variations |
{ad_account_id} | The ad account’s ID | Split accounts when you run several |
OpenAI also appends a click reference, oppref, to the landing page URL. Its Pixel reads it for conversion tracking. Our view: let redirects pass query strings through, so the reference reaches your page intact. Our conversion tracking guide explains the Pixel.
OpenAI also says ad clicks and analytics sessions often differ. Page load, redirects, consent, blocking and time zones all play a part. Don’t expect the two numbers to match exactly.
Where to put the tracking URL
- On one ad: paste the whole URL as the ad’s landing page.
- On a campaign, ad group or ad: copy only the part after the question mark into “Landing page query parameters”. Use the edit window for that level, and every ad beneath it inherits them.
- When settings overlap: the most specific wins, in the order ad URL, ad, ad group, campaign. A parameter already in the ad’s URL isn’t overwritten.
The source and medium the tool suggests, chatgpt and cpc, are our convention rather than OpenAI’s. What matters is using one spelling everywhere, so GA4 doesn’t split your ChatGPT Ads clicks across rows. Our guide to ChatGPT Ads clicks showing as Direct in GA4 explains the rest, including a custom channel for ChatGPT Ads.
Writing the copy itself? See our guide to ChatGPT ad creative, then estimate what a test would cost with the cost calculator.
Questions
What are the title and description limits?
A title runs 3 to 50 characters, and OpenAI recommends 16 to 24. The description runs up to 100 characters, and OpenAI recommends 32 to 48. The tool shows each count as you type and flags a line that’s too short or too long.
Does the preview show exactly what people will see?
It’s a close redraw of the sponsored card, not a screenshot of ChatGPT. Real placement, layout and timing are OpenAI’s to decide. Use the preview to judge length and wording, then check the live ad in Ads Manager.
Do I need UTM parameters?
OpenAI’s guidance is to add UTM parameters to destination URLs, and Ads Manager lets you add them at each level. Without them, analytics can file ChatGPT Ads clicks under Direct or another channel. Our source and medium suggestions are only a convention. OpenAI sets no rule for them.
Which setting wins if I tag at several levels?
The most specific one, in the order ad URL, ad, ad group, campaign. A parameter already in the ad’s own URL isn’t overwritten by a setting from a higher level. That lets you set a campaign default and still override it on one ad.
Is anything I type stored or sent?
No. The preview and the URL builder run in your browser. Nothing you type is sent to our server or saved, so test copy with real offer details safely. Clear the fields or reload the page when you’re done.
Why was my approved-looking ad rejected?
Character limits are only part of review. OpenAI checks the ad, the image and the landing page against its ad policies. A landing page that blocks OAI-AdsBot is a common cause. Read the rejection message, fix the part it names, then edit and resubmit or appeal.
Sources
- Ads, OpenAI API reference: the title and body limits.
- Launch campaigns, OpenAI Help Center: the recommended title and copy lengths.
- Create ads for ChatGPT Ads, OpenAI Help Center: copy, landing page and UTM guidance.
- Measure results, OpenAI Help Center: URL macros and which setting takes precedence.
- Ads in ChatGPT: the basics, OpenAI Help Center: the advertiser name and icon on every ad.
