Key Concepts
Before diving into specific discount types, it helps to understand a few concepts that come up throughout the plugin.
Discounts
Section titled “Discounts”A discount is a single discount definition. It describes:
- What kind of reward (% off, amount off, tiered, volume, free item, free shipping — or a BOGO / bundle deal)
- Who is this for (first-time customers, past orders, lifetime spend, login state, user roles)
- Where does it apply (zones, currencies)
- When does it apply (always-on, date window, day of week, time of day)
- What triggers it (auto-applied, a coupon code, spend / weight / item-count thresholds, or matching items in the cart)
- What customers see (cart labels, checkout notices, product-page messages, spend-more nudges)
Each discount appears as a row in the Discounts tab. You can reorder them by dragging the grip handle, toggle them on/off, and edit them in the rule editor. Once a discount has been redeemed, its row shows a quiet “used N times” count next to the name so you can see real activity at a glance.
The rule editor’s six sections
Section titled “The rule editor’s six sections”When you open or create a discount, the rule editor presents the same six sections as a single scrollable page. Rewards is always required, and a recipe may mark a few other fields required (such as a currency or coupon code) — the rest have sensible defaults.
| Section | What it controls | Default |
|---|---|---|
| Who is this for? | First-time customers, past orders, days since last order, lifetime spend, login state, user roles | Anyone |
| When does it apply? | Date window, day of week, time of day | Always |
| Where does it apply? | Geographic zones, currency | Anywhere |
| What triggers it? | Spend, weight or item-count thresholds, a coupon code, and Cart contains matching items (item sets by category, tag, attribute or SKU list) | Auto-applied |
| Rewards | Reward kind, amounts, and tier configuration | Required |
| Messaging | Cart label, checkout notice, product-page message, spend-more nudge copy | Recipe defaults |
A green Summary box sits at the top of the editor and re-reads itself as you change fields — something like “For every qualifying order, give tiered savings: 10% at £50 and 15% at £100.” — so you can sanity-check the rule without scrolling. To the right of the editor, the Cart Preview right rail simulates a customer cart against the real discount engine so you can verify the rule fires before publishing.
Recipes
Section titled “Recipes”A recipe is a pre-configured template that creates a discount with sensible defaults. When you click + Create Discount, you pick a recipe first.
The recipe gallery groups templates under Common mechanisms with six sub-headings — pick whichever matches what you want to build:
| Sub-heading | Tiles |
|---|---|
| % / £ discounts | % off cart, % off category, Amount off cart |
| Spend & save / tiers | Free shipping, Min spend %, Spend & Save, Volume discount, Spend gift |
| Customer segments | Welcome, VIP / role, Repeat customer |
| Coupon-triggered | Coupon %, Coupon amount, Coupon shipping, Free gift with coupon code |
| BOGO / bundle | BOGOF, Buy A, get B free, Mix BOGOF, Bundle, Meal deal |
| Time / day | Flash sale, Weekend sale, By weekday |
Underneath, a Seasonal · pre-filled row offers worked-example templates (Black Friday 20% off, Boxing Day clearance, Mother’s Day gift, Subscriber birthday code), and a dashed Build any discount tile in the top-right opens a blank editor for starting from scratch. A search box at the top filters the tiles.
Recipes save you time — you can always customise everything after the discount is created.
Draft vs Published
Section titled “Draft vs Published”Dino Discounts uses a draft / publish workflow, similar to WordPress posts:
- Draft — Your changes are saved in the admin but not live on your store. Customers see nothing.
- Published — The current live state. This is what your store is running right now.
When you create or edit a discount, it becomes a draft. You can make as many changes as you like, across multiple discounts, and then publish them all at once with Publish changes in the You have unpublished changes banner. The Publish to your shop modal lists a What goes live summary of every pending change so you can review before flipping the switch. A draft with errors is skipped and stays in your editor; the rest still go live.
Stacking
Section titled “Stacking”When a customer’s cart qualifies for multiple discounts, Dino Discounts needs to decide how they combine. This is called stacking.
You control this globally from the When discounts overlap dropdown in the Discounts tab toolbar (the top row of the tab), with four modes: Apply All, Best Only, First (the first qualifying discount in table order) and Pause All (no Dino discounts apply). See Discount Priority & Stacking for details.
There are also separate controls for native WooCommerce coupons: per discount, the Allow stacking with WooCommerce coupons toggle in the What triggers it? section (off for a new discount, so it stands down while a WooCommerce coupon is on the cart), and store-wide, WooCommerce coupon interaction in Settings, which can suppress every Dino discount when a coupon is applied.
A zone is a geographic region — a group of countries — that you can use in the Where does it apply? section. For example, you might create:
- An “EU” zone for European customers
- A “North America” zone for US and Canada
- A “Domestic” zone for your home country only
Zones are managed in the Countries & Zones tab and can be referenced by any discount.
Coupons
Section titled “Coupons”A coupon is the code a shopper enters to trigger a discount. It comes in three types: Standard (one code), Bulk Pool (a batch of generated codes that all start with your seed code) and URL Token (applied from a link). The coupon carries no amount of its own — what it gives comes from the discount whose What triggers it? section uses it, and the discount’s overall usage cap is set under Limit Uses there.
Coupons are managed in the Coupons tab. See Coupons for details.
History snapshots
Section titled “History snapshots”Every time you publish, Dino saves a snapshot of your full discount configuration to the History tab. If a publish causes a regression, open History, pick any previous snapshot, and click Restore to rewind to that exact state — no manual reverts required.