Dashboard

Discounts

Introduction

Are you looking to setup discounts and promotions for your B2B customers? The SparkLayer Discount Engine gives you a powerful way to customise promotions that also work alongside any B2B price list rules you have set up. It's a great way to offer incentives and rewards that can play an important part in helping increase sales and customer retention for your B2B business!

Document image


Want to try out discounts? Head over to our B2B Demo store and give it a go! Once signed in, add some products to your cart and use coupon code SAVE10 Looking to try SparkLayer for the first time? Speak to our team




Types of discounts available

SparkLayer currently supports the following range of discount configurations.

Item

Details

Discount Example

  • Order total: Applying a discount (percentage or fixed) based on the order total e.g. 10% off when the order exceeds $500+
  • Order items: Applying a discount (percentage or fixed) based on the number of items in an order e.g. 10% off if 100+ line items are added

How they are applied

  • Automatic: being able to automatically apply a discount
  • Manual: being able to apply a discount manually via entry of a coupon code

Specific requirements

  • Minimum requirements: Setting minimum requirements the customer must meet before qualifying e.g. the customer must spend $500
  • Maximum requirements: Setting minimum requirements the customer must meet before qualifying e.g. the customer must not spend more than $5,000

Eligibility

  • Customer groups: being able to apply discounts to specific customer groups e.g. only apply a discount to VIP B2B customers

Scheduling & timing

  • Scheduling: being able to specific when a discount starts and ends e.g. expire the discount on X date

Advanced Settings

  • Customer usage limits: how many times a discount can be used by a customer e.g. customer can only use the discount one time

Combinations

  • Combination rules: optionally being able to "combine" the discount with other discounts e.g. the discount cannot be used with another discount


Getting started

To get started with using discounts, please go to the Discounts section of the SparkLayer Dashboard. If you're viewing this for the first time, you can simply click "Create Discount" to start setting up a discount.

Once you begin adding discounts, you'll see an overview of all your discounts in one central location.

Document image


You can also quickly see any discount requirements you've set by mousing over the icons within the "Discount Requirements" column.

Document image


Active versus Inactive

The Discount section will categorise your discounts by "Active" and "Inactive" allowing you to easily see which discounts can be used by your customers.

Type

Details

Active

These are discounts that:

  • Are set as "Enabled"
  • If they have scheduling configured, have not yet expired

Inactive

These are discounts that:

  • Are set as "Disabled" and/or
  • If they have scheduling configured, have expired

How discounts are applied

Discounts can be applied in one of two ways:

Method

Details

Automatic

The discount is automatically applied to the customer's order based on the configurations you've set (e.g. spend over $200 and get $50 off)

Manual

The discount is applied when the customer enters a coupon code during the checkout process. If the discount is applicable, the rewards will be applied to the order (e.g. $10 off)

Learn more about coupon codes You can learn more about how coupon codes work and what can be customised in our guide, Cart & Checkout

Discount applications

At this time, it is only possible to apply one discount at a time to a customer's order. If you have multiple discounts setup that are applicable to a customer, the first one shown within the discounts section will be applied.

Please note SparkLayer will soon support the ability to apply multiple discounts to a customer's order.

Sub-totals and tax

It's important to note that when a discount is set up that applies an "amount off an order", this will apply against the sub-total of the customer's B2B order.

Document image


In our example above, the sub-total is $200.00 and the discount is applied against this total (e.g. $100 off, 20% off). This total is "net" of tax and any applicable tax calculations will be applied during the final step of the checkout.

Please note Discounts will be applied to a customer's order regardless of which payment method is selected



Configuring discounts

If you're creating a new discount or editing an existing, you'll be presented with a range of options to customise how your discount works.

Summary

The Summary section allows you to set up the basic information for your discount.

Document image


Item

Details

Status

You can set a discount as enabled or disabled. If disabled, the discount cannot be applied to the customer's order

Discount internal name

