LinkToLooks · Guides · Creator Desk
Creator Desk
Does a product URL change when a size sells out?
A size often has its own address from the start, which decides whether ‘link the item or the set’ is a choice at all.
Part of: For creators
Not necessarily, and it does not have to for your link to fail. Google asks retailers to give each size or colour its own URL, so a size often has an address of its own from the start; in our 3 September 2026 catalogue pull, most multi-variant product groups did exactly that. When that size is temporarily sold out, Google’s guidance to retailers is to keep the product listed and show it as out of stock rather than delete it, so your link can keep loading a page where the thing you recommended cannot be bought.
So the answer to the practical question is: link the product, not the size, unless the size is the entire point of the recommendation. Google asks retailers to make those two different addresses.
What retailers are asked to do with sizes
Product feeds carry a field called itemGroupId, which is how a retailer says “these rows are the same product in different sizes or colours”. Reading it tells you exactly what you want to know, and it is rarely read.
Google’s Merchant Center has a field for the same job, item group ID (item_group_id): each size or colour is submitted as a separate product, and every variant of one product carries the same group value. Around that field, Google and Shopify publish guidance that settles most of the question before any feed is opened.
| Source | What it says | What it means for your link |
|---|---|---|
| Google Search Central: URL structure for ecommerce | Retailers should “make sure that each variant can be identified by a separate URL”, as a path segment (/t-shirt/green) or a query parameter (/t-shirt?color=green). Where the parameter is optional, the URL without it should be the canonical one. | The size you picked and the product are two different addresses. |
| Google Merchant Center: item group ID | Each variant should be submitted with its own landing-page URL, using a different path segment or query parameters. | In a Google product feed, each size row links to that size. |
| Google Merchant Center: link | The landing-page link should open with the correct variant already selected. | A link copied from a Google Shopping listing is meant to open on one size or colour. |
| Shopify developer docs: product variants | A variant deep link is the product link plus a ?variant= parameter carrying that variant’s ID. | On a Shopify store, ?variant= in your link means you linked one size or colour. |
Our 3 September 2026 pull of CJ product listings, read for that field, fits the same pattern: most multi-variant product groups gave every variant its own URL, and only a minority put the whole group on one address.
A size with its own address is the common case, not the exception. That is the finding, and everything else on this page follows from it.

