Why aren't related products showing on my Shopify product page?
Related products are missing from a Shopify product page when Shopify has nothing it is allowed to recommend: every other product is sold out, a draft, unlisted, priced at $0, a gift card, not published to the Online Store sales channel, or already in the shopper's cart. On a store with only one or two products that is the normal state, and a well built theme hides the section rather than showing an empty heading.
If you do have eligible products and still see nothing, or a Loading recommendations line that never changes, the cause is in the theme: recommendations arrive in a second request after the page loads, and the theme's script has to fetch them and put them on the page.
Which of these is emptying my recommendations?
| What you see | Likely cause | Fix |
|---|---|---|
| Nothing at all on a store with 1 or 2 products | No other eligible product exists to recommend | None needed; the empty state is correct. Add products or collections for it to work with |
| Nothing on some products, recommendations on others | The candidates for that product are sold out, draft, unlisted, $0 or not on Online Store | Check the eligibility list below on the products you expected to see |
| Fewer products than the section is set to show | Shopify returned fewer eligible matches than the limit | Add manual related products in Search & Discovery |
| A product disappears after a shopper adds it to the cart | Shopify leaves out products already in the visitor's cart | None needed; this is by design |
| "Loading recommendations" that never goes away | The theme shows a placeholder and only replaces it when products arrive; an empty answer leaves it forever | Hide the section until products arrive (code below), or ask the theme developer |
| No section on the product page at all | The product template has no related products section | Theme editor: Products, Default product, Add section, Related products |
| Complementary products (Pairs well with) empty | Complementary products are never automatic; they must be picked by hand | Set them in the Search & Discovery app, and check the theme has a complementary block |
Which products is Shopify allowed to recommend?
Shopify's help centre lists the rules. A product can appear as a recommendation only if all of these are true:
| Rule | Related products | Complementary products |
|---|---|---|
| Status is Active (not Draft, Archived or Unlisted) | Required | Required |
| Published to the Online Store sales channel | Required | Required |
| Price higher than $0.00 | Required | Required |
| Not a gift card | Required | Required |
| Not already in the visitor's cart | Required | Required |
| In stock | Required, unless the product has "Continue selling when out of stock" turned on | Required: inventory must be above 0 |
| Chosen automatically by Shopify | Yes | No, set by hand only |
| Most you can pick by hand per product | 10 | 10 |
The Unlisted row catches people out. An unlisted product still has a working page at its own URL, but Shopify will not recommend it. The same goes for a product that is Active but only published to Point of Sale.
Why are there no related products on a store with one product?
Because there is nothing else to recommend. A product is never recommended on its own page, so a store with 1 product has 0 candidates, and a store with 2 products has at most 1, which drops to 0 as soon as the shopper puts it in the cart. Take away anything sold out, drafted or priced at $0 and a small store can easily return an empty answer for every product.
That empty answer is a normal answer, not an error. Shopify's own Dawn theme (version 16.0.0) only prints the section heading when Shopify has performed the recommendation and returned at least one product, so on an empty answer the section renders nothing at all. That is the behaviour you want. A heading saying You may also like with nothing under it reads as a broken store on the one page that is meant to sell.
How does Shopify choose related products?
Automatically, from three signals, according to Shopify's help centre: products that are commonly bought together, products with a similar description, and products in related collections. Each has a condition:
- Bought together needs order history, so a new store has none of this signal.
- Similar description is only available to stores with an English storefront.
- Related collections is the fallback, so a product in no collection, or alone in its collection, gives Shopify the least to work with.
Shopify says the recommendations get more accurate as orders and product information build up, and that they change frequently, so seeing a different set on each visit is expected. For a new store the practical lever is collections: put each product in at least one collection alongside products a shopper would compare it with.
Why does my Shopify store say Loading recommendations forever?
Because the theme prints a loading placeholder and only removes it when products arrive. When Shopify has nothing to recommend, nothing arrives, and the placeholder stays on the page permanently.
The reason a theme needs a placeholder at all: the recommendations object in Liquid is empty on the first page load. Shopify's documentation says it only returns products when the section is rendered through the Product Recommendations API, so the theme has to request /recommendations/products?product_id=...§ion_id=... after the page loads and swap the answer in. Until then recommendations.performed? is false and products_count is 0.
We shipped exactly this bug in our own generator, and found it on 24 September 2026. Our product recommendations section printed the heading and "Loading recommendations..." whenever performed was false, which is always true on the first render, then only replaced it if the fetched section had content. An empty answer had none, so every single product store built on it, which is every theme in our free gallery, showed the loading line forever. The fix was small:
{%- assign has_recs = false -%}
{%- if recommendations.performed and recommendations.products_count > 0 -%}
{%- assign has_recs = true -%}
{%- endif -%}
<section class="product-recommendations"
data-url="{{ routes.product_recommendations_url }}?product_id={{ product.id }}&limit=4§ion_id={{ section.id }}"
{% unless has_recs %}hidden{% endunless %}>
{%- if has_recs -%}
<h2>{{ section.settings.heading }}</h2>
{%- for product in recommendations.products -%}
{% render 'product-card', product: product %}
{%- endfor -%}
{%- endif -%}
</section>
The section starts hidden with no placeholder text, and the script only unhides it when the fetched HTML actually contains a product card. We then tested it on a real Shopify store with an unpublished theme: the section was hidden on load and showed 2 to 4 products on all 5 products we tried, and never the loading line.
If you are editing someone else's theme, search sections for the word "Loading" or for product_recommendations_url. The rule to apply is the same whatever the markup: design the empty state, and never show a loading state that assumes content will come.
How can I see what Shopify is actually recommending?
Ask the endpoint directly. Every Shopify store answers /recommendations/products.json?product_id=PRODUCT_ID&limit=10, and you can open it in a browser tab on your live store. The product ID is the number at the end of the product's URL in your admin. What comes back tells you where the problem is:
- A list of products: Shopify has recommendations, so the theme is failing to show them. Look at the section's script, or whether the section is on the template at all.
- An empty list: Shopify has nothing eligible for that product. Work through the eligibility table above.
- A 404: Shopify's API reference says this means the product was not found or is not published to the Online Store channel.
The endpoint accepts a limit from 1 to 10 (10 is the default) and an intent of related or complementary. Add &intent=complementary to check the hand picked list.
One more trap if you are checking in the theme editor or a quick screenshot: Dawn only requests recommendations when the section comes within 400 pixels of the screen. If you never scroll down, the request never happens and the section stays empty.
How do I choose which related products show?
With Shopify's free Search & Discovery app. In the admin go to Apps, then Search & Discovery, then Product recommendations, and click Add recommendations. Pick the product, then choose up to 10 related products and up to 10 complementary products. You can show your picks ahead of Shopify's automatic ones, or instead of them. Save, and check the product page in a private window.
This is the fix for a small store. With 6 products and no sales history, hand picked related products are more useful than anything Shopify can work out on its own.
Why aren't complementary products showing?
Two reasons, and you need both fixed. First, Shopify never generates complementary products; if you have not set any in Search & Discovery, there are none. Second, the theme has to ask for them. In Dawn this is a separate Complementary products block inside the product information section, not the Related products section at the bottom of the page, and Dawn removes the block when the answer is empty. Complementary picks also need stock above zero, even when the product keeps selling when out of stock.
If you are not sure whether something is a section or a block in your theme, the difference between a section and a block in Shopify explains where each one lives in the editor, and why you can't add a section in the Shopify theme editor covers the case where Related products is missing from the Add section list.
How many related products can a Shopify theme show?
Up to 10. That is the ceiling of Shopify's recommendations API. Themes set their own range inside it: Dawn's Related products section lets you show 2 to 10 and defaults to 4. If you set 8 and see 3, the theme is working and Shopify only found 3 eligible products.
How we checked this
The eligibility rules, the three recommendation signals, the English storefront condition, the 10 product limits and the Search & Discovery steps come from Shopify's help centre; the endpoint, its parameters and its 404 meaning come from Shopify's Product Recommendations API reference; and the behaviour of the recommendations object comes from Shopify's Liquid reference. All were read on 27 September 2026. Dawn's behaviour was read from Dawn 16.0.0 source: sections/related-products.liquid, the complementary block in sections/main-product.liquid, and ProductRecommendations in assets/global.js.
The Loading recommendations bug and its fix are from our own theme generator, found and verified on 24 September 2026 on our Shopify development store. Every theme in our free theme gallery now ships the fixed section. If your store looks empty for a different reason, such as placeholder images where your products should be, see why your Shopify store doesn't look like the theme demo.
Frequently asked questions
Why aren't related products showing on my Shopify product page?
Shopify only recommends products that are Active, published to the Online Store sales channel, priced above $0, not a gift card, not already in the shopper's cart, and in stock unless they continue selling when out of stock. If no other product passes all of those, the answer is empty and a good theme hides the section. On a store with one or two products that is normal. If eligible products exist and nothing shows, the theme's section or script is the cause.
Why does my Shopify store say Loading recommendations and never load?
The theme shows a loading placeholder and only replaces it when Shopify sends products. When Shopify has nothing to recommend, the answer is empty and the placeholder stays forever. The fix is in the theme: render the section hidden with no placeholder, and only show it when the fetched section contains at least one product.
How does Shopify decide which related products to show?
Automatically, from products commonly bought together, products with a similar description (English storefronts only), and products in related collections. A new store has no order history, so collections do most of the work. Shopify says recommendations improve as orders and product data build up and change frequently between visits.
Can I choose my own related products on Shopify?
Yes, with the free Search & Discovery app. Go to Apps, Search & Discovery, Product recommendations, Add recommendations, pick a product, and choose up to 10 related and up to 10 complementary products. You can show your picks before Shopify's automatic ones or instead of them.
Why are my Shopify complementary products not showing?
Shopify never generates complementary products automatically, so they only exist if you set them in the Search & Discovery app. The theme must also include a complementary products block, which in Dawn sits inside the product information section. Complementary products must have inventory above zero to appear.
How many related products can Shopify show?
Up to 10, which is the maximum the Product Recommendations API returns. Each theme sets its own range within that; Dawn's Related products section shows 2 to 10 and defaults to 4. Seeing fewer than the setting means Shopify found fewer eligible products.
How do I check what Shopify is recommending for a product?
Open /recommendations/products.json?product_id=PRODUCT_ID&limit=10 on your live store, using the number at the end of the product's admin URL. A list of products means the theme is not displaying them; an empty list means nothing is eligible; a 404 means the product is not found or not published to the Online Store channel.
Generate a theme that looks like your brand
A complete Shopify 2.0 theme with conversion features built in, ready in minutes. No credit card required.
Generate my theme freeNo Shopify store yet? Start one here, then bring the theme. Themr may earn a commission if you start a paid plan; it does not change what you pay.