CartSella runs on top of Shopify’s own theme, cart and discount systems rather than replacing them, so most stores work with no changes at all. There are a few real requirements to know before you install, and a few places where another app gets in the way. This page is the honest list.

Themes

CartSella installs as a theme app extension, which has two moving parts:
Both need an Online Store 2.0 theme. Vintage themes cannot host an app embed or app blocks, so CartSella cannot run on one. This is a Shopify platform requirement and no CartSella plan changes it.
Not sure which you have? Go to Online Store → Themes and click Customize. If the left sidebar lets you add sections and blocks to the product and cart templates, you are on Online Store 2.0. Every free Shopify theme released since 2021, Dawn included, qualifies.
If you are on a vintage theme, switching to a 2.0 theme is the only route. Shopify’s own theme store filters for it.

Themes that heavily customize the cart

CartSella reads the cart and, for gift with purchase, adds and removes lines in it. Themes that use Shopify’s standard cart routes work fine. A theme that reimplements the cart in an unusual way can still receive the gift correctly but fail to show the change until the page reloads, which is the next section.

Cart drawers

CartSella never replaces your cart drawer and never rewrites its markup. When a gift or an upsell product is added, it asks the theme to re-render and open its own drawer with the theme’s own code, the same code that runs after a normal add to cart. Custom drawers, slide carts and mini carts keep their behaviour, animations and event bindings. Where the theme does not expose that, CartSella falls back in order:
1

The theme's own drawer

CartSella calls the theme’s render and open, so the drawer refreshes and opens exactly as it would after any add to cart.
2

Refresh the cart in place

For themes with no drawer of their own, CartSella refreshes the cart areas on the page, including the cart count in the header.
3

Reload the page

If the page shows a cart neither route can reach, CartSella reloads so what is on screen is still correct. Last resort, not the normal path.

If your drawer does not refresh after a gift is added

1

Open the cart page

If the gift is there, it was added correctly and only the on-screen refresh failed. That is a display problem, not a discount problem.
2

Check the app embed on your published theme

Switching or duplicating a theme leaves the embed off on the new one. See Storefront blocks.
3

Check for a separate cart drawer app

A third party app that replaces your theme’s drawer may not respond to the theme’s own refresh. Turn it off temporarily and add the qualifying product again. If the drawer then refreshes, the two need to coexist, usually by letting one of them own the drawer.
4

Accept a reload where the theme forces one

Some themes build the cart in a way that cannot be refreshed in place. A reload after add to cart is CartSella working as designed.

Subscription apps and selling plans

CartSella reads Shopify selling plans directly, so it works with any subscription app built on them, which is how Shopify subscription apps are built. There is no per app integration, and none is needed. Two places it shows up:
  • Eligibility. An offer or upsell can require a one time purchase or a subscription. Requiring a subscription can mean any selling plan, or specific plans picked from your store. The plan list is read live.
  • Upsells. A subscribe and save option appears on any recommended product that has a selling plan. The saving itself comes from your subscription app’s plan, not from CartSella.

What shoppers see on a product page

A CartSella block on a product page stays visible whether the shopper has subscription or one time selected. Visibility does not follow the subscription toggle. That is deliberate. A product page comes before the cart exists, so the only available answer is whatever the subscription widget currently shows, and not every widget reports that reliably. A badly behaved widget can be out of sync with what it will actually add to the cart, and a block appearing and disappearing against that would be wrong as often as it was right.
Visibility is relaxed, the discount is not. Purchase type is still enforced when the discount is calculated, line by line. A cart mixing a subscription line and a one time line is discounted only on the lines that match. Free gifts are gated too: a subscription only gift is not added to a one time cart.
The consequence: a shopper on the wrong purchase type may see an offer they do not qualify for. They are never charged incorrectly for it, because the discount is decided at checkout.

Other discount apps and Shopify’s own discounts

This is where conflicts actually come from, so read this one carefully.

The Combine with setting

