DiscountLab: Discount App
Build Product, Order, and Shipping discounts visually on a node-based canvas
DiscountLab: Discount App by Mounli is a visual, node-based discount builder for Shopify. Describe a promotion as a diagram on a canvas instead of writing code or juggling scattered admin screens.
Coming soon
DiscountLab is a new Mounli app releasing soon. This page describes the capabilities available at launch.
What You'll Get
Visual Builder
Draw promotions as a flow of connected nodes on a canvas
Conditional Logic
Route discounts through condition branches with AND, OR, and NOT trees
Product, Order & Shipping
One builder covers cart lines, order subtotals, and delivery options
Instant Deploy
Publish to Shopify in one click, no code deploy required
How It Works, in One Sentence
You build a promotion as a graph. DiscountLab compiles that graph into a configuration and pushes it to Shopify, where a single shared Shopify Function reads it at checkout and applies the discount in real time on every cart change.
The Mental Model
A discount is a flow graph built from three node types.
| Node type | Purpose | Ports |
|---|---|---|
| Initial | The single entry point of the flow | 1 output |
| Branch | A condition split that evaluates a predicate tree | 1 input, 2 outputs (True path, False path) |
| Rule | The terminal node that pairs an action with a target | 1 input, plus slots for action and target |
For every rule you answer three questions.
| Question | Answered by |
|---|---|
| When does the discount fire? | Branch conditions upstream of the Rule node |
| What does the discount do? | The action slot in the Rule node |
| To what does it apply? | The target slot in the Rule node |
The simplest flow
A discount with a condition connects Initial to a Branch, then to a Rule on the True path.
A discount with no conditions omits the Branch entirely. The Initial node connects straight to a Rule that always fires.
A single discount can contain multiple Rule nodes. Each Rule becomes its own independent rule in the compiled configuration.
Discount Classes
Every discount belongs to exactly one class. The class decides which Shopify target runs it and which actions and targets are allowed.
Applies to individual cart lines.
Use it for "20% off all items from a vendor" or "$5 off the cheapest item".
See Actions, Targets & Selections for the full list of what each class can do.
Quick Setup
Open the Builder
Go to DiscountLab and click Create Discount.
Pick a Class
Choose Product, Order, or Shipping. This determines which actions and targets are available.
Add Conditions
Drop a Branch node to set when the discount fires, or skip it for a discount that always applies. Build AND, OR, and NOT condition trees to any depth.
Configure the Rule
In the Rule node, choose an action (what the discount does), a target (what it applies to), and a selection strategy (how candidates are picked).
As you edit, the form validates against the server in real time and shows any errors inline, so you know the discount is valid before you save.
Set Details and Schedule
Give the discount a title, optional description and tags, choose who it targets, and optionally set start and end dates.
Save and Publish
Click Save. Active discounts are compiled and pushed to Shopify automatically.
Lifecycle
Every discount is in one of three states: draft, active, or archived. Only active discounts are pushed to Shopify.
Set starts at and ends at once, and Shopify activates and deactivates the discount automatically. The end date must be after the start date.
Restrict a discount to all customers, specific customers, or specific customer segments. Segment and customer targeting is enforced by Shopify before the function runs.
Declare which other discount classes this discount can stack with: order discounts, product discounts, or shipping discounts.
Learn More
Actions, Targets & Selections
What discounts do, what they apply to, and how candidates are picked
Conditions
Build condition trees with 14 operators and test cart, line, delivery, and buyer fields
Examples
Ten ready-to-build promotions with their flow diagrams
How It Works
The compilation pipeline and runtime behind the builder