This is the name used for your internal purposes and only ever shown in the SparkLayer Dashboard

Discount public name

This is the name shown to customers when the discount is applied to their order and shows in the My Cart Interface.

You can optionally add a discount description that shows to your customers when a discount is successfully applied to their order.

Document image


It works by adding a special language string to your website that you can customise as required.


JS


Discount Type

The Discount Type section allows you to specify how you want your discount to work. Based on the options you select, this will then allow you to set rewards and configurations as required. You can select from the following discount types:

Type

Details

Give an amount off an order

This will apply a discount that reduces the "sub-total" of the customer's B2B order, either by a percentage discount or a fixed amount discount

Give a free product

This will apply a discount that adds a specific product to an order at 0.00 cost (free).

Discount Reward

Based on the discount type selected (see above), you can then specify the "Reward Type" you would like to apply to the customer's order.

Give an amount off an order

If you've selected "Give an amount off an order", you can then choose what type of reward to give the customer, with a choice between a percentage or fixed amount discount.

Document image


Please note the following on "Give an amount off an order"

  • The discount reward will be applied against the sub-total of the order, exclusive of tax and shipping.

Give a free product

If you've selected "Give a free product", you can specify which product SKU you want to be added to the customer's order. Once added, this will then show at 0.00 cost (i.e. free) within their order.

Document image


Please note the following on "Give a free product"

  • A valid SKU must be specified for it to apply to the customer's order
  • When the customer is redeeming the free product, it must be a different product to what is already within the customer's order

Give a percentage off products

The "Give a percentage off products" reward type lets you specific specific SKUs you want to discount when the discount is applied. Simply enter the SKU and the percentage off and this will then reflect in the customer's order when they checkout.

Document image


Please note the following on "Give a percentage off products"

  • You can have a maximum of 25 SKUs

Order rules

Order rules let you set specific requirements that the customer must meet before the discount is applied.

Currently, SparkLayer supports the ability to set "Product Rules" that allow you to apply discounts based on the customer having specific product(s) within their order. To get started, click the "New Product Rule" button and then add the SKUs you'd like the discount to apply against.

Document image


Once you've specified the SKUs, you can then set the total quantity the customer must have before the discount applies. This quantity can apply to any combination of the SKUs you've entered. For example, you may have entered:

  • SKU: abc
  • SKU: xyz
  • Required quantity of 2

The customer could meet the discount requirements with any of the following combinations:

  • 2 x abc
  • 2 x xyz
  • 1 x abc and 1 x xyz

Please note the following on "Order Rules"

  • Valid SKUs must be specified for the discount to apply to the customer's order
  • You can have a maximum of 10 order rules
  • You can have a maximum of 10 SKUs per order rule

Customer Groups

By default, discounts will be applied to all customers however it's possible to restrict your discount to specific Customer Groups.

Document image


The Customer groups section lets you select which customer groups are applicable to your discount and will have the discount reward applied.

You can also select multiple customer groups if you'd like the discount to be used by more than one customer group.

Document image


Scheduling

If you want to set up a time-based discount, you can set a "Schedule" for the discount.

Document image


There are two dates that can be selected, both of which are optional:

Item

Details

Start date of discount

This is the date and time the discount will be applicable from

Expire date of discount

This is the date and time the discount will expire

Please note the following on time configurations

  • The scheduling will use the timezone of your specific computer. For example, if you are based in Germany but you're setting up a discount for Canada, please be aware that you will need to change the date and time accordingly.
  • Selecting a time of 00:00 will start the discount at the beginning of the date selected
  • Selecting a time of 23:59 will start the discount at the end of the date selected

Coupon codes

Coupon codes allow you to specify a unique code that the customer must enter in order to qualify for the discount reward. This is termed a "manual discount" in that the customer won't have the discount automatically applied by default, unless they manually add the coupon code.

To add a coupon code, you can simply type in your coupon code reference into the field below.

Document image


