> ## Knowledge Base Index
> Fetch the complete knowledge base index at: https://help.hoppyapps.com/sitemap.xml
> Use this file to discover available pages before exploring further.
> Pure-Markdown content can be obtained by appending a '.md' suffix to the content URLs listed in the sitemap (without the trailing slash).

# 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 🙌

---