Easy Upsell
  • Privacy Policy
  • Terms of Service
  • Support

Support Center

Everything you need to install, configure, and get the most out of Easy Upsell.

On this page

  1. Installation
  2. Creating Offers
  3. Where Upsells Appear
  4. Theme Editor Blocks
  5. Customizing Appearance
  6. How It Works
  7. Language Support
  8. Storefront URL Sync
  9. Troubleshooting
  10. Billing
  11. Contact Support

Installation

Easy Upsell has two parts: the admin app (where you manage offers) and the theme extension (what your customers see). Setup takes about two minutes.

Step 1 — Install the app

1
Install from the Shopify App Store

Find Easy Upsell in the Shopify App Store and click Add app. Shopify's OAuth flow will ask you to grant the required permissions.

2
Approve permissions

Easy Upsell needs access to your products and the ability to create automatic discounts at checkout. Click Install app to confirm.

3
You're in the dashboard

After install you'll land on the Easy Upsell dashboard inside Shopify Admin. You're ready to create your first offer.

Step 2 — Enable the theme extension

The upsell surfaces are delivered via a Shopify theme extension. Enable it once and the modal goes live automatically. The cart widget and product widget require adding Theme Editor blocks — see Theme Editor Blocks below.

1
Go to Online Store → Themes

In Shopify Admin, navigate to Online Store → Themes and click Customize on your active theme.

2
Open App embeds

Click the puzzle-piece icon in the left sidebar to open App embeds.

3
Enable Easy Upsell Modal

Find Easy Upsell Modal and toggle it ON.

4
Save

Click Save in the top-right corner. The extension is now live — no further configuration required.

No URL configuration needed for most merchants The app URL is configured automatically during installation. You don't need to set anything manually — just enable the embed and save. If your widgets ever stop responding, go to Settings → Sync URL to re-sync.

Creating Offers

From the Easy Upsell dashboard, click Create offer and fill in the following fields:

1
Trigger product

The product that, when added to cart (modal) or already in the cart (cart & product widgets), activates the upsell. Only one active offer per trigger product is allowed.

2
Upsell product

The product you want to recommend. This is what appears in the modal or widget.

3
Discount (optional)

Choose a discount type:

  • Percentage — e.g., 20% off the upsell product
  • Fixed amount — e.g., $5 off the upsell product
  • Free shipping — waive shipping on the order
  • None — show at full price

Discounts are applied automatically at checkout by Shopify — no coupon codes needed.

4
Minimum cart value (optional)

Only show the upsell when the cart total reaches a certain amount (in dollars). Leave blank to always show.

5
Display location

Choose where the upsell appears:

  • Modal — popup after the trigger product is added to cart
  • Cart page widget — inline suggestion on the cart page
  • Both — modal on add-to-cart and also the cart page widget

The product page widget always appears when any offer matches the current product, regardless of this setting.

6
Save and activate

Click Save. The offer is active immediately. Test it on your storefront by adding the trigger product to your cart.

Managing offers

  • Toggle on/off: Pause any offer without deleting it from the offers list.
  • One active offer per trigger: Each trigger product can only have one active offer at a time. Deactivate the existing one before creating another for the same trigger.
  • Edit: Click any offer row to update the upsell product, discount, location, or status inline.
  • Delete: Permanent. If no other active offers use discounts, the automatic discount is removed from Shopify automatically.

Where Upsells Appear

Easy Upsell shows offers in up to three places on your storefront. The modal activates automatically once the theme extension is enabled. The cart widget and product widget require placing a block in the Theme Editor — this gives you full control over where they appear.

Modal popup

Slides in right after a customer adds the trigger product to cart. Supports variant selection and shows the discounted price alongside the original.

Cart page widget

Inline suggestions on the cart page (/cart) based on what's in the cart. Requires placing the Easy Upsell – Cart block in the Theme Editor.

Product page widget

"Pairs well with" suggestion shown on the trigger product's page. Requires placing the Easy Upsell – Product block in the Theme Editor.

Already in cart

All three surfaces check whether the upsell product is already in the cart. If it is, the button shows "Already added" (disabled) instead of the normal add button — so customers are never prompted to add something twice. On the cart page, this updates in real time as items are added or removed without a page reload.

On the cart page, offer button states update in real time as items are added or removed without a page reload.


Theme Editor Blocks

Both the cart widget and the product widget are placed via the Theme Editor. Neither widget appears automatically — you must add each block once to activate it. This gives you full control over where each widget appears on the page.

Cart page widget Required

The cart widget only appears when this block is added. Complete these steps once — you do not need to repeat them per offer.

1
Open the Theme Editor on the Cart page

Open Online Store → Themes → Customize in Shopify Admin, then use the page selector at the top to switch the preview to the Cart template.

2
Add the block