In that pull it was all or nothing, retailer by retailer
The most useful thing in that pull is not the average. It is that there was no middle ground: each of the larger retailers in it published variant grouping on every one of its listings or on none of them. Nothing sat between.
Look at Wayfair in particular. The same brand, in two markets, behaved in opposite ways — the North American feed grouped every listing, the UK feed grouped none. That is not a policy difference about products; it is a difference between two feed exports. It is also a warning against reasoning about “what this retailer does” from one market’s catalogue.
Keep reading
What breaks, and how it looks when it does
Three distinct failures come out of this, and only one of them looks like a failure.
The size sells out and the URL 404s
The clean case. Your link is dead, a checker catches it, you fix it. Annoying and visible.
The size sells out and the URL redirects to the product
Better for the shopper, worse for you: the link returns 200, so nothing flags it, and every reader now lands on a page where the thing you actually recommended is unavailable or shown at a different price. Our own trace of catalogue URLs on 3 September 2026 found redirects that dropped query parameters while still returning 200, which is the same shape of problem — a healthy status code hiding a changed outcome.
The size sells out and the page stays up, greyed
The worst one. Live URL, live page, unbuyable product, and a reader who concludes you did not check. Nothing automated will ever tell you.
It is also the outcome Google’s guidance points retailers towards. Merchant Center’s availability rules say a temporarily unavailable product should be marked out of stock rather than deleted, with “sold out” text or a greyed-out buy button on the page; where a page offers several variants, a retailer can “disable specific options in the selection grid”. Shopify’s theme documentation says that when a link names a variant, that variant is the one returned “regardless of its availability”, so in a theme built the way it shows, a ?variant= link to a sold-out size still opens with that size chosen.
Two of those three pass a link check. That is why “my links all return 200” is a weaker statement than it sounds.
The rule this produces
- Link the product page, not the variant, unless the specific size or colour is the reason you are recommending it.
- If the variant is the point, say so in the caption. “The 8 is the one that fits true” survives the link dying; a bare link does not.
- Treat variant-heavy categories as higher maintenance. Clothing and footwear churn URLs in a way a wall clock does not, because there are more addresses per product and each one can die alone.
- Re-check clothing links on a shorter cycle than homeware or electronics. Not because retailers are worse, but because there is simply more to go wrong per product.
- Check the page, not the status code. Two of the three failure modes above return 200.
What we could not observe
- We did not watch a size sell out. That needs the same URLs re-checked over weeks, and this is a single-day snapshot. What we measured is the addressing: whether a size has its own URL to lose. We have taken the baseline and will publish the decay when a second measurement exists.
- We cannot see the retailer’s behaviour on sell-out — 404, redirect or greyed page — from feed data alone.
- Published guidance is not observed behaviour. Google’s and Shopify’s documents say what retailers are asked or able to do, not what any one retailer does on the day a size sells out.
- Six categories, one morning. Variant behaviour in clothing specifically may differ from the homeware-heavy mix here.
- A group id is the retailer’s claim, not a fact. A retailer that does not publish one may still group products internally.
Frequently asked
Does a product URL change when a size sells out?
Not necessarily, and it does not have to for your link to fail. Google asks retailers to give each size or colour its own URL, so a size often has an address of its own from the start. For a size that is temporarily sold out, Google’s guidance is to keep the product listed and show it as out of stock, so that address can keep loading while the size behind it can no longer be bought.
Should I link a size or the product?
The product, unless the size is the recommendation. A product page survives a single variant going out of stock; a variant URL does not.
How can I tell whether a link is a variant URL?
Strip the query string and reload. If a different colour or size appears, the parameter was load-bearing and you were on a variant URL.
Do all retailers handle variants the same way?
No. In our 3 September 2026 catalogue pull there was no middle ground: each of the larger retailers published variant grouping on all of its listings or on none, and the same brand behaved oppositely in two markets.
Which categories break most often?
The ones with the most variants per product — clothing and footwear — simply because there are more separate addresses to lose.
Method and sample
- Sample: unique live listings across six seed categories, pulled 3 September 2026 through the CJ shopping-product API with the variant fields selected.
- A note on those fields. Two earlier runs of ours recorded that variant and availability fields could not be selected at all. That was wrong, and this study exists because we re-tested it: the fields are selectable, and
targetCountryonly fails when used as a filter. - A “group” is all listings from one retailer sharing an
itemGroupId. Groups of one are excluded from the URL comparison. - Two of eight seeds failed on a DNS error and are absent from the sample.
- Baseline logged: 3 September 2026. The decay half of this question needs a second date and does not exist yet.
- Published guidance: the Google and Shopify pages listed under Sources were read on 12 October 2026, and every quotation from them on this page is taken from that reading.
Sources
- Google Search Central, Designing a URL structure for ecommerce websites (page last updated 10 December 2025; read 12 October 2026) — a separate URL for each variant, by path segment or query parameter, with the parameter-free URL as the canonical one.
- Google Merchant Center Help, Item group ID [item_group_id] (read 12 October 2026) — variants of one product share a group value, and each variant has its own landing-page URL.
- Google Merchant Center Help, Link [link] (read 12 October 2026) — the landing page opens with the correct variant selected.
- Google Merchant Center Help, Availability [availability] (read 12 October 2026) — a temporarily unavailable product is marked out of stock rather than deleted; sold-out text, a greyed-out buy button and disabled variant options on the page.
- Shopify developer documentation, Support product variants (read 12 October 2026) —
?variant=deep links to one variant. - Shopify developer documentation, Liquid objects: product (read 12 October 2026) — a variant selected by the link is returned whatever its availability.
- CJ Affiliate shopping-product API, queried 3 September 2026 across six seed categories with the variant fields selected — the variant-grouping and URL observations on this page.
Last verified 3 September 2026 against live listings read for variant grouping, size and destination URL
How this page was made. Drafted with AI (Claude); not yet independently re-checked. How we work