Offer versus upsell
This is the split that matters most.
An offer is a promotion. When the cart meets the condition, CartSella acts: it adds the gift line, discounts the shipping, drops the price of the third item. The shopper does not have to accept anything, and often does not even notice it happened until the total changes.
An upsell is a recommendation. It shows products the shopper has not added, and nothing happens until they tap add. An upsell can carry a discount to make the recommendation more tempting, but the shopper still chooses.
The eleven offer types
Gifts and shipping
Gift with purchase, Shipping discount, Delivery rule
Discounts
Automatic product discount, Volume discount, Quantity break, Cheapest-item discount, Pack selector
Bundles
Standard bundle, Pick your bundle, Bundle builder page
The six upsell types
Full comparison in Upsells overview.
Condition and reward
Every offer has two halves. The condition, labelled Main condition in the editor, is what the shopper has to do. Buy three of a product. Spend at least 40. Add anything from a collection. You will also hear this called the trigger. The reward is what they get. A free product, a percentage off, free shipping, a fixed amount off a bundle. Upsells call this half the discount, because an upsell reward is always a discount on the recommended product. Set the condition too loose and you give away margin to people who would have bought anyway. Set it too tight and nobody qualifies. Gift triggers and rewards walks through the combinations.Eligibility
Eligibility is a second layer of rules on top of the condition. The condition answers “has this cart earned the offer?”. Eligibility answers “is this the kind of shopper we meant it for?”.Cart rules
Cart rules
Cart total, item count, cart weight and products in cart. Layer a minimum spend on top of a product condition, or require that something specific is already in the basket.
Customer rules
Customer rules
Customer tags and customer order history (lifetime spend, or number of past orders). These only filter shoppers who are logged in. A guest is not blocked by them while browsing, and CartSella re-checks at checkout once Shopify knows who the shopper is, so nobody gets a discount they did not earn.
Location rules
Location rules
Customer location (countries) and Markets. Delivery rules also get delivery location, which matches on country, province, postal code, or whether the address is a PO box.
Purchase type
Purchase type
Restricts an offer to subscriptions only, or one-time purchases only. This one does not hide storefront blocks, because on a product page the shopper has not chosen yet. It is enforced where it counts: the discount itself.
Traffic source
Traffic source
Unlocks an offer only for shoppers who arrived from a given site, or through a link you tagged. It reads where the visit came from, not which page they are on now, and it is remembered for the whole visit.Treat it as segmentation, not a lock. It is read from the shopper’s browser, so it can be faked. Never make it the only rule on a high-value reward.
Priority
Priority decides which offer wins when several could apply to the same cart or the same product.- The scale is 1 to 10.
- 1 is highest and applies first. 10 is lowest.
- The default is 5, and most offers should stay there.
Combine with (stacking)
Combine with controls whether a CartSella discount can sit alongside other discounts in the same checkout. Three toggles: Product discounts, Order discounts, Shipping discounts. The common case: leave Order discounts on so shoppers can still redeem your discount codes on top of a CartSella promotion. Turn it off only if you want CartSella promotions to be exclusive.Status
Offers and upsells carry a status that decides whether they are live.When CartSella pauses something for you
Three things switch an offer off without you touching it, and the editor shows a banner explaining which one, so you can always tell your own pause apart from an automatic one.- A product went out of stock. A gift the offer depends on has no inventory left. It resumes on its own once stock is back.
- A usage limit was reached. The offer hit its maximum total uses. Raise the limit to bring it back.
- A discount alert fired. An order came through with an abnormally large CartSella discount, so the offer was pulled for review. Check the alert under Settings, then Discount alerts, before switching it on again.
What counts as active
Your plan caps how many offers and how many upsells you can have active at once. The badge in the app shows the count against your cap. Only things genuinely live right now count:- Draft, inactive, archived and expired items do not count.
- An item marked active whose end date has already passed does not count.
- Delivery rules do not count against the offer cap. They have their own page and their own limit.
App embed versus block
Two different things, and confusing them is the most common setup mistake. The app embed is the CartSella runtime. It loads on every page of your store. It is what adds gift lines to the cart, applies shipping discounts, keeps the progress bar in sync, and powers every block. You switch it on once, in your theme, and then forget about it. A block is a widget you place on a specific page in the theme editor: an offers block on the product page, an upsell in the cart, a countdown timer on the homepage. Blocks are optional and you add only the ones you need. Rule of thumb: cart-driven promotions (gift with purchase, free shipping, automatic discounts) work from the app embed alone. Anything the shopper needs to see and interact with on a page needs a block. See Installation and Theme blocks.Attribution
Attribution is how CartSella decides that an order belongs to an offer. It powers your analytics and your usage limits, so it is worth knowing roughly how it works. An order is recognised in three ways, and any one of them is enough:- Marks left in the cart. When an offer applies, CartSella tags the cart and the affected lines. Those marks travel into the order.
- The discount name on the order. Shopify records the name of every discount it applied, and CartSella matches that name back to the offer. Offer discount names are unique per store, which is what makes this reliable.
- The lines themselves. Individual items carry their own marks, which survive even when the cart session does not.
If an offer somehow leaves none of those marks, its usage limits will never trip and it will not appear in analytics. In practice this only happens with unusual setups. See Troubleshooting if your numbers look wrong.