Checkout upsells are only available to Shopify Plus merchants, because Shopify’s Checkout Extensibility API is Plus-only. If you are not on Shopify Plus, checkout upsells will not appear regardless of your configuration. See Why can’t I see the checkout tab?
Where to start
Most display problems come down to one of four things: the widget isn’t enabled, the app block isn’t added/saved in Shopify, the placement doesn’t match, or the trigger conditions aren’t met. Confirm the basics first:- You are on a Shopify Plus plan
- The widget is enabled in the Aftersell Checkout editor (the Enable toggle in the top right of the widget settings is on)
- The app block has been added and saved in the Shopify Checkout Editor
- The placement selected in Shopify matches the placement set in Aftersell
- Widget is not enabled or not added to checkout
- Placement mismatch between Aftersell and Shopify
- Trigger conditions are not being met
- There is a product or offer issue
- Shop Pay widgets not showing
- Testing in the Shopify preview
- Nothing above applies
Widget is not enabled or not added to checkout
For a checkout upsell to display, two things must be true at the same time:- The widget must be enabled in the Aftersell Checkout editor
- The app block must be added and saved in the Shopify Checkout Editor
- Go to Apps → Rokt Aftersell → Checkout
- Open the upsell widget you want to display
- Confirm the Enable toggle in the top right corner is turned on
- Go to Settings → Checkout in your Shopify Admin
- Click Customize next to your checkout profile
- Click Add app block and select the Aftersell upsell widget
- Position it where you want it to appear
- Click Save — changes are not applied until saved
Placement mismatch between Aftersell and Shopify
A placement mismatch is one of the most common reasons a checkout upsell fails to display. Aftersell supports multiple placements (Default placement, Additional placement 1, Additional placement 2) so you can run more than one widget of the same type on the same checkout page. Each placement in Aftersell corresponds to a separate app block in the Shopify Checkout Editor. The placement selected in Shopify must match the placement configured in Aftersell. If the placements do not match, the widget will not appear or may display in the wrong location. To fix a placement mismatch:- In the Aftersell Checkout editor, open the upsell widget and note which placement is selected (for example, Additional placement 1)
- In the Shopify Checkout Editor, remove the existing app block for this widget
- Click Add app block, select the Aftersell upsell widget, and choose the same placement as configured in Aftersell
- Save your changes
Trigger conditions are not being met
If your upsell widget has triggers configured, it will only display when those conditions are met by the cart. If the cart does not satisfy the trigger conditions, the widget will not appear — this is expected behavior. Available trigger types include:- Specific products / collections: a chosen product, variant, or collection is (or is not) in the cart
- Quantity of a specific product: e.g. 2 or more of a product
- Product tag / product type / variant name: any cart item matches a Shopify tag, product type, or variant title (case-insensitive)
- Product metafield / variant metafield: a cart product or variant has a metafield value that matches
- Cart subtotal: the subtotal meets a threshold (see the note below on how the subtotal is calculated)
- Cart quantity: total number of items in the cart
- Subscription in cart: whether any cart item is a subscription
- Cart attribute: a cart-level attribute key/value matches (useful for data set by other apps)
- Applied discount / discount value: a specific discount code is applied, or total discount meets a threshold
- Shipping country: the customer’s shipping country (and optionally province) matches
- Customer language: the checkout’s language matches (for example, show French content only to French checkouts)
- Customer tags: the logged-in customer has the required tags
- Device type: the customer is on the configured device (desktop or mobile)
The cart subtotal used for trigger evaluation excludes any line items already added by accepted upsells (those tagged with the
__as_offer_id cart attribute). So accepting one upsell will not, by itself, push the subtotal over a threshold that gates another widget.- Open the widget in the Aftersell Checkout editor and review its trigger conditions
- Temporarily set the trigger to Show for all customers to confirm the widget itself is working, then re-enable your specific triggers
- Make sure at least one widget uses a Show for all customers trigger at the lowest priority as a catch-all, so some offer always displays even when no targeted widget matches
There is a product or offer issue
Even when the widget is enabled, correctly placed, and its triggers match, the offer itself may be filtered out before it displays.The upsell product is out of stock
The upsell product is out of stock
If the product’s inventory is tracked and no variant is available for sale, the offer will not display. Make sure at least one variant of the upsell product has available inventory, or use a product that doesn’t track inventory.
The upsell product is in Draft or Archived status
The upsell product is in Draft or Archived status
The upsell product must be a live, sellable product. Products in Draft or Archived status in Shopify are filtered out and will not appear as offers. Open the product in Shopify Admin and confirm its status is Active.
The upsell product is already in the cart and 'hide if already in cart' is enabled
The upsell product is already in the cart and 'hide if already in cart' is enabled
The Hide offer if product already in cart setting hides the offer when that product is already in the customer’s cart. It is on by default for standard product offers. If you want the upsell to show regardless, disable this setting in the offer configuration.
The upsell product is a subscription but has no selling plans
The upsell product is a subscription but has no selling plans
If the offer’s purchase option is set to Subscription but the product has no selling plans configured in Shopify, the offer is filtered out. Confirm the product has at least one active selling plan, or change the purchase option to One-time purchase.
The replacement upsell target product is not in the cart
The replacement upsell target product is not in the cart
If the offer is configured as a replacement upsell, it only displays when the product it is meant to replace is present in the cart. If that target product isn’t in the cart, the offer won’t show. Confirm the correct target product is selected in the replacement upsell configuration.
The maximum number of accepted offers has been reached
The maximum number of accepted offers has been reached
If Maximum accepted offers is set on the widget, the upsell stops displaying once the customer has accepted that many offers from the widget in the current checkout. This is intentional — once the limit is reached, the widget hides itself.
The offer was already added to the cart by this widget
The offer was already added to the cart by this widget
For single and multi-product upsells, once the customer adds the offer product to their cart, the offer is hidden (the product is already in the cart). Checkmark upsells behave differently — they stay visible with the checkbox checked after being accepted.
Shop Pay widgets not showing
Checkout widgets do not display in Shop Pay by default. To show your upsell in Shop Pay, you must explicitly enable it:- Open the Aftersell upsell app block in the Shopify Checkout Editor
- In the block settings, find the Checkout behaviour section
- Check the Include app block in Shop Pay option
- Save your changes
Testing in the Shopify preview
The Shopify Checkout Editor preview does not reliably render widgets. A widget can be configured correctly and still not appear in the editor preview, because the preview can’t simulate page tagging and trigger conditions. Don’t rely on the editor preview to confirm whether a widget is working. To test your upsell accurately:- Temporarily set the widget trigger to Show for all customers
- Place a real test order using Shopify’s test payment gateway (or a discount code that makes the order free)
- Confirm the widget appears during the actual checkout flow
- Reset your triggers after testing
Nothing above applies
If you’ve worked through everything above and the upsell still isn’t displaying, confirm the following:- The widget is enabled in Aftersell and the app block is added and saved in the Shopify Checkout Editor
- The placement in Aftersell matches the placement selected in Shopify
- The trigger conditions match your test cart — remember that under an AND join, every condition must be met
- There is at least one widget with a Show for all customers trigger at the lowest priority as a catch-all
- The upsell product is Active, in stock, and (for subscription offers) has active selling plans
- You are testing with a real checkout flow, not the Shopify editor preview
- Try clearing your browser cache or testing in an incognito window — changes can take a few minutes to propagate