Gridbees

Functional documentation

Promotion Engine

A promotion is a set of rules. Each rule has conditions, which must all match, and effects, which change the basket.

Promotions are built in the back office (Marketing › Promotions) or through the API, tested on sample baskets, then published: the pricing service applies them to every basket it prices.

Talk to us
A product card with a discounted priceA 10% welcome code20% off a product family

The promotion

The General tab of a promotion holds what applies to all its rules.

Field What it does
Title, code, description How the promotion is named in the back office and in the basket
Status Draft (saved, not applied), Published (applied by the pricing service), Unpublished
From / Until The period of purchase during which the promotion applies
Priority The order of evaluation: the highest runs first
Promotion codes The codes the customer must enter (several, separated by spaces, commas or semicolons). Without a code, the promotion applies on its own
Trigger No limit; Once per customer; Limited number: a maximum number of orders and/or a maximum total discount amount (the promotion stops once reached); Vouchers: one of the codes of a voucher campaign; Referral
Combinable with other promotions Whether other promotions may apply to the same basket
Discount the selling price The discount applies to the selling price of the lines
Commission on the discounted price Resellers’ commissions are computed on the price after discount
Scope Business line, market, country, language: the promotion only applies to baskets of that scope

Rules

The Rules tab holds one or more rules. A rule has:

  • Conditions (all must match): each condition must be true for the basket;
  • Effects: what the rule does to the basket when all its conditions match.

A promotion needs at least one rule, and each rule at least one effect.

Conditions

Condition Matches when… Example
Basket amount (BasketAmount) the basket total compares with an amount basket ≥ €150
Number of lines (BasketLine) the number of lines compares with a value at least 3 lines
Offers (Offer) the basket holds all the offers of a list, or at least one, each in its quantity sofa AND armchair
Offer quantity, offer type (OfferQuantity, OfferType) an offer is in the basket in a quantity, or of a type 2 mattresses
Product, product code (Product, ProdID) a product is in the basket in a quantity product P × 2
Product filters, product group (ProductFilters, ProductGroup) lines matching attributes, or a group of products any product of the “Oslo” collection
Bundle quantity (BundleProductQuantity) the quantity of products of a bundle 3 items of the bundle
Payment (PaymentDetail) the payment method (and its amount) paid by card
Delivery (DeliveryDetail) the delivery method home delivery
Application, platform, shop (Application, Platform, Shop) where the basket comes from the mobile app; shop 042
Days and hours (Frequency) the day of the week and the time of the purchase Saturday and Sunday, 9:00–12:00
Loyalty tier (LoyaltyTiers) the customer’s loyalty programme and tier Gold tier
Birthday (Birthday) the customer’s birthday period the birthday month
Last purchase (LastPurchase) the time since the customer’s last purchase no purchase for 6 months
Referees (ReferralProgramReferees) the number of customers the customer referred at least 3 referees
Customer attributes, offer attributes (ContactAttributes, CustomerCustomData, OfferCustomData) an attribute of the customer or of the offer customer segment = B2B
Subscription type, subscription preference (SubscriptionType, SubscriptionPreference) the customer’s subscription, or how they pay it annual payment

Effects

Effect What it does Example
Basket discount (BasketDiscountPercent, BasketDiscountAmount) a percentage or an amount off the basket, on all lines or filtered ones, optionally per spending tier −10% on the basket; −€50 per €500
Line discount (LineDiscountPercent, LineDiscountAmount, SetDiscountLine) a discount on each eligible line −15% on each Oslo line
Set price (SetPrice) a fixed price for products Oslo armchair at €299
Cheapest / most expensive item (TheCheapestPercent, TheMostExpensive) a percentage off the cheapest (or dearest) eligible item, every Nth item 2nd at −50%; 3rd free
Grouped products (GroupDiscountPercent) a different discount per group when the whole group is in the basket sofa −15%, armchair −20%
Add a product (AddProd, AddSynchronizedProduct) adds an offer to the basket, free or discounted a free cushion
Fees (SetFees, FeeDiscountAmount, FeeDiscountPercent) sets, discounts or waives delivery and service fees, by delivery method or zone free delivery
Offer, product, subscription discount (OfferDiscount…, ProductDiscount…, SubscriptionPercent, SubscriptionAmount) a discount targeted at given offers, products or the subscription −15% on the annual subscription
Voucher discount (VoucherDiscount) the amount carried by the voucher used a €20 gift voucher
Referrer discount (ReferrerDiscount) a reward for the referrer €10 for the referrer
Deferred voucher, deferred e-mail (DeferredVoucher, DeferredEmailTemplate) issues a code of a campaign after the order, and can send it by e-mail a −25% code for the next order
Commission (CommissionAmount, CommissionPercent) a reseller commission 8% of the price

Options available on effects:

  • Credit the wallet: the benefit goes to the customer’s wallet instead of reducing the price;
  • Reverse price: the value raises the price instead of lowering it (a surcharge);
  • Loyalty code: links the benefit to a loyalty programme;
  • automatic (add a product, discounts): the line is added, or the discount applied, without the customer asking for it.

Priority and combining

Each rule is evaluated by the priority of its promotion, the highest first. A promotion that is not combinable applies alone; combinable ones add up. Fees are computed before the other effects, and commissions are recalculated after each discount.

Codes and voucher campaigns

  • Promotion codes (General tab): shared codes the customer enters; a promotion can have several.
  • Voucher campaigns (Marketing › Voucher campaigns), linked to a promotion with the Vouchers trigger:
    • Uses per voucher (1 for single-use codes) and Capacity (uses across the campaign);
    • Code prefix, Code length and Excluded characters (for instance 0, O, 1, I);
    • One per customer: each voucher is bound to one customer;
    • a validity in dates or in days.
  • Generate vouchers: a batch of a given quantity is generated in the background, by the million if needed (about 1,000 codes per second by default). The batch counts show the vouchers created, valid, burned, expired and exported.
  • Export the vouchers (CSV) for your partners, Burn the batch, or Find a voucher by its code to check or burn it.
  • During checkout, a voucher is reserved for a few minutes, so that the last available voucher goes to one buyer only.

Testing and publishing

  • Simulation tab: add sample baskets (offers, quantities, a promo code), then Simulate. Each basket is priced with the live promotions and with this one added, even as a draft; the result shows the baskets affected, the change of the total to pay, the discount and the promotions applied. Save the promotion before simulating.
  • Publish makes the promotion live. The pricing service reloads its rules every 15 minutes; Apply now reloads them at once.
  • Through the API, the pricing service can also say why a promotion did not apply (condition by condition), and suggest the promotions the basket is one condition away from.

Book your Free Demo Now!

Book a demo