Once you've added a coupon code, this will then be required to apply the discount. When the customer then goes through the checkout, they can simply apply the coupon to their order. When the order comes through to your website, you'll then see the coupon codes used within the order's "Additional notes".

Document image


Please note the following on coupon codes

  • Coupon codes will automatically be saved in uppercase. For example, if you type in Code-Abc, this will be saved as CODE-ABC
  • You can save multiple coupon codes against a discount. For example, you may have the same discount promoted in different locations but you want to set up different codes. For example, you could add CODE-ABC and CODE-123
  • On your website, the My Cart Interface will only allow the customer to apply a maximum of 3 coupon codes against an order. For example, if a customer has 3 coupons applied to their order and they add a 4th, the most recently added coupon will not be applied.

Order sub-total limits

It's possible to set "order sub-total limits" that allow you to specify the sub-total rules the customer must meet before being able to qualify for the discount. For example, you may want the customer to reach a certain amount before they can qualify for a discount (e.g. spending over $400 and getting 5% off).

Once enabled, you'll see the option to enter a minimum and maximum sub-total.

Document image


Please note the following on order sub-total limits

  • When setting this up, please bear in mind the discount is calculated based on the sub-total of the customer's order. The is the total without tax and shipping costs being added to the order.

Order item limits

Order item limits allow you to set requirements on how many items the customer must have in their order to qualify for the discount. There are two ways to define the order item limits:

Type

Details

Quantity across all line items

This is the total quantity of items within the customer's order across all products. For example, the customer may have:

1 x Red Shoe 5 x Blue Shoe 4 x Green Shoe

SparkLayer would calculate this as a quantity of 10

Number of line items

This is the total unique items within the customer's order across all products. For example, the customer may have:

1 x Red Shoe 5 x Blue Shoe 4 x Green Shoe

SparkLayer would calculate the number of line items as 3

For each option selected, you can then define the minimum and maximum number that the customer must have within their order to qualify.

Document image


Usage limits

The usage limits configuration lets you define how often a customer can qualify for the discount. For example, you may want to restrict the discount to only be used once by a customer, or a specific number of times.

Document image


Please note the following on usage limits

  • The limit will apply to the specific customer placing the order and is applied against their specific customer record.

Currency

If you've set your discount to "Get an amount off an order" with a "Fixed amount discount", you can also specific the currency that the discount should be applicable to.

Document image


Please note the following on currency

  • By default, this configuration will automatically set the currency as the "default" currency of your store (e.g. USD, GBP, EUR)
  • If you have multiple currencies setup for your Price Lists which are then assigned to a customer, the currency must match the currency the customer is placing orders in.


Compatible discounts

By default, when you create a discount, it cannot be used in conjunction with other discounts and customers can only apply a maximum of one discount.

If you would prefer discounts to be used alongside others, you can enable this within the "Compatible discounts" section of the discount edit screen.

Document image


Once enabled, you can then select the discounts that are compatible by selecting them from the menu.

Please note the following on compatible discounts

  • You can set the priority in which they apply against a customer's order by using the "Discount priorities" feature (see below).


Discount priorities

By default, customers can apply a maximum of one discount to their order. If you have multiple discounts setup that are applicable to your customers, you may want to specify the order in which they get applied. This is particularly useful if you have multiple "competing" discounts and you need to ensure your customers have the right one applied.

When you have more than one discount setup, you'll see a Manage Priorities button within the Discounts section . To get started, click this button and you'll then see all discounts listed.

Document image


You can then simply drag the discounts up and down in the priority you'd like them to apply. When a customer then qualifies for a discount, it'll use the highest one in the list.

If you have discounts that aren't active (see above "Active versus Inactive"), you can also manage the priority of these within the list.

Please note You can also manage which discounts are compatible by editing a discount and going to "Compatible discounts" (see below).



Updating the default text

If you'd like to update the text shown to customers in the My Cart Interface, you can update the default language strings on your store.

