Themes
CartSella installs as a theme app extension, which has two moving parts: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.
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.
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: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
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.Needs Shopify Plus
Needs Shopify Plus
- 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
Works on every Shopify plan
Works on every Shopify plan
- 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.