Coexistence with Other Discount Plugins
Merchants migrating to Dino Discounts often still have a competitor engine installed for a while — Advanced Coupons, Discount Rules for WooCommerce (Flycart), Smart Coupons, and similar. Running two discount engines on one cart is supported and will not crash your store, but you should understand the precedence contract below so the final price is the one you expect.
The short version: Dino Discounts never removes or invalidates another plugin’s coupons, and another plugin never removes ours. When both target the same items, their effects stack (compound) unless you tell us not to — and our “don’t stack” setting only reacts to coupon-code discounts, not to discounts applied as cart fees or as edited item prices. For a clean cutover, finish your rules in Dino Discounts and then deactivate the old engine.
How Dino Discounts applies a discount
Section titled “How Dino Discounts applies a discount”Dino Discounts delivers every discount as a virtual WooCommerce coupon with a pre-computed amount. We do not add cart fees and we do not edit item prices. WooCommerce simply distributes our number across the cart, the same way it distributes any coupon. This matters for coexistence:
- We coexist cleanly with any coupon stored as a real WooCommerce coupon
(a
shop_couponpost) — including native WC coupons and Advanced Coupons, which store real coupon posts. Both apply; neither cancels the other. - We evaluate our rules late in WooCommerce’s price calculation (priority 20). A competitor that lowers item prices earlier will already have changed the cart before we read it (see Compounding below).
The precedence contract
Section titled “The precedence contract”What wins when both engines target the same cart or line, with Dino Discounts’ default settings:
- Native WC coupons and any real
shop_couponpost (including Advanced Coupons): coexist cleanly. We never invalidate them; they never invalidate us. If a shopper types a code that happens to match one of your Dino coupon IDs, WooCommerce’s real coupon wins — Dino Discounts yields and shows you an admin notice about the collision. - Two coupon-code discounts on the same items: both apply. WooCommerce applies coupons sequentially, so the second one sees prices already reduced by the first. The order follows WooCommerce’s coupon-application order, not a Dino Discounts setting.
- A competitor that edits item prices (for example, Discount Rules for WooCommerce in product-price mode) before our evaluation: our percentage is calculated against the already-reduced price, so the two discounts compound. See below.
- A competitor that applies its discount as a cart fee: this is invisible to our “don’t stack with other discounts” setting (that setting only looks at applied coupon codes). Our rules will still fire even with the setting on.
- Our “disable when a WooCommerce coupon is applied” setting: suppresses only our discounts. It never removes the other plugin’s coupon, and it only triggers on coupon codes — never on fees or edited prices.
When discounts compound
Section titled “When discounts compound”If a competitor lowers item prices before Dino Discounts evaluates (priority 20), our percentage discount applies on top of their reduced price. Example:
- A product is £100.
- The competitor applies “20% off” by editing the item price → £80.
- A Dino Discounts rule applies “10% off” → £72, not £70.
This is compounding, and it is usually not what you intend. It happens silently because each engine is doing exactly its own job — neither one is “wrong,” but the combined result is steeper than either rule alone.
Avoid it by running one engine at a time on the same products. Either:
- Finish migrating your rules into Dino Discounts and deactivate the competitor, or
- Keep the two engines on non-overlapping products/categories so they never both target the same line.
”Don’t stack” only sees coupon codes
Section titled “”Don’t stack” only sees coupon codes”Dino Discounts has two ways to avoid stacking with other discounts:
- A global “disable Dino discounts when a WooCommerce coupon is applied” switch, and
- A per-rule “only when no WooCommerce coupon is applied” condition.
Both look only at applied coupon codes. A competitor that discounts via a cart fee or by editing item prices carries no coupon code, so these gates do not see it and your Dino rules still fire. If you rely on “don’t stack” to prevent double discounts, confirm the other engine actually applies its discount as a coupon, not as a fee or a price edit.
Coupon codes and virtual coupons
Section titled “Coupon codes and virtual coupons”Dino Discounts intercepts shopper-typed codes to resolve its own coupons. By
default it resolves before WooCommerce (precedence dino_first). This is
correct for almost everyone, but if you run another plugin that also supplies
coupons without a backing shop_coupon post (a purely “virtual” coupon
provider), switch Dino Discounts’ coupon precedence to wc_first so the
other plugin’s codes resolve first. Codes backed by real coupon posts (native
WC, Advanced Coupons) are already protected and do not need this change.
Recommended migration path
Section titled “Recommended migration path”- Build and preview your rules in Dino Discounts with the competitor still active — use the Cart Preview to check the numbers.
- Verify on a real cart and at checkout, not just the rule editor preview, so you catch any compounding from the other engine.
- Once your Dino rules produce the prices you want, deactivate the competitor. The conflict notice in your WordPress admin will clear.
Related
Section titled “Related”- Caching & Performance — sibling reference page on plugin compatibility.
- Multi-Currency Compatibility — another coexistence reference for multi-currency plugins.
- Switch from Discount Rules — migration guide for Flycart users.
- Testing with Cart Preview — how to verify the final price before going live.