Skip to main content

Setup

1

Open your store's Discounts page and click Create discount

Create new discount image
2

Scroll down to the Discount Kit section, which should now be available, and click Custom

Select custom image
3

Configure your desired settings and click Save

Save custom image

Settings

Overview

Custom discounts allow you to create advanced discount rules that go beyond standard Shopify discounting. With this feature, you can return multiple product discount proposals and control exactly how they get applied to cart lines in an order. ​ A discount proposal consists of several key components:
  1. Cart groups - Define which products to include in your rules
  2. Conditions - Specify when your discount should apply
  3. Repeats - Create “buy X, get Y” style offers with repeating patterns
  4. Targets - Select which products receive the discount
  5. Value - Determine how much discount to apply
Each component works together to create powerful, flexible discount scenarios that can handle complex business requirements. ​

Selection Strategy

Once you’ve created multiple discount proposals, you can choose a selection strategy to determine which ones get applied:
  • First matching discount - Applies the first valid discount that matches all conditions
  • Maximum discount - Applies the discount that offers the largest total savings
  • All discounts - Applies all valid discounts simultaneously
This approach gives you precise control over discount application, ensuring customers receive exactly the right offer.

Cart Groups

A Cart group is a powerful way to define which products you want to include in your discount rules. Think of it as creating a “bucket” of products that match specific criteria you set. ​

What is a cart group?

A Cart group lets you define a specific set of products based on various filters. Once created, you can use these groups in your discount conditions, prerequisites, or targets. ​

How cart groups work

When you create a Cart group, you can apply multiple filters to narrow down exactly which products should be included. A product must match all selected filters to be included in the group. ​ Available filters
  • Products: Select specific products/variants to include
  • Collections: Include products from specific collections
  • Line quantity: Match products with at least a certain quantity in the cart
  • Line price: Match products with at least a certain price
  • Line attribute: Filter by custom attributes assigned to products
  • Metafield value: Filter products by their metafield values
  • Purchase type: Include one-time purchases, subscriptions, or both
  • Compare-at price: Include products that have a compare-at price
You can select as many, or as few cart group filters. Remember that a product must match all selected filters to be included in a Cart group, allowing for precise targeting of your discount rules. ​

When to use cart groups

Cart groups are useful when:
  • You want to create discounts that apply only to specific product combinations
  • You need to set up prerequisites that require customers to buy certain items first
  • You want to exclude certain products from discount eligibility

Conditions

What are Discount Conditions?

Conditions are rules that determine when your discount should be applied. They act as “true or false” statements that evaluate a customer’s cart. ​

How Conditions Work

When creating a discount rule, you can add multiple conditions. All conditions must be true for the discount to apply. This means conditions are combined with an “AND” relationship - if any single condition fails, the entire discount will not be applied. ​

Available Condition Types

Each condition refers to a Cart Group and can check:
  • Quantity - Minimum number of items from the group
  • Total Value - Minimum purchase amount from items in the group
  • Unique Products - Number of different products from the group
  • Unique Variants - Number of different variants from the group

When to Use Conditions

Use conditions when you want to create discounts that only apply in specific situations, such as:
  • When a customer has at least 3 items from a specific collection
  • When a customer spends at least $100 on qualifying products
  • When a customer has selected at least 2 different products from your new arrivals
Conditions give you precise control over when discounts should be valid.

Repeats

What are repeats?

Repeats define what customers must purchase before receiving a discount. They create the “Buy X” part of “Buy X, Get Y” promotions. ​

How repeats work

When you add repeats to a discount rule, it becomes a repeating discount. This means the discount can be applied multiple times based on how many repeat sets are fulfilled. ​ For example, if your repeat is “Buy 2 shirts” and a customer buys 6 shirts, the discount could potentially be applied 3 times. ​

Controlling repeats

You can set a maximum number of times your discount will repeat. This prevents customers from receiving unlimited discounts by:
  1. Enabling the “Maximum repeats” option
  2. Setting a number for how many times the discount can apply

When to use repeats

Use repeats when:
  • Creating “Buy X, Get Y” promotions
  • Creating fixed price bundles
Repeats create powerful incentives for customers to add more items to their cart.

Targets

What are discount targets?

Targets determine which products receive the discount. These are the cart lines that will have their prices reduced when the discount conditions and repeats are met. ​

How targets work

Each target refers to a Cart Group. You can add multiple targets to a discount rule, and you can control whether: ​All targets must be present - Every target group must have matching products. For each target, you can also specify a quantity. This determines how many items from that group should receive the discount. ​ Targets give you precise control over which products receive discounts.

Values

The custom discount allows you to specify discount values in a few different ways:
  • Percentage off - Reduce the price by a percentage (e.g., 20% off)
  • Amount off - Reduce the price by a fixed amount (e.g., $10 off)
  • Fixed price - Set a specific price for the item (e.g., $5 each)

Amount off

Allows you to specify a monetary amount to be spread across all qualifying items, or optionally applied to each qualifying item. ​

Fixed price

Sets a specific price regardless of the original item price. It is only available for repeating discount rules

Apply to compare at price

You can optionally target the compare-at price of targets when applying discounts. Here, discount values are dynamically calculated based off the compare-at price, rather than the actual price of the product. Note, only the ‘difference’ between the desired discount, and the already discounted value will be applied.

Metafield Configuration

Discount Kit’s product and variant metafield ‘Metafield Discount’ configuration allows you to specify information that can be used inside the Custom Discount. The configuration must be structured as an array: ​
type CustomData = {
  tag?: String // optional, and used only in the 'grouping' mechanism
  discount_message?: String // optional, defaults to discount title
  discount_percentage?: number, // optional, 1-100
  discount_value?: number // optional, in cents unit, 100 = $1
  discount_title: String // required - used to match configurations to specific discounts
}​

type CustomDatas = CustomData[] // array is required
This configuration is wrapped by a discount. This means you get all of the other benefits of a Discount Kit discount (manual or automatic codes, scheduling, targeting specific customers, targeting specific markets), but can change the discounted variants, their values and their messaging at any time! ​ You must provide an array of configurations, with each configuration specifying a matching discount_title. This allows you to define different discount behaviors for different Custom discounts. If you specify multiple configurations for the same discount, only the first matching configuration will be used.
Example metafield configuration with array format

Integrations

There are no integrations for the Custom discount out of the box. However, take a look at Discount Kit Live for ideas on how to build your own!