PrestaShop discount rules: CartRule vs SpecificPrice
Choose the right native PrestaShop promotion mechanism, map overlaps and preview the blast radius before a discount reaches production.
A promotion can change the displayed product price, the cart total, shipping eligibility or the item a shopper receives. Those are different jobs. Treating every campaign as “a discount” is how a narrow idea becomes an unexpectedly wide production rule.
The first decision is therefore not the percentage. It is: which native PrestaShop surface should own the effect, under which scope, and how will the team prove that scope before applying it?
The short decision table
| Observed job | Likely mechanism | First risk to inspect |
|---|---|---|
| Change the price shown for one product or a precise audience | Specific price | Priority against another specific price |
| Reprice a catalogue set by category, brand, supplier or feature | Catalogue price rule or reviewed SpecificPrice batch | Unexpected products inside the resolved set |
| Discount a cart after spend, customer, country or product conditions | CartRule | Combination and priority with active rules |
| Offer free shipping, a gift, BOGO or a cart-total effect | CartRule or a bounded module workflow | Eligibility, cheapest-line logic and order totals |
PrestaShop’s current help centre describes cart rules and catalogue price rules as the two main discount mechanisms. Cart rules apply through cart conditions and actions; catalogue rules change prices for product sets. For a single product, the official guidance points to a cart rule or a specific price. Start with the official discount overview and product-price documentation for the exact core behaviour in your shop version.
1. Define the shopper-visible moment
Write the campaign as an observable sentence before opening a rule builder:
- “The category listing and product page show €59 instead of €79.”
- “A registered wholesale group receives 12% off these products.”
- “A cart above €120 receives free shipping.”
- “Buying three eligible units discounts one eligible unit.”
The first two statements begin with a product-price decision. The latter two depend on the assembled cart. That boundary usually tells you whether a SpecificPrice-style catalogue write or a CartRule-style cart effect is the clearer primitive.
2. Specify six axes before touching production
- Scope: exact products, categories, brands, suppliers or all catalogue items.
- Audience: shops, customer groups, countries, currencies and individual customers that are genuinely supported by the chosen mechanism.
- Effect: percentage, fixed amount, fixed final price, markup, shipping, gift or quantity logic.
- Time: start, end and timezone—including what the storefront should show one minute before and after expiry.
- Stacking: which existing rules may combine, which must win and which overlap is forbidden.
- Reversal: the exact native objects that will be removed, who can remove them and what evidence proves cleanup.
If any axis is “whatever the module normally does”, the campaign is not ready to publish. Defaults are still decisions; record them.
3. Build an overlap matrix
Export or list every active cart rule, catalogue rule and relevant specific-price window. Compare each candidate against the same dimensions: product set, customer, group, country, currency, shop, quantity, time window and priority.
Classify each intersection before launch:
- Intended combination: both effects may apply and the final total is verified.
- Intended precedence: one rule must win, with its priority documented.
- Forbidden overlap: publishing must stop until one scope or time window is changed.
PrestaShop’s official catalogue-rule guidance shows how category, brand, supplier, attribute and feature conditions can define a product set. A broad or missing condition can therefore affect much more of the catalogue than the campaign name suggests. Review the official catalogue price rule guide before treating a saved rule as proof of a safe scope.
4. Preview the blast radius as data
A useful dry run should answer concrete questions:
- How many products and combinations resolve from the selected scope?
- What are the current and proposed prices for each affected row?
- Which CartRule or SpecificPrice objects will be created?
- Which existing object conflicts with the candidate?
- Has a base price, target set or payload changed since review?
A preview screenshot is not enough when the product set is large. Keep a CSV or equivalent review record and bind approval to the exact payload and catalogue snapshot. If the snapshot changes, generate a new preview instead of reusing the old approval.
5. Test money, not only badges
For representative carts, verify at least:
- list and product-page prices, including tax display and combinations;
- mini-cart, cart, checkout, order confirmation, invoice and refund totals;
- guest and customer-group paths;
- coupon entry, automatic rules and non-combinable rules;
- quantity changes, partial refunds, currency and multistore boundaries;
- the exact start, expiry and cleanup path.
A correct discount can still destroy contribution. Calculate the floor from product cost, payment fees, shipping subsidy, picking, returns provision and tax treatment. A rule engine can enforce a configured floor; it cannot decide the economics of your campaign.
6. Know when core PrestaShop is enough
Use the native interface when one straightforward rule expresses the campaign clearly and your team can review, test and reverse it safely. Buying another module only adds value when it removes a real operating gap.
NP Promo Pro 1.1.0 is designed for teams that repeatedly operate catalogue repricing and automatic cart promotions together. Its current workflow compiles cart effects to native auto-applied CartRules and catalogue edits to native SpecificPrice rows. A fresh dry run, signed 15-minute review token, CSV audit and generated-object ledger make the intended writes inspectable. Catalogue batches above 2,000 matched products and overlapping SpecificPrice windows are blocked rather than silently truncated or overwritten.
Those are release-bounded controls, not a profitability or compatibility guarantee. Use the PrestaShop promotion decision lab to compile several campaign shapes without writing data, then inspect the exact NP Promo Pro product workflow before deciding whether the native screens already cover your need.
Pre-launch checklist
- Write the shopper-visible outcome.
- Choose the native mechanism from that outcome.
- Resolve the exact product and audience scope.
- Map every overlap and priority.
- Calculate a contribution floor.
- Preview old and new values as exportable data.
- Invalidate approval when payload or catalogue data changes.
- Test product-to-refund totals on staging.
- Publish in a bounded window with a named owner.
- Verify expiry and removal instead of assuming cleanup.
Bottom line
Choose CartRule or SpecificPrice from the moment where the shopper should receive the effect. Then make scope, overlap, margin, preview and reversal explicit. Use PrestaShop core when it expresses the campaign safely; add a workflow module only when review and operational control are the missing pieces.
PrestaShop abandoned-cart email timing: a 3-message test plan
Build a cautious three-message PrestaShop cart-recovery test with eligibility, stop rules, margin-capped coupons, signed restore links and measured attribution.
The best PrestaShop modules to install in 2026 (by category)
A curated stack of PrestaShop modules worth installing on a serious shop in 2026 — by category, with honest mentions of competitors.
WooCommerce vs PrestaShop in 2026: an honest comparison for EU merchants
PrestaShop is the older, more focused platform. WooCommerce has the bigger plugin ecosystem. Here's the practical comparison for EU merchants choosing between them in 2026.