In the left sidebar, find the cart section, click Add block, and choose Easy Upsell – Cart from the list.

3
Drag to position and save

Drag the block to the position you want, then click Save in the top-right corner. The cart widget is now live.

Product page widget Required

The product widget only appears when this block is added. Complete these steps once — it will then appear on every product page that has an active offer.

1
Open the Theme Editor on a Product page

Open Online Store → Themes → Customize in Shopify Admin, then use the page selector at the top to switch the preview to a Product template.

2
Add the block

In the left sidebar, find the product section — for example, Product information — click Add block, and choose Easy Upsell – Product.

3
Drag to position and save

Place the block below the add-to-cart button or anywhere within the product section, then click Save in the top-right corner. The product widget is now live.


Customizing Appearance

Pro plan required for full customization Color and text customization for the modal requires the Pro plan. Cart and product widget colors are available on all plans. Free plan modal always uses the default styling.

Modal settings Pro

Open Online Store → Themes → Customize → App embeds → Easy Upsell Modal:

  • Enable / Disable — toggle all upsell surfaces on or off without uninstalling
  • Modal delay — milliseconds before the modal appears (0–2000ms) Free
  • Modal title — heading shown at the top (default: "Complete your order")
  • Accept button text — label on the add button (default: "Add to cart")
  • Decline button text — label on the dismiss button (default: "No thanks")
  • Button, overlay, badge, and text colors
  • Corner radius — roundness of the modal card (0–24px)
  • Max width (desktop) — maximum modal width on large screens (360–640px). Mobile is always full-width.

Cart widget settings Free

Open the Theme Editor on the Cart page and click the Easy Upsell – Cart block:

  • Heading text (default: "You might also like")
  • Button text, added text, already-in-cart text
  • Background, text, border, button, and badge colors

Product widget settings Free

Open the Theme Editor on a Product page and click the Easy Upsell – Product block:

  • Button text, added text, already-in-cart text
  • Background, text, border, and button colors

Widget settings (colors, labels, etc.) are configured in the Theme Editor when the block is placed. Both the cart widget and product widget must be added as Theme Editor blocks — neither auto-injects.

Live modal preview

Inside the Theme Editor, a Preview Modal button appears fixed in the top-right corner of the storefront preview. Click it to open or close the modal with a sample product — no need to add anything to cart. This lets you see styling changes in real time. The preview button is only visible inside the Theme Editor and never appears to customers.


How It Works

Modal flow

1
Customer adds a trigger product to cart

The theme extension detects the cart add event, whether via a standard form or an Ajax request.

2
Offer is checked

A fast API call checks for an active offer for that product. Results are cached for 5 seconds to keep your storefront fast.

3
Modal appears

If an offer is found and the upsell product is not already in cart, the modal slides in showing the product image, name, and pricing.

4
Customer accepts or declines

Accepting silently adds the upsell product to cart and updates the cart icon. Declining closes the modal — the original product is already in the cart either way.

5
Discount applies at checkout

If a discount was set, Shopify applies it automatically to the upsell line item at checkout. No coupon code required. The discount is only applied if the trigger product is still in the cart at checkout — if it was removed before completing the purchase, the upsell discount is automatically revoked.

Cart & product widget flow

When a customer visits the cart page or a product page, the widgets (placed via the Theme Editor) load the current cart contents and fetch relevant offers. Matching offers appear as card-style suggestions with product image, price, discount badge, and an add button. If the upsell product is already in the cart, the button shows "Already added" and is disabled — no duplicate adds possible.


Language Support

Easy Upsell automatically detects your store's active language and displays the upsell modal and widgets in the correct language.

Supported languages:

  • English (default)
  • Spanish — automatically used when the store locale is set to any Spanish variant (es, es-ES, es-MX, etc.)

No configuration needed. Language detection is fully automatic based on the Shopify store locale.

Custom text for the modal (title, button labels) can be set per-plan in the Theme Editor App embeds settings.


Storefront URL Sync

Widgets not loading? This is the most common fix. Easy Upsell's theme widgets (modal, cart, product page) need to know your app's URL to fetch offers. If that URL ever gets out of sync, the widgets silently stop working — no visible error on the storefront.

Go to Easy Upsell → Settings and click Sync URL. That's it — the button updates the URL your storefront uses to communicate with the app.

When should you use Sync URL?

  • Widgets were working and suddenly stopped — the stored URL may have become stale after a redeploy or plan change.
  • You reinstalled the app — reinstalling goes through OAuth again and resets the metafield, but Sync URL forces an immediate update.
  • You migrated your app to a new server or domain — any time the app's URL changes, re-sync so the widgets point to the right place.
  • Settings page shows a URL that doesn't match your current app URL — the URL displayed in Settings is what's currently saved; if it's wrong, click Sync URL to overwrite it.
  • After a fresh install and the modal never appeared — OAuth sets the URL automatically, but an explicit sync guarantees it.

