> ## Documentation Index
> Fetch the complete documentation index at: https://voucherify-mk-free-shipping.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Combine free shipping with item discounts

> 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

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 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**

<Info>
  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)
</Info>

## Create the campaign

Create a campaign using your preferred type, for example **Discount Coupons** or **Cart Promotion**.

Configure the basic campaign settings such as code generation, timeframe, and limits as needed.

If you need help with campaign setup, see:

* [Create discount coupons](/build/create-discount-coupons)
* [Create cart promotions](/build/create-discount-promotions)

## Configure free shipping and item discount

Define two price rules using **Products discounts → New price**.

<Steps>
  <Step title="Add discount definitions">
    In the discount configuration step, select:

    **Products discounts → New price**

    Then click **Add another** to create a second rule.
  </Step>

  <Step title="Set free shipping">
    * Select **Shipping** as the product.
    * Set **New price** to `0`.

    This makes shipping free.
  </Step>

  <Step title="Set a 5% item discount">
    * Select **All Products** (or another product collection).
    * Set a safe **fallback value** (for example, original price).

    Then build the formula:

    * **Order item → Price**
    * Multiply (`*`)
    * `0.95`

    This sets the new price to 95% of the original value, which gives a 5% discount.
  </Step>

  <Step title="Save the campaign">
    Save the campaign and test it in your checkout flow.
  </Step>
</Steps>

## Notify customers

Use your preferred communication channel to promote the offer, such as:

* Voucherify distributions
* Email or push notifications
* On-site banners or checkout messages

When customers apply the discount, they receive **free shipping** and a **5% item discount** in a single campaign.

## Related features

<AccordionGroup>
  <Accordion title="Validation rules">
    Use validation rules to control when the discount can be applied.

    For example, you can restrict the campaign to:

    * minimum order value
    * specific customer segments
    * selected sales channels

    Validation rules work alongside dynamic discounts: validation rules define **when the campaign is valid**, while price rules define **how prices are changed**.

    See [Create validation rules](/optimize/create-validation-rules).
  </Accordion>

  <Accordion title="Customer segments">
    Target the promotion to specific customer groups, such as new users or VIP customers.

    See [Customer segments](/prepare/customer-segments).
  </Accordion>

  <Accordion title="Campaign limits">
    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).
  </Accordion>

  <Accordion title="Product bundles">
    If you need more advanced cart logic, for example conditional discounts based on product combinations, consider using bundles together with dynamic discounts.

    See [Product bundles](/build/product-bundles).
  </Accordion>
</AccordionGroup>