Document image


JS



Data & backend

When a customer uses a discount, this will store a range of data against the order that will give you further details about the discount that has been applied. This data includes:

  • The coupon codes applied
  • The IDs/Handles of the discounts applied (discount slugs)
  • The cost of the order pre discount
  • The amount taken off by the discount

Please note: All monetary values are in the currency the customer used to place the order.

🛍️ Using Shopify
Using BigCommerce
Other platforms

The discount data is stored in the "Additional Details" section of the Shopify Order. From the Shopify API this is called note_attributes and you'll see the following:

  • B2B Discount Coupon Codes - a comma separated list of the coupon codes used. This is separate so you can easily view it at a glance
  • sparkDiscountData - the rest of the discount data, stored in a JSON string including SKUs order, net pricing, and the internal "ID" of the discount.

If you need to access this data through code, you can use the Shopify API to access the order data (learn more).

Document image



Reporting on discounts

Currently, there isn't built-in reporting with SparkLayer to analyse your discounts usage however, we have some recommended approaches that we have included below.

🛍️ Using Shopify
Other platforms

Shopify has a built in automation tool called Shopify Flow. Using Shopify Flow, it's possible to perform actions based on discounts being used by your B2B customers.

Our example Shopify flow works as follows:

1

An order is created by the customer (e.g. draft order)

2

The Flow detects if a discount has been applied by searching the "B2B Discount Data" field applied to an order. You'll see this when viewing an order in Shopify under "Additional details".

Document image

3

If the "B2B Discount Data" field includes a specific discount ID (within the discountSlugs data), it will then automatically add a tag to the order. In our example above, the discountSlugs is set to free-product-test and this subsequently adds a tag of b2b-free-product-test to the order.

Document image


You can find the ID of a discount within SparkLayer by editing a discount and viewing "Discount Handle (or ID)".

Document image

4

Once a tag has been added to a B2B order, within Shopify you can then easily segment order data by this. Either by going to the Analytics section or by filtering within the Orders section in Shopify

Get started with Shopify Flow You can download and edit our sample discount-specific Shopify flow here.



Troubleshooting

The coupon code box will only show for your customers if there is a "Active" discount code that is "Enabled". If you don't see the discount coupon box, check your discounts in the SparkLayer Dashboard.

Document image



Limitations

The SparkLayer discount system will be subject to many ongoing improvements, however please be aware of the following limitations currently.

Item

Description

Discount usage

At this time, it is only possible to apply a maximum of 4 discounts at a time to a customer's order. If you have multiple discounts setup that are applicable to a customer, you can use the "Discount Priority" feature to set the order.

Collection-specific discounts

It is not possible to set up discounts based on items from a specific collection (i.e. "category). For example, 10% off items from the "Jewellery Collection".

Tag-specific discounts

It is not possible to set up discounts based on products that have a specific tag. For example, 20% off for all products with tag xyz

Payment-specific discounts

It is not possible to set discounts based on the payment methods the customer uses. For example, $10 if the customer pays by "Pay Online by Card"

Applying a discount via a URL

It is not possible to apply a discount via the customer entering a URL. For example, $100 if visiting mystore.com/?discount=ABC



Available on the Growth plan and above

By default, all plans benefit from our Discount functionality and there are some additional features that are available on our Growth plan and above. These include:

  • Give a free product
  • Give a percentage off products
  • Order rules
  • Usage limits
  • Compatible discounts


Coming soon

The SparkLayer Discount Engine will be undergoing constant improvements and you can expect to see the following updates in due course.

Item

Details

Get an amount off shipping

It will be possible to apply discounts that apply to shipping costs. For example, spend over $100 and get free shipping. Available on: Pro plan and up

Multiple rewards

It will be possible to allow customers to apply multiple rewards to an order. For example, spend over $1,000 and get 10% off and free shipping Available on: Pro plan and up





Updated 20 Dec 2024
Did this page help you?