In Google Ads the landing page feeds into Quality Score. In ChatGPT Ads it goes one step further: it is one of the signals the system uses to decide when to show your ad, and it also gets visited to check that it complies with the policies (OpenAI's documentation). If the page fails, it isn't "the conversion" that fails: it's the whole campaign.
In our first campaign, set up in September 2026, that is exactly the link that broke.
The page decides when your ad appears
OpenAI lists the signals that choose the ad: the context and intent of the current conversation, the landing page, the title, the copy and your context hints. And its advertiser guidance says it plainly: they may use the content of the landing page to determine when it is most relevant to show your ad.
In practice: sending every ad to your home page throws that signal away. One page per intent —the one that talks about exactly the problem the card promises— is the cheap version of the keywords that don't exist here.
Let the crawlers in
You must allow OAI-AdsBot, and OpenAI recommends allowing OAI-SearchBot too (with a product feed, also on the image host). Its guide lists three layers where crawlers usually get stuck:
| Layer | What breaks it |
|---|---|
robots.txt |
A rule that disallows that path: crawling stops right there |
| Web protection, CDN or firewall | Cloudflare, Akamai and the like return 403 to anything that looks automated |
| Human verification | CAPTCHAs, JavaScript challenges or session validation |
⚠️ Pitfall: you open the page, it looks perfect, so you rule this one out. But the crawler doesn't arrive from your browser or your network: it may be getting a 403 that only shows up in the server logs. Ask whoever runs your site to check all three layers, not just
robots.txt.
Have it measured, or you'll know nothing
If the page isn't measured, the ad can work beautifully and you will never find out: you'll see clicks and not a single result.
📌 We measured this ourselves: 7 of our 8 ads pointed to pages with no measurement installed —sign-up, demo and downloads live in our customer panel, a different site from the website, where it was installed—. The result: OpenAI's conversion setup screen stayed marked as pending until 18/09/2026, when the first accepted conversion finally arrived. It wasn't misconfigured: it simply hadn't received any.
Simple rule: if the landing page isn't measured, don't turn the ad on. How to get it measured is in "Measuring ChatGPT Ads from day one", the previous lesson.
Promise the same thing as the card
The policies require the page to match the advertiser and the offer, with nothing misleading and no imitating the ChatGPT interface. Beyond the requirement, it's what decides whether the visit stays: the page headline has to be recognisable from the card title the person has just read.
Fit the resource to the device and the moment
This is the one almost nobody checks, and the one that cost us.
| 17/09/2026, first day serving | Figure |
|---|---|
| Impressions (per OpenAI) | 4,024, all in Spain |
| Mobile vs desktop | 3,481 · 548 |
| By surface (17 and 18 September) | iOS app 2,079 · Android app 1,316 · Desktop web 548 · Mobile web 86 |
| Most-served ad | "1-month demo", 2,112 impressions |
| People who arrived (measured by us, bots removed) | 19, 16 of them on mobile |
| When they arrived | 17 out of 19, between 02:00 and 05:00 |
| Time on page (median) | 2 seconds; 37 % left without reading anything |
| Sign-ups | 0 |
For comparison: that same month, visits arriving from social media spent almost three minutes on the page and only 10 % left without reading. (The breakdown by surface adds up to five impressions more than the day's total: they are the next morning's, because that breakdown is requested separately and with its own period. Be careful comparing two queries with different windows: it is the quickest way to believe in a mismatch that isn't there.)
There was nothing wrong with the page. What didn't fit was the resource, the device and the moment: the most-served ad offered a one-month trial of a script, and that means creating an account and installing it in Google Ads —a desktop, working-hours job— while whoever saw it was in the mobile app in the middle of the night talking about something else.
💡 Ninja trick: for every ad, ask yourself "can this be done from start to finish, on a phone, right now?". If the answer is no, change the resource (an ebook, a video, something consumed on the phone itself) or change the campaign's device.
Two honest caveats: one night is not a sample —that was treated as an experiment, with a date to review it— and the platform's hourly figures piled up between 02:00 and 05:00 "account time": confirm its time zone before deciding anything with those hours.
Checklist before you turn it on
- Can OAI-AdsBot get in? (
robots.txt, CDN or firewall, anti-bot challenges). - Is measurement installed on that page and on the thank-you page?
- Does the URL carry its own tracking parameter per ad?
- Do your redirects preserve the URL parameters? If they're lost, you lose attribution.
- Does the page meet the policies: advertiser, offer, no imitating the ChatGPT interface?
- Is the page headline recognisable from the card title?
- Can the action be completed on a phone in a couple of minutes?
- Does it load fast on mobile data, with nothing covering the content?
- Is there a low-friction alternative for whoever isn't ready?
- Have you opened the final URL yourself, exactly as you pasted it into the ad?
What to remember
- The page isn't the end of the funnel: it's one of the signals that decide when your ad is shown. One page per intent.
- OAI-AdsBot has to be able to get in, and it's usually the CDN or an
anti-bot challenge that blocks it, not
robots.txt. - No measurement on that page, no ad.
- The card and the page must promise the same thing, by policy and by common sense.
- The most expensive failure is fit: a desktop resource offered to a phone at 3 a.m. brings 2-second visits and zero results.