This article is also available in:

Upsell & Cross Sell is Not Showing on My Store [Fixed]

The Upsell & Cross Sell widget usually starts appearing right after you publish your first upsell — but sometimes a small configuration, visibility rule, or theme-related setting can prevent it from showing on the storefront.


The good news is that these issues are usually very quick to fix 🚀


This guide walks through the most common reasons why your Upsell & Cross Sell block may not appear and how to resolve each one step-by-step.


In most cases, the issue is related to one of the following:


  • App Embed is disabled
  • Setup was not saved
  • Setup was not published
  • Wrong placement type for the page you're testing
  • Custom position block not added to the theme
  • Display conditions (order history, cart value, first-time customers)
  • Customer targeting settings
  • Geolocation targeting restrictions
  • Upsell products are unavailable or out of stock
  • Theme conflicts
  • Browser or storefront cache


Let's go through them one-by-one 👇



✅ Step 1: Check if App Embed is Enabled


For the Upsell & Cross Sell widget to appear on your storefront, the app embed must be enabled inside your Shopify theme. Without it, the widget script never loads on your store — even if everything else is configured perfectly.


Go to:


Shopify Admin → Sales Channels → Online Store → Themes → Edit theme → App Embeds


Then:


  • Find "Upsell Cross-Sell Slider"
  • Toggle it ON
  • Click Save


💡 Tip: If it was already enabled, try closing the Theme Editor and reopening it, then toggle the App Embed off and on again, and click Save once more.


â„šī¸ The app also checks this for you. On the app dashboard, the Setup Guide shows an "Enable app embed" step — it turns green once the embed is detected as active in your live theme.



✅ Step 2: Save the Setup


When creating a new upsell, your configuration is not stored until you click Save in the save bar at the top of the setup page.


If you closed the tab without saving, the upsell was never created — so there is nothing for the storefront to display.


Open your Upsell setup → make your changes → Click Save



✅ Step 3: Publish the Setup


Even if your Upsell is fully configured and saved, customers will not see it until the setup has been published.


Open your Upsell setup → Click Publish at the top of the page.


You can confirm the status from the badge next to the setup name:


  • Published → live on your store ✅
  • Not published → hidden from customers


You can also publish or unpublish setups directly from the dashboard table using the bulk actions.


âš ī¸ Saving alone does not make the Upsell live. Both actions are required — Save first, then Publish.



✅ Step 4: Make Sure You're Testing the Right Page


Each upsell setup is tied to a specific placement type, and the widget only appears on the matching page:


  • Product Page → shows below the Add to Cart button on product pages
  • Cart Page → shows on the /cart page
  • Cart Drawer → shows inside the slide-out cart drawer
  • Custom Position → shows wherever you place the app block in your theme


Example: If you created a Cart Page upsell, it will never appear on a product page — no matter how many times you refresh. Open your store's cart page instead and check there.


💡 For Cart Drawer upsells, the widget is injected when the drawer opens. Add a product to the cart and open the drawer to test it.



✅ Step 5: Using Custom Position? Check the App Block


If your setup uses the Custom position placement, the widget does not appear automatically — it renders only where you've placed the Upsell block in your theme.


Open your Upsell setup → Placement tab → Display On (Include) → make sure Custom position is selected, then:


  1. Copy the Upsell ID shown inside the setup (or from the page subtitle at the top)
  2. Go to Shopify Theme Editor → Add Section / Add Block → Apps tab → Upsell Cross-Sell Block
  3. Paste the Upsell ID into the block settings
  4. Click Save


Alternatively, you can place the provided code snippet into a Custom Liquid section or directly into your theme code.


âš ī¸ Custom position currently works on product pages and cart pages only. The block will stay empty on other pages, and it will also stay empty if the Upsell ID pasted in the block doesn't exactly match the setup.


📖 Need help locating the ID? See: 🔎 How to Find Upsell ID?



✅ Step 6: Check Display On (Include) & Exclude Rules


Inside the Placement tab, the Display On (Include) setting controls which products the widget appears on.


Open your Upsell setup → Placement tab → Display On (Include)


Then verify:


  • If Specific products is selected → the widget only shows on those exact product pages
  • If All products in specific collections is selected → the product you're viewing must belong to one of the selected collections
  • If All products with specific tags is selected → the product must carry one of the entered tags


Right below it, check the Don't display On (Exclude) section as well — you may have excluded the exact product or collection you're testing with.


Example: If the widget shows on some product pages but not others, the missing pages are almost always caught by an include or exclude rule here.



✅ Step 7: Check the "Display only when" Conditions


The Display only when section adds conditions that must be true before the widget appears.


Open your Upsell setup → Placement tab → Display only when


Check whether any of these are enabled:


  • Minimum number of orders → hidden until the customer has placed that many orders
  • Show once per customer → hidden from anyone who has already ordered
  • Cart value is below (set max cart value) → hidden once the cart total goes above the amount you set
  • Last order was more than X days ago → shown only to customers whose last order is older than the set period
  • Last order was within the last X days → shown only to customers who ordered recently


Example: If Cart value is below $50 is enabled and your test cart already contains $80 worth of products, the widget stays hidden by design.


💡 For testing purposes, select Always Display — this overrides all other conditions and helps confirm whether these settings are causing the visibility issue.


📖 For a full walkthrough of every targeting condition, see: đŸŽ¯ Advanced Targeting Options for Upsell & Cross Sell



