From f9b7e8cf586dd9aeb650517a54fa3eaff3ba0998 Mon Sep 17 00:00:00 2001
From: MaciekVoucherify <130568368+MaciekVoucherify@users.noreply.github.com>
Date: Tue, 10 Feb 2026 16:22:38 +0100
Subject: [PATCH 1/2] Free shipping
---
documentation/build/free-shipping.mdx | 140 ++++++++++++++++++++++++++
documentation/docs.json | 3 +-
2 files changed, 142 insertions(+), 1 deletion(-)
create mode 100644 documentation/build/free-shipping.mdx
diff --git a/documentation/build/free-shipping.mdx b/documentation/build/free-shipping.mdx
new file mode 100644
index 000000000..da476ca82
--- /dev/null
+++ b/documentation/build/free-shipping.mdx
@@ -0,0 +1,140 @@
+---
+title: "Combine free shipping with item discounts"
+description: "A step-by-step tutorial on using dynamic discounts to create a single voucher that provides both free shipping and a percentage discount on items"
+keywords: ['free', 'shipping', 'dynamic', 'discounts']
+---
+
+One of the most powerful ways to use Voucherify is combining multiple discount effects into one voucher.
+With **dynamic discounts**, you can influence prices for the whole cart or specific items based on conditions such as order value, currency, or metadata.
+
+In this tutorial, you will create one coupon that gives **free shipping** (100% off) and a **5% discount** on items.
+
+## Prerequisites
+
+Before you start, make sure that:
+
+- You have access to a Voucherify account.
+- Your store sends products and shipping as separate cart items to Voucherify.
+- Voucherify can recognize your products, either from the Products catalog or from product IDs sent in the API request.
+
+## Prepare your items
+
+Before creating the campaign, make sure Voucherify can recognize both products and shipping.
+
+
+
+ Go to the **Products** tab in Voucherify.
+
+
+
+ Make sure shipping is sent as a separate cart item that Voucherify can recognize (for example, an item named *Shipping* or a dedicated shipping item ID).
+
+
+
+ Make sure your products belong to a product collection so they can be discounted (for example, **All Products**).
+
+
+
+ Make sure the shipping item is **not included** in the discounted product collection.
+
+
+
+You do not need to import your full product catalog. You can also pass product IDs as metadata in API calls.
+
+## Launch the campaign
+
+Create a discount coupon campaign that will include both discounts.
+
+
+
+ Go to **Campaigns**, click the **plus (+)** icon, and choose **Discount Coupons**.
+
+
+
+ - Choose **Generic code**.
+ - Set a custom code name (for example, `COMBO5`).
+ - Set the **redemption limit** to **Unlimited**.
+
+
+
+ Define the start and end dates.
+ If you want the campaign to run without an end date, leave the expiration date empty.
+
+
+
+## Configure free shipping and item discount
+
+In this section, you will create **two price rules** inside one voucher using **New price**.
+
+
+
+ In the discount configuration step, select **Products discounts** and **New price**.
+
+
+
+ Click **Add another** to create a second definition field.
+
+
+
+ - Click **Select products** in the first rule.
+ - Select your **Shipping** item.
+ - In the **New price** field, enter `0`.
+
+ This overrides the shipping price and makes shipping free.
+
+
+
+ - Click **Select collections** in the second rule.
+ - Select **All Products** (or another collection you want to discount).
+ - Set a **fallback value** that is safe for your business.
+
+ The fallback is used only if the formula cannot be calculated. A common safe option is the original item price.
+
+
+
+ Open the **formula builder** and create this formula:
+
+ - Select **Order item → Price**
+ - Add the **Multiply (*)** operator
+ - Add **Number** and enter `0.95`
+
+ This sets the new price to 95% of the original price, giving a 5% discount.
+
+
+
+ - Click **Next step**
+ - Skip metadata if you do not need it
+ - Review the summary
+ - Save the campaign
+
+
+
+## Notify customers
+
+Inform customers about the promotion using your preferred channels.
+
+
+
+ You can notify customers using:
+ - Voucherify distribution tools
+ - Web banners
+ - Checkout or cart pop-ups
+ - Email or push notifications
+
+
+
+ When customers apply the coupon at checkout, they will receive **free shipping** and a **5% item discount** at the same time.
+
+
+
+## Alternatives
+
+This setup can also be used in other campaign types:
+
+- **Cart promotion**
+ The discount is applied automatically when conditions are met. No codes are generated.
+
+- **Unique codes campaign**
+ Codes are generated in bulk and assigned to customers using the Distribution or Publish API.
+
+Both options support dynamic discounts and similar price rules.
\ No newline at end of file
diff --git a/documentation/docs.json b/documentation/docs.json
index 8b0c430d1..163a41dcb 100644
--- a/documentation/docs.json
+++ b/documentation/docs.json
@@ -182,7 +182,8 @@
"build/create-discount-promotions",
"build/discount-types-and-effects",
"build/discount-code-import",
- "build/product-bundles"
+ "build/product-bundles",
+ "build/free-shipping"
]
},
{
From 7e9295c6398bf2b54d167b9d3973931bf1ce5347 Mon Sep 17 00:00:00 2001
From: MaciekVoucherify <130568368+MaciekVoucherify@users.noreply.github.com>
Date: Fri, 27 Mar 2026 16:26:23 +0100
Subject: [PATCH 2/2] Update free-shipping.mdx
---
documentation/build/free-shipping.mdx | 177 +++++++++++++-------------
1 file changed, 86 insertions(+), 91 deletions(-)
diff --git a/documentation/build/free-shipping.mdx b/documentation/build/free-shipping.mdx
index da476ca82..9623c1979 100644
--- a/documentation/build/free-shipping.mdx
+++ b/documentation/build/free-shipping.mdx
@@ -4,137 +4,132 @@ description: "A step-by-step tutorial on using dynamic discounts to create a sin
keywords: ['free', 'shipping', 'dynamic', 'discounts']
---
-One of the most powerful ways to use Voucherify is combining multiple discount effects into one voucher.
+One of the most powerful ways to use Voucherify is combining multiple discount effects into one campaign.
+
With **dynamic discounts**, you can influence prices for the whole cart or specific items based on conditions such as order value, currency, or metadata.
-In this tutorial, you will create one coupon that gives **free shipping** (100% off) and a **5% discount** on items.
+In this tutorial, you will create a single discount that gives **free shipping** (100% off) and a **5% discount** on items.
+
+This setup works for:
+- **Discount coupons**
+- **Cart promotions**
+- **Unique codes campaigns**
+
+
+Before you start:
+
+- Your store must send **products and shipping as separate cart items**.
+- Voucherify must be able to recognize your products (via the **Products catalog** or product IDs in API requests).
+- Products should belong to a collection (for example, **All Products**).
+- The **Shipping** item should not be part of the discounted product collection.
+- You do not need to import the full catalog — product IDs can be passed dynamically in API calls.
+
+See:
+- [Products](/prepare/products)
+- [Product collections](/prepare/product-collections)
+
-## Prerequisites
+## Create the campaign
-Before you start, make sure that:
+Create a campaign using your preferred type, for example **Discount Coupons** or **Cart Promotion**.
-- You have access to a Voucherify account.
-- Your store sends products and shipping as separate cart items to Voucherify.
-- Voucherify can recognize your products, either from the Products catalog or from product IDs sent in the API request.
+Configure the basic campaign settings such as code generation, timeframe, and limits as needed.
-## Prepare your items
+If you need help with campaign setup, see:
+- [Create discount coupons](/build/create-discount-coupons)
+- [Create cart promotions](/build/create-discount-promotions)
-Before creating the campaign, make sure Voucherify can recognize both products and shipping.
+## Configure free shipping and item discount
+
+Define two price rules using **Products discounts → New price**.
-
- Go to the **Products** tab in Voucherify.
-
+
+ In the discount configuration step, select:
-
- Make sure shipping is sent as a separate cart item that Voucherify can recognize (for example, an item named *Shipping* or a dedicated shipping item ID).
-
+ **Products discounts → New price**
-
- Make sure your products belong to a product collection so they can be discounted (for example, **All Products**).
+ Then click **Add another** to create a second rule.
-
- Make sure the shipping item is **not included** in the discounted product collection.
-
-
+
+ - Select **Shipping** as the product.
+ - Set **New price** to `0`.
-You do not need to import your full product catalog. You can also pass product IDs as metadata in API calls.
+ This makes shipping free.
+
-## Launch the campaign
+
+ - Select **All Products** (or another product collection).
+ - Set a safe **fallback value** (for example, original price).
-Create a discount coupon campaign that will include both discounts.
+ Then build the formula:
-
-
- Go to **Campaigns**, click the **plus (+)** icon, and choose **Discount Coupons**.
-
+ - **Order item → Price**
+ - Multiply (`*`)
+ - `0.95`
-
- - Choose **Generic code**.
- - Set a custom code name (for example, `COMBO5`).
- - Set the **redemption limit** to **Unlimited**.
+ This sets the new price to 95% of the original value, which gives a 5% discount.
-
- Define the start and end dates.
- If you want the campaign to run without an end date, leave the expiration date empty.
+
+ Save the campaign and test it in your checkout flow.
-## Configure free shipping and item discount
+## Notify customers
-In this section, you will create **two price rules** inside one voucher using **New price**.
+Use your preferred communication channel to promote the offer, such as:
-
-
- In the discount configuration step, select **Products discounts** and **New price**.
-
+- Voucherify distributions
+- Email or push notifications
+- On-site banners or checkout messages
-
- Click **Add another** to create a second definition field.
-
+When customers apply the discount, they receive **free shipping** and a **5% item discount** in a single campaign.
-
- - Click **Select products** in the first rule.
- - Select your **Shipping** item.
- - In the **New price** field, enter `0`.
+## Related features
- This overrides the shipping price and makes shipping free.
-
+
-
- - Click **Select collections** in the second rule.
- - Select **All Products** (or another collection you want to discount).
- - Set a **fallback value** that is safe for your business.
+
- The fallback is used only if the formula cannot be calculated. A common safe option is the original item price.
-
+Use validation rules to control when the discount can be applied.
-
- Open the **formula builder** and create this formula:
+For example, you can restrict the campaign to:
+- minimum order value
+- specific customer segments
+- selected sales channels
- - Select **Order item → Price**
- - Add the **Multiply (*)** operator
- - Add **Number** and enter `0.95`
+Validation rules work alongside dynamic discounts: validation rules define **when the campaign is valid**, while price rules define **how prices are changed**.
- This sets the new price to 95% of the original price, giving a 5% discount.
-
+See [Create validation rules](/optimize/create-validation-rules).
-
- - Click **Next step**
- - Skip metadata if you do not need it
- - Review the summary
- - Save the campaign
-
-
+
-## Notify customers
+
-Inform customers about the promotion using your preferred channels.
+Target the promotion to specific customer groups, such as new users or VIP customers.
-
-
- You can notify customers using:
- - Voucherify distribution tools
- - Web banners
- - Checkout or cart pop-ups
- - Email or push notifications
-
+See [Customer segments](/prepare/customer-segments).
-
- When customers apply the coupon at checkout, they will receive **free shipping** and a **5% item discount** at the same time.
-
-
+
+
+
+
+Control how often the campaign can be redeemed, either per customer or globally.
+
+This is useful for limiting the impact of combined discounts.
+
+See [Campaign limits](/guides/campaign-limits).
+
+
-## Alternatives
+
-This setup can also be used in other campaign types:
+If you need more advanced cart logic, for example conditional discounts based on product combinations, consider using bundles together with dynamic discounts.
-- **Cart promotion**
- The discount is applied automatically when conditions are met. No codes are generated.
+See [Product bundles](/build/product-bundles).
-- **Unique codes campaign**
- Codes are generated in bulk and assigned to customers using the Distribution or Publish API.
+
-Both options support dynamic discounts and similar price rules.
\ No newline at end of file
+
\ No newline at end of file