Final URL expansion and sold out products: a morning check of where your ads land
Final URL expansion can send a click to a page you never wrote into the ad, and a sold out product keeps its ad until the data behind it changes. A 10 minute check in a shopper’s steps, before ad costs climb from Monday 9 November.
- Meta adTrail trainer, 20% off this week
- Landing pageLoads in 1.4 seconds on a phone
- ProductSold out in every size since 14:00 yesterday
- CheckoutNever reached
The ad ran on all afternoon. The sum: £90 a day, 40% of the clicks after 14:00, £36 spent on a page that couldn’t sell.
To check where your ads land, list every live Google and Meta ad with its link each morning, open each link on your phone, and confirm the page loads, the product is in stock, the offer, price and code match the ad, and the tracking doesn’t break the page. If you run AI Max or Performance Max, also read the Landing pages report or the Expanded Final URL assets tab, and add URL exclusions for pages that shouldn’t take paid traffic.
On this page
- What Final URL expansion does when AI Max is on
- Why ads keep running on out of stock products
- A morning check that takes 10 minutes and costs no clicks
- What one day of clicks to a dead page costs you
- What Quality Score and a link checker can’t tell you
- Where a morning check by hand stops
- Run it every morning from Monday 9 November
- For agencies: run it on every client before their sale
- Questions
Turn on AI Max in a Google Ads Search campaign and Final URL expansion turns on with it. In Performance Max it is on by default, and Google says it can serve traffic to any page on your final URL’s domain that you haven’t excluded. In both, a click can land on a page you never wrote into the ad.
In Search, Google lists the pages it chose in its Landing pages report. Your list of ads shows the links you wrote. That report shows where the clicks went. The older leak is quieter. A product sells out, and its ad runs on until the data behind it changes, which happens on a schedule set in your feed app.
wondering how long stuff tends to stay broken before anyone notices.
A page that can’t sell raises no error. It looks like a quiet day, with the same spend behind it. Costs make that day dearer. Meta CPMs first rose clearly in the week of 10 November in 2025, and in mid October in 2024. Plan around the week of Monday 9 November, with Black Friday on Friday 27 November.
+15%
median Meta CPM in the week of 10 November 2025, the first week of a clear rise, against September
Lebesgue (vendor data, biggest Meta spenders in its dataset), October 2026lebesgue.ioThe check below takes 10 minutes, needs no tool and costs no clicks. It runs in the order a shopper meets a page.
What Final URL expansion does when AI Max is on
Google describes it as sending traffic to the most relevant URLs on your site when that is likely to perform better, matched to the search and the ad group (Google Ads Help, AI Max guide). A page can be relevant and still sold out.
Google said in April that from September, eligible Search campaigns with legacy settings would upgrade to AI Max automatically (Google). An agency, Common Thread Collective, reported on 2 September that the upgrade began on 1 September, and read it as leaving Final URL expansion to each campaign’s earlier settings, and off in broad match campaigns. Dynamic Search Ads campaigns are in Google’s notice too, and the sources we read disagree on their date, so check your account’s notices. Read the setting in each campaign rather than assume it.
7%
more conversions or conversion value, at a similar CPA or ROAS, that Google reports for AI Max with all three features on, against search term matching alone
Google internal data, 2026, for non retail advertisers (Google, April 2026)business.google.comThat is Google’s figure, from its own data and for advertisers outside retail. It is the category claim, not your store’s result. Turning the setting off is one decision, and Google documents how: untick it in the campaign’s settings. Leaving it on and narrowing it with exclusions is the other. The morning check shows which suits your store.
Why ads keep running on out of stock products
A text ad’s link is a URL you or Google chose, and nothing in it reads your stock. Catalogue ads on Meta and Shopping ads on Google read product data, which moves on a schedule.
Meta’s developer documentation says a scheduled feed can’t upload more often than once an hour, points to a direct upload for faster stock updates, and advises marking unavailable items out of stock rather than deleting them (Meta). Google says Merchant Center’s automatic updates are not a replacement for regular product data updates, and may not work for products whose availability changes more than once a day. Neither page gives a delay from a sell out to the ad stopping. Find out what your own feed app is set to.
A morning check that takes 10 minutes and costs no clicks
Use your phone, in a private window that isn’t signed in to your store admin. Open each ad’s link itself rather than tapping the ad. A tap on a live ad can be billed, and it adds a click to your ad numbers.
- Every live ad, with its link. Export the live ads from each account and keep the link column. In Google Ads, you can add the Final URL and Tracking Template columns with Modify columns (Google Ads Help).
- Costliest first. Sort by yesterday’s spend, so the ads you run out of time on are the cheapest ones.
- A sheet with 5 columns: the ad, its link, the time you opened it, pass or fail, and a screenshot.
- A note to whoever reports your numbers. A link opened directly shows as a visit in analytics.
| Check | Look at | A pass looks like | If it fails |
|---|---|---|---|
| The link | The ad’s final URL, on your phone | Loads in seconds, with no error, loop or login | Fix the link in the ad |
| The product | The product, size and colour the ad shows | In stock, and add to basket works | Pause the ad, or point it at a product that sells |
| The offer | What the ad promises against the page | The same offer and end date | Correct whichever is wrong |
| The price | Ad, page and basket, in the ad’s market | The same price and currency at every step | Check the price in the ad’s data |
| The code | The ad’s code, at checkout | It applies at the sale price | Check its limits and end date |
| The click through | The tracking template, with the final URL where {lpurl} sits | The same page, with no 404 | Fix the template tag |
| The pages Google chose | The Landing pages report, or Expanded Final URL assets | Every page taking paid clicks is one you would pay for | Add URL exclusions |
Open the link and look at the page
Paste the final URL into the window. A pass: the page loads in seconds on a mobile connection, it is the page the ad promised, and the market, language and currency are right. If it fails, check for a redirect that loops, a login wall, or a link that lost its parameters.
Check the product can be bought
Choose the size and colour the ad shows and add it to the basket. A pass: the button works and the basket holds it. If it fails, pause the ad or point it at a product that can sell. For catalogue ads, open the product links of the lines you expect to be low. A sold out page isn’t always a dead one. If it takes a back in stock sign up or offers similar products, decide on purpose whether this ad should still send people there.
Match the offer, the price and the code to the ad
Read the ad, then the page, then the basket. A pass: the same offer, end date, price and currency at every step. Enter the ad’s code at checkout and take the basket as far as the payment step. A page that loads is not a checkout that works.
We spent ad money driving customers to a checkout that didn’t function.
Follow the click through your tracking template
Google’s AI Max guide says dynamic URLs combined with an existing tracking template can sometimes lead to broken expanded pages with a 404 error. It names two likely causes: a static tracking URL with no {lpurl} tag, and a tag in a nonstandard format.
Read the template in the campaign. Then build the click through URL by hand: put a page from the Landing pages report where {lpurl} sits, and open the result. A pass: the same page, with its parameters. A 404 is the break.
Read the pages Google chose, and narrow them
In Search, open the Landing pages report. Pages added through Final URL expansion sit beside the ones you wrote, and the “Selected by” column shows whether AI Max selected the URL (Google Ads Help). In Performance Max, open the asset report and its Expanded Final URL assets tab. Sort by cost and open the top pages you didn’t write.
A pass: every page that takes paid clicks is one you would choose to pay for. If it fails, add URL exclusions. In Search they sit under Final URL expansion, as a list of URLs or as rules, and need AI Max, Text customization and Final URL expansion all on. In Performance Max, choose Exclude some URLs under Text customization in Asset optimization. Policy pages, blog posts, sold out products and markets you don’t ship to are the first candidates.
What one day of clicks to a dead page costs you
- Spent on clicks that couldn’t buy: the ad’s daily spend times the share of its clicks that land on the dead page. For a product that sold out mid day, count the clicks since. For an expanded page, divide its clicks in the Landing pages report by the campaign’s.
- Purchases that money would have brought: line 1 divided by the ad’s cost per purchase, from its own report.
- Sales missed: line 2 times your average order.
- Days: use 1. Even when you can’t say when the page died, 1 keeps the sum low.
On invented numbers: Northmark Run (northmark.example) spends £90 a day on a Meta ad for one trainer. The trainer sells out at 14:00, and 40% of the day’s clicks come after. £90 times 40% is £36 spent. At a £30 cost per purchase that is 1.2 purchases, and at a £55 average order, £66 in sales. Fill the list with yours.
From the week of Monday 9 November the same clicks cost more. On Meta, if you hold the number of clicks steady, multiply line 1 by 1.15, Lebesgue’s reading for that week in 2025. Black Friday week was 1.59. The 1.15 is deliberately low, and a CPM is the price of reach, not of a click, so swap it for your own cost per click for the week, on Google or Meta. On Northmark’s numbers, £36 becomes £41.40.
What Quality Score and a link checker can’t tell you
Google calls Quality Score a diagnostic tool and not an input in the ad auction. Landing page experience is one of its three parts, graded above average, average or below average, and it measures how relevant and useful the page is. A sold out product page can be both. A good grade is not a pass on this check.
A link checker tells you a page loads. Whether the product is in stock and the offer matches the ad is a separate test, and it needs the page opened and read.
Where a morning check by hand stops
- One moment. A pass at 08:00 says nothing about 14:00, when a product can sell out or a sale can start.
- One phone. You see the page in your own market. A shopper elsewhere can see another price, currency or page.
- Your time. Count how many ads fit in your 10 minutes. The rest go unchecked on your busiest days.
- Proof. A screenshot starts an argument. The link, the time and what the page showed settle one.
For the ads that don’t fit in 10 minutes, and the hours between mornings, Obsession’s Ad landing check runs the same routine from the ad accounts you connect. Each morning, or more often in a sale, it opens every live ad’s page from its link on a phone and a desktop, checks the page loads, the offer and price match and the product is in stock, and drafts the fix, a pause or a new link, for your OK.
Ad landing check
Obsession agent for Your companyChecked as a customer of 24 checks pass
Opens each ad’s page · pauses after your OK
Ad 4 paused36 min after the flag
OpenRun it every morning from Monday 9 November
- Every morning from Monday 9 November to Cyber Monday, Monday 30 November.
- After any change to a feed, theme, app, tracking template or campaign setting.
- When a sale or a launch goes live, and again at the hour you expect a product to sell out.
If your ads don’t change and nothing in your range sells out, one pass a week is enough.
For agencies: run it on every client before their sale
Run it on a client’s accounts with the client’s OK. The sheet is the report: the ad, its link, the time, the result and a screenshot of what the page showed. A client who can open the same link has no need to take your word for it. Send the first sheet to the client whose sale starts first.
Questions
Final URL expansion is a Google Ads setting that can replace your ad’s final URL with a more relevant page on your domain. It is on by default when you turn on AI Max for Search, and on by default in Performance Max. URL exclusions keep pages out.
Untick the Final URL expansion box in the campaign’s settings, or when you set the campaign up. In Search, turning off Text customization also turns it off. To narrow it instead, add URL exclusions.
In Search, open the Landing pages report: pages added through Final URL expansion appear beside yours, and the “Selected by” column shows whether AI Max selected the URL. In Performance Max, open the asset report and its Expanded Final URL assets tab.
A text ad’s link doesn’t read your stock. Catalogue and Shopping ads read your product data, which updates on a schedule: Meta’s documentation says a scheduled feed can’t upload more often than hourly, and Google says its automatic updates aren’t a replacement for regular product data updates. Open each ad’s link every morning to see it first.
Pause the ad or change its link as soon as you find it. Mark the product out of stock in the data the ad reads, which Meta advises over deleting it from the feed, and add URL exclusions for pages that shouldn’t take paid clicks.
A landing page check opens the page each live ad sends people to, as a shopper would, and confirms it loads, the product is in stock, the offer, price and code match the ad, and the tracking doesn’t break the page.
Typing or pasting the final URL doesn’t click the ad, so there is no ad click to bill. It shows as a visit in your analytics, so tell whoever reports your numbers.
Sources
- About Final URL expansion in Search
- Optimize Google Ads with AI Max for Search campaigns
- About reporting in AI Max for Search campaigns
- About Final URL expansion in Performance Max
- About Quality Score
- Add a Final URL suffix
- Dynamic Search Ads upgrade to AI Max
- Allow Merchant Center to update product information automatically
- Schedule data feed uploads
- Are Meta Ads Worth It on Black Friday? CPM and ROAS data
- Google AI Max migration went live September 1
- How do store owners catch checkout failures before customers report them?
- Cloudflare broke our checkout twice