đŸ‘Ĩ Step 8: Check Customer Targeting Settings


If Customer targeting is configured, the widget may remain hidden for certain visitors or customer groups.


Open your Upsell setup → Placement tab → Customer targeting


Check the following:


  • Visibility (Customer Login Status) → if set to Logged in customers only, visitors who aren't logged in won't see the widget (and vice versa for Logged out customers only)
  • Customer Display → if set to Customers with specific tag or Customers with specific amount spent, only matching customers will see it
  • Customer Hide → customers with the selected tag or spending amount are explicitly excluded


âš ī¸ Example: If the widget is configured to show only for customers tagged as VIP, then regular customers without the VIP tag will not see it. Customer tags and order history also only work for logged-in customers — logged-out visitors are treated as having no tags and no orders.


💡 For testing purposes, it is recommended to temporarily set:


→ Visibility → All visitors → Customer Display → All customers → Customer Hide → None


This helps confirm whether Customer Targeting is causing the visibility issue.



✅ Step 9: Check Geolocation Targeting


If Geolocation Targeting is enabled, the widget may only appear in selected countries or regions.


Open your Upsell setup → Placement tab → Geolocation targeting


If Specific countries is selected, check whether your country is included in the allowed list.


Example: If only United States is selected and you're browsing from India, the widget will not be visible to you unless you use a VPN.


💡 Tip: The detected country is remembered for the duration of your browsing session. If you changed countries or turned a VPN on/off mid-session, close the tab completely and open the store again in a fresh session before testing.



✅ Step 10: Check the Upsell Products Themselves


Sometimes the widget loads correctly but has nothing to display — in that case it hides itself automatically.


Open your Upsell setup → Content tab → Select upsell products


Then verify:


  • Upsell Specific Products / Upsell Specific Collections → at least one product or collection is actually selected
  • The selected products (or the products inside the selected collections) are in stock and available — the widget only shows products that can be purchased
  • Upsell Same Product (As on Product Page) → this type only works on product pages, since it needs a "current product" to display
  • AI Upsell (Frequently Bought Together) → works best when related or complementary products are configured in Shopify's Search & Discovery app; otherwise it falls back to random products from your store


Example: If all variants of your selected upsell product are out of stock, the entire widget stays hidden until at least one product becomes available again.



✅ Step 11: Check the Time-on-Site Delay


The widget can be configured to appear only after the visitor has spent some time on the page.


Open your Upsell setup → Placement tab → Time-on-site targeting


If Show after a while is selected, the widget will only appear after the configured number of seconds (up to 300).


This isn't an error — but during testing it can look like the widget is missing. Wait for the delay to pass, or temporarily switch back to Always Show (Default).



✅ Step 12: Hard Refresh Your Page


Sometimes Shopify or your browser temporarily caches storefront assets, including the published upsell configuration.


A hard refresh usually fixes this instantly.


Windows


Ctrl + Shift + R


Mac


Cmd + Shift + R


This forces the browser to reload the latest storefront assets instead of using cached versions.


â„šī¸ Note: Published configurations can take a couple of minutes to reach the storefront. If you just published, wait a moment and then hard refresh.



✅ Step 13: Check in Incognito Window


Certain visibility conditions may behave differently for returning visitors.


For example:


  • Existing temporary cache
  • Remembered location or session data
  • Being logged in as a customer (or not)


can all change whether the widget appears.


Try:


  • Opening your store in Incognito Mode
  • Using another browser
  • Testing on another device


This helps confirm whether the issue is cache/session related — and whether your targeting settings treat you differently from a fresh visitor.



✅ Step 14: Check for Theme Styling Conflicts


In some cases, the widget is actually loading correctly — but theme styling may be hiding it visually.


This usually happens because of:


  • Custom CSS from other apps
  • Theme overrides
  • Aggressive styling from page builders or animation apps
  • Heavily customized themes where the automatic placement point doesn't exist


Open the Design tab inside the app and temporarily change:


  • Background color
  • Text color
  • Button color


Then Save changes and refresh the storefront.


If your styling changes still don't appear, your theme may not have the standard placement elements the app looks for (for example, a standard Add to Cart form or cart container). In that case:


  • Switch the placement to Custom position and place the widget exactly where you want it using the app block (see Step 5)
  • Or reach out to your developer / theme support team



A Quick Note on Traffic-Source (UTM) Targeting


If you've used other Hoppy apps, you may be looking for UTM or traffic-source restrictions. The current version of Upsell & Cross Sell does not include UTM-based targeting — so traffic source can never be the reason your widget is hidden.



Still Not Showing?


If you've tried all the steps above and the Upsell & Cross Sell widget is still not visible:


  1. Re-save the setup
  2. Publish it again
  3. Re-enable the App Embed and save the theme
  4. Test on a live product page (and the cart page / cart drawer, depending on your placement type)
  5. Test in Incognito Mode with Always Display enabled


If the issue still continues, feel free to contact us directly from inside the Hoppy Upsell & Cross Sell app — just click Contact Support on the dashboard or inside any setup page.


To help us troubleshoot faster, please include:


  • Store URL
  • Placement type (Product Page / Cart Page / Cart Drawer / Custom Position)
  • Screenshot of your setup
  • Page URL where the widget should appear
  • Theme name


We'll be happy to help 🙌


Updated on: 15/09/2026

Was this article helpful?

Share your feedback

Cancel

Thank you!