Why does this happen?

Easy Upsell stores the app's URL in a private Shopify metafield on your shop (easy_upsell.app_url). The theme extension reads this metafield at page load to know where to send requests. Normally this is set automatically during OAuth (installation). In rare cases — server migrations, reinstalls, or Shopify OAuth edge cases — the metafield can point to an old or incorrect URL, causing all three widgets to silently return no offers.


Troubleshooting

Modal is not appearing on my storefront

Check these in order:

  • The theme extension is enabled in Online Store → Themes → Customize → App embeds.
  • You clicked Save in the Theme Editor after enabling it.
  • At least one offer is active in the Easy Upsell dashboard with display location set to Modal or Both.
  • You're adding the correct trigger product to cart (not the upsell product).
  • Open your browser's DevTools → Console while adding to cart and look for errors from Easy Upsell.
  • Go to Settings → Sync URL to re-link the app URL. This is often the fix when everything else looks correct. See Storefront URL Sync.
Cart widget or product widget is not appearing
  • Confirm the theme extension is enabled in Online Store → Themes → Customize → App embeds.
  • For the cart widget: the Easy Upsell – Cart block must be added to the Cart page in the Theme Editor — it does not appear automatically. See Theme Editor Blocks.
  • For the product widget: the Easy Upsell – Product block must be added to the Product page in the Theme Editor. Visit the trigger product's page (not the upsell product).
  • Make sure at least one offer is active with a display location matching the widget you're testing (Cart, Both, etc.).
  • Go to Settings → Sync URL and click Sync URL — a stale app URL is the most common cause of silent widget failures. See Storefront URL Sync.
  • Check the Network tab in DevTools for the /api/upsell/cart or /api/upsell/check request — verify it returns offers.
  • If a minimum cart value is set on the offer, make sure the cart total meets it.
Discount is not being applied at checkout
  • The discount is applied by a Shopify Function. Make sure the offer was saved with a discount value greater than 0.
  • The upsell item must have been added via Easy Upsell — manually added items won't carry the discount.
  • The trigger product must still be in the cart at checkout. If the customer removed the trigger product after accepting the upsell, the discount is intentionally not applied.
  • If the discount was deleted from Shopify Admin manually, Easy Upsell will recreate it automatically next time the Offers page loads.
Cart badge is not updating after accepting an upsell
  • Easy Upsell updates the cart icon automatically after an upsell is accepted. It supports Dawn, Prestige, Turbo, and most standard Shopify themes.
  • If it's not updating, open DevTools → Elements and locate your theme's cart count element. Contact us with your store URL if you're on a heavily customized theme — we'll add compatibility.
"Already added" is showing when the product is not in the cart

The check uses the numeric product ID from /cart.js. Open the Network tab in DevTools, check the /cart.js response, and confirm items[].product_id values. If the state seems stuck, a hard refresh (Cmd+Shift+R / Ctrl+Shift+R) usually resolves it.

"Only one active offer per trigger product" error

Each trigger product can only have one active offer at a time. Go to the existing offer, set it to Inactive, then create the new one.

The upsell product is not being added to the cart
  • Check that the upsell product is in stock and published in your store.
  • Open DevTools → Network and look for a failed /cart/add.js request after clicking accept.
  • Verify the product has at least one available variant.
App was uninstalled — what data was removed?

When Easy Upsell is uninstalled, all your offers and the associated automatic discount are automatically removed from Shopify. Your store returns to its original state. Store data is fully deleted from our servers within 30 days.


Billing

How billing works

Easy Upsell is billed through Shopify's standard billing system. All charges appear on your Shopify invoice — there are no external payment methods or separate subscriptions.

Common billing questions

  • Where do I see my charges? — In Shopify Admin, go to Settings → Billing. Easy Upsell charges appear under "App charges".
  • How do I cancel? — Uninstall Easy Upsell from Settings → Apps. Billing stops immediately upon uninstall.
  • Will I be charged after uninstalling? — No. Shopify prorates charges to the day of uninstall.
  • Can I get a refund? — Refund requests are handled case by case. Contact us with your store URL and the reason.

For any billing issue not listed here, contact us at ismaeljarias@gmail.com with your store URL.


Contact Support

Send us an email and we'll get back to you within 48 business hours (Monday–Friday).

ismaeljarias@gmail.com

To help us resolve your issue faster, please include:

  • Your Shopify store URL (e.g., yourstore.myshopify.com)
  • A short description of the issue
  • Screenshots or screen recordings if applicable
  • Browser and device (e.g., Chrome on Mac, Safari on iPhone)

For urgent issues affecting your live store, write URGENT in the subject line.

Easy Upsell
  • Home
  • Privacy
  • Terms
  • Support

© 2026 Easy Upsell. All rights reserved.