An offer’s Advanced options has a Combinations group with three checkboxes:
This setting is store wide, not per offer. Shopify allows one combination setting per app, so changing it on any offer changes it for every CartSella offer in the store. The editor shows a banner saying so. Unticking Order discounts can stop discount codes working across your whole store.

Running two automatic discount apps

If another app also creates automatic discounts, the two compete for the same slot in Shopify’s discount engine, and Shopify decides which one wins. The symptom looks like an intermittent CartSella bug: the discount applies on some carts and not others, or the amount is not what you configured. If you see that:
  • Check Discounts in your Shopify admin for automatic discounts you did not create in CartSella
  • Turn the other app off for a test order and see whether the behaviour becomes consistent
  • Decide which app owns automatic discounts, and keep it to one
Manually created Shopify discounts count too. An old automatic discount you forgot about behaves exactly like a competing app.

Discount codes

Codes your shoppers type in are governed by the same Combinations setting. With Order discounts and Product discounts unticked, a CartSella discount already on the cart can stop a code applying.

Markets, currencies and translated storefronts

CartSella follows Shopify Markets rather than working around it.
  • Targeting. Offers and upsells can be limited by market or by customer country in the Eligibility section. Those rules are evaluated with the shopper’s real address at checkout, which is not always the one you tested with.
  • Currency. Thresholds like “spend at least 50” are set in your store currency, and a shopper in another market sees the converted amount at your Shopify market rates. The number they see may not be the number you typed, and rounding rules are Shopify’s.
  • Analytics. On a multi-currency store, money figures are reported in your dominant selling currency only, so mixed totals stay meaningful. Orders in other currencies still count toward order numbers. See Analytics.

Translated storefronts

CartSella’s own storefront wording ships in English, Portuguese, Spanish, French, German and Italian, and follows the language the shopper is browsing in. Text you write yourself, such as offer headlines and cart messages, can be translated per language inside CartSella, so shoppers read it in their own language rather than the one you happened to author it in. See Translations.
CartSella content is translated in CartSella, not in Shopify’s Translate & Adapt app or a third party translation app. Those apps do not see CartSella’s text, so leaving it untranslated there is expected, not a fault.

Checkout extensibility

Some CartSella surfaces run inside Shopify’s checkout, and Shopify restricts checkout customization to Shopify Plus. That is a Shopify restriction rather than a CartSella plan limit, so no CartSella plan unlocks it.
  • Checkout upsells, shown inside the checkout itself
  • Delivery rules, hiding, renaming or reordering shipping methods at checkout
  • Editing cart lines at checkout, including the safety check that keeps free gifts correct there
  • Changing subscription frequency at checkout
  • Custom gift line titles in the cart and checkout. The gift is still added free on any plan, only the visual prefix needs Plus
  • Every offer type: gift with purchase, shipping discounts, quantity and volume discounts, cheapest item discounts, automatic product discounts and all the bundle types
  • The discounts themselves, because they are ordinary Shopify automatic discounts
  • Thank you page upsells
  • Post-purchase upsells, on the page shown right after payment. Enable CartSella under Shopify Settings → Checkout → Post-purchase page
  • Every theme surface: on-page blocks, offers hub, floating bubble, boost popup, campaign links
Not on Plus and using gift with purchase? The gift is added in the cart and made free by a Shopify automatic discount, which works on every plan. What you do not get is the extra verification inside checkout itself.

Page builders, headless and POS

Be careful with expectations here. CartSella has no integration with any page builder, headless setup or Shopify POS.
  • Page builders. CartSella blocks are standard Shopify theme app blocks. If your page builder can place theme app blocks into the pages it builds, they render. If it renders its own pages outside the theme, they do not. There is no page builder specific support, and we do not test against them.
  • Headless storefronts. Not supported. CartSella is delivered through the theme, so a custom frontend has nothing to load it from. Discounts created by CartSella would still exist in Shopify and could still apply at checkout, but nothing is displayed, no gift is added to the cart, and nothing is tracked.
  • Shopify POS. No POS support. CartSella offers do not appear in POS and are not designed for in person sales.
If any of those three is core to your store, CartSella is not the right fit today.