Promotions
Feature Summary
The Promotions feature allows businesses to create targeted and flexible discounts applied directly to order items. Whether through Automatic Discounts, Buy X Get Y, or Combo Deals, promotions help increase conversion, boost basket size, and tailor offers to specific customer segments.
Promotions are managed through the SCAYLE Panel or Admin API and can be defined with specific scheduling, priorities, conditions (global and item-based), shop, country and audience specific targeting, and combinability with other promotions. These configurations are evaluated in real-time by the Storefront API, ensuring promotions are applied only when all rules are satisfied.
Advanced views and condition builders use Google Common Expression Language (CEL) to allow fine-tuned logic. Promotions can coexist and stack with Price Campaigns and Vouchers, respecting defined combinability rules.
Supported Effects
Each promotion is assigned a so-called effect. An effect is the result of a promotion being applied to a specific item in the basket/order when all the conditions are satisfied. Effect can also be considered the “type” of the promotion:
Buy X get Y
A Buy X Get Y promotion is a type of conditional discount where a customer must purchase a certain number of qualifying items (X) to receive a discount on one or more additional items (Y). The discount on the Y items can be a percentage, a fixed amount, or completely free.
Examples
- Buy two t-shirts and receive one pair of socks for free.
- For every sneaker in the basket, you receive one care product for free.
- Buy 2 quantities of the same item and receive 10% of discount on the third item
Learn more about Buy X Get Y.
Automatic discounts
When the promotion conditions are satisfied, the customer will receive a relative (e.g. 10%) or absolute (e.g. 10€) discount on specific items in the basket/order.
Examples
- 10% off of every sneaker, but only when customer is in the audience “VIP”.
- 15€ off of every item, which is more expensive than 200€.
- 10€ off of the cheapest/most expensive item in the basket
Learn more about Automatic Discounts.
Combo Deals
A Combo Deal promotion allows you to offer a set of specific items for a single, predefined price. The promotion is only applied if all required items in the combo are purchased together.
Example
Buy one Jeans and one t-shirt for 20 €.
Learn more about Combo Deals.
Architecture & Diagram flow

Key Benefits
- Flexible Discount Structures: Choose from multiple promotion types including automatic discounts, Buy X Get Y and Combo Deals
- Audience Targeting: Apply promotions to specific customer groups or audiences for personalized marketing.
- Item set building: Build a specific set of products to apply a promotion to / to be distributed as reward for a promotion.
- Stackable Configurations: Combine promotions between each other, with vouchers and price campaigns for complex discount strategies.
- Automated Application: Promotions are applied automatically when conditions are met - end user input is not a must - though can be configured under promotion codes.
- Efficient Management: Create, edit, activate, or deactivate promotions directly from the SCAYLE Panel and / or Admin API with ease.
Capabilities Overview
✔️ Supported
- Ability to set up a Promotion Code on top of Automatic Discounts
- Ability to define Tiered Discounts based on the customer's Minimum Order Value (MOV) for Automatic Discounts
- Promotion combinability controls
- (Multi-) Shop, country, and audience-level targeting
- Custom data fields and advanced conditions using CEL expressions
- Pro-rata distribution of discounts over items participating in the campaign available
- Automated promotion management via API support for promotion fetch, validation, and updates
- Manual creation and management of promotions via SCAYLE Panel\
❌ Not Supported
- Mid-life promotion type change (you must create a new promotion for a different type)
- Currency auto-conversion for fixed-value discounts (must configure per shop country)
- Basket level promotions
- Advanced conditions related to customer attributes
Understanding the Feature
Each promotion has a set of basic configurations, such as:
Name | Description |
---|---|
Name | Each promotion has a specific name, that you can freely choose. The name is not unique, so multiple promotions can have the same name. |
Display Name | Each promotion can have a specific Display Name attached that will be exposed throughout the full order lifecyle (e.g. Checkout, Invoices and E-mails) |
Combinable | Configuration which states whether the promotion can be combined with others and if so, with which ones. You can either include or exclude other promotions. |
Schedule | Period in which the promotion is valid. |
Audiences | Defines groups eligible for the promotion. You can pick from an existing Audience, or select All Available |
State | A promotion can be either active or inactive. Promotions in the state inactivate are not returned by the Storefront API, and are also not valid when applying them to items in a basket/order. |
Priority | Priority refers to the ranking of a promotion when compared to other promotions. Useful in the storefront, when running multiple promotions and you want to evaluate, which one has a higher priority by comparing. |
Custom Data | Custom data represents a JSON object, that you can use freely to persist any data that you like. |
Supported Effect | Automatic Discount, Combo Deal or Buy X Get Y. |
Promotion Conditions | Conditions are special rules that must be satisfied in order for the promotion to be applied. |
Key Notes & Limitations
⚠️ No Currency Normalization for Absolute Discounts: A 10-unit discount set in Germany (EUR) will apply as 10 units in Poland (Zloty) too. Separate promotions must be created for each country.
⚠️ Buy X Get Y Requires Configuration: This feature is disabled by default to prevent accidental free giveaways. Contact your SCAYLE Account Manager to enable it.
⚠️ Promotion Type Is Immutable: Once a promotion is created, its type cannot be changed. To switch types, create a new promotion and disable the old one.\
Applicable Scenarios
Create Audiences - enables fine filtering of users that will take part of the promotion | Audiences |
---|---|
Create Item sets - can simplify filtering of products that will take part on the promotion | Item Sets |
Set up an automatic discount with a fixed 10€ value on item level. | Automatic Discount |
Set up an 10% automatic discount on items upon usage of the code "10discount" | Promotion Code |
Buy 3 Levi's Jeans and Get 15% on the cheapest item (with option to proportionally distribute discount) | Buy X Get Y |
Buy 3 Levi's Jeans and Get 20€ on the cheapest item (with option to proportionally distribute discount) | Buy X Get Y |
Buy 2 products from item set A and 1 product from item set B and get a 15% discount on the cheapest item (with option to proportionally distribute discount). | Buy X Get Y |
Buy 2 items from Item Set A for 30€. | Combo deal |
Buy automatically discounted products from a specific category / item attributes for a given period of time | Flash sales |
Get 10% discount when the basket reaches 100€, 15% when it reaches 250€, and 20% when it reaches 500€. | Tiered Discount |