Skip to content
Log in

Configure Promotions v2

On this page

Use this process to build a Promotion v2 in Salesforce. For what the engine can do and how the pieces relate, see About Promotions v2. For complete worked offers you can copy, see Promotions v2 examples.

Build the records in the order below, because each step references the one before it: the reward, then the condition, then the Promotion v2 header, then the Promotion v2 Condition that joins them.

:::warning The Promotion v2 Condition link record is what makes the promotion fire. A promotion with a condition and a reward but no link record never applies, and reports no error. :::

Before you begin

  • Confirm the Rewards, Conditions, and Promotions v2 tabs are available to you, and that the fields below are on their page layouts. See Page layouts, profiles and permissions sets.
  • Decide whether the offer applies automatically or needs a coupon code.
  • Decide whether it is limited to particular products. If so, you also need Promotion v2 Product Scope records.

Step 1: Create the reward

  1. Go to the Rewards list and select New.
  2. Complete the fields for the reward you want.

    Field Required Notes
    Display Name Yes Internal name, and the customer-facing label where one is shown
    Identifier Yes A unique key, such as members-free-shipping
    Type Yes Free Product, Discounted Shipping, Discount on Subtotal, Discount on Products, or Fixed Price for N Products
    Discount Type For the discount types Percentage or Fixed
    Discount Percentage When Discount Type is Percentage The percentage to take off. Use 100 for free shipping
    Discount Amount When Discount Type is Fixed The amount to take off
    Quantity For Free Product and Fixed Price for N Products The number of items
    Fixed Amount For Fixed Price for N Products The price the items are set to
    Frequency No Once applies the reward one time. No Limit repeats a fixed amount for each time the condition was met. A percentage never repeats
    Apply to No Matched Products uses the condition’s scope. Specified Products uses the reward’s own scope
    Apply first to No Most Expensive or Least Expensive. Takes effect only when Max Eligible is set
    Max Eligible No Caps how many lines the reward touches
    Exclude Discounted No Skips lines already on sale or already discounted
    Exclude Free No Skips lines that already cost nothing
  3. Select Save.

:::note On a Discount on Products reward, a Discount Amount comes off each matching line once, not off each unit. Use Percentage where the discount should scale with the quantity on the line. :::

Step 2: Create the condition

  1. Go to the Conditions list and select New.
  2. Choose a Type and set the threshold it needs.

    Type Use it when Amount
    Always Applies The only restriction is on the promotion itself, such as a members-only offer Not used
    Total Value The cart’s eligible value must reach a figure Required
    Total Quantity The eligible item count must reach a figure Required
    Product Count The number of distinct eligible products must reach a figure Required
    Liquid Condition No built-in type expresses the rule Not used
  3. (Optional) Set Currency to limit the condition to carts in one currency.
  4. Select Save.

Step 3: Create the promotion

  1. Go to the Promotions v2 list and select New.
  2. Complete the header fields.

    Field Required Notes
    Display Name Yes Shown internally, and in the cart on the web and at a register when the promotion applies
    Store Yes The store the promotion runs on
    Start Date Yes The promotion never applies without one
    End Date No Leave blank to run indefinitely
    Start Time, End Time No Time of day on the start and end dates only
    From Time, To Time No A daily window, such as 5pm to 7pm every day
    Days of Week No Day numbers, where 0 is Sunday and 6 is Saturday
    Week Frequency No Recurrence in weeks from the start date, so 2 means every second week
    Timezone No Applies to every date and time field above. Defaults to the store’s timezone
    Priority No Evaluation order across promotions. Lower numbers first, blank last. Subtotal rewards run last, and web coupons are not ranked by it
    Reward Strategy No Tiered, the default, applies the best single match. Stacked applies all matches
    Stacking Behaviour No Stackable, the default, combines with other promotions. Governs coupons only
    Stacking Priority No On a conflict, Existing Promotions refuses the incoming coupon and Biggest Reward keeps whichever gives more
    Coupon Code No Leave blank to apply automatically. Populate to require the code at checkout or at a register
    Customer Scope Contact, Account, or Membership No Restricts who qualifies. Set one only. At a register, only a contact scope can match
    Channels No Web, POS, or both. Leave blank to apply it on the web store and at registers
    Channel Scope Store No Restricts the promotion to one store. Mutually exclusive with the outlet
    Channel Scope Outlet No Restricts it to orders where the shopper has selected a specific outlet, or to that outlet’s register at the point of sale
    Total Usage Limit No Maximum uses across all customers. Blank is unlimited
    Per Customer Usage Limit No Maximum uses per customer. Blank is unlimited. Promo code usage is counted for customers who are not logged in, up to the total limit. This means Guest uses are refused once the total reaches the limit. See how guests are counted
    Stop After This Promo No Stops further promotions being evaluated once this one applies
  3. Select Save.

:::note The three customer scope fields are mutually exclusive, and so are the two channel scope fields. Setting more than one of a group gives unpredictable results. :::

Step 4: Join the condition to the reward

  1. On the Promotion v2 record, go to the Promotion v2 Conditions related list and select New.
  2. Select the Condition from step 2 and the Reward from step 1.
  3. Set Priority. Lower numbers are evaluated first. Use 1 for a single-tier promotion.
  4. Select Save.

Step 5: Limit it to particular products

Skip this step if the offer applies to everything in the cart.

  1. On the Condition or the Reward, go to the Promotion v2 Product Scopes related list and select New.
  2. Set Scope Type.

    Scope Type Effect
    Include Only matching items are considered
    Exclude Matching items are removed from consideration
    Free Product Defines which products a Free Product reward can give
  3. Set one of Product, Category, Brand, or Zone, then select Save.

:::warning A Zone scope restricts the condition whatever the Scope Type, but setting Scope Type to Include also makes it a product include that matches no cart line, filtering every item out. A Total Value, Total Quantity, or Product Count condition carrying one can then never reach the Amount. Put the zone scope on an Always Applies condition, give it a condition of its own, or leave the Scope Type unset. An Always Applies condition matches no items, so set the reward’s Apply To to Specified Products, or use a subtotal reward. :::

Scopes on a condition decide which items count toward its threshold. Scopes on a reward decide which items the discount lands on. Where a condition has both include and exclude scopes, an item must match an include and no exclude.

Step 6: Test the promotion

  1. Open your store in a private browser window.
  2. Sign in as a customer who matches the customer scope, if you set one.
  3. Add qualifying products and go to checkout.
  4. Enter the coupon code if the promotion uses one.
  5. Confirm the discount appears in the cart totals, under Applied codes for a coupon promotion or Auto-Applied Discounts for an automatic one.

:::warning Signing in from Salesforce as the customer does not always reproduce membership-scoped behavior. Test a membership-scoped promotion with the customer’s own credentials in a private window. :::

Fix a promotion that is not working

Symptom Likely cause Fix
Nothing happens at all No Promotion v2 Condition link record Create the link record joining the promotion, condition, and reward
Nothing happens at all Start Date is blank or in the future Set it to today or earlier
It applies to everyone Customer scope not set on the header Set Customer Scope Membership, Account, or Contact
The discount is the wrong size Type does not match the intent, or the matching amount field is empty Confirm the reward Type, then complete Discount Percentage, Discount Amount, or Fixed Amount
Every tier applies at once Reward Strategy is Stacked Change it to Tiered
It ignores a qualifying cart Currency on the condition does not match the cart Match the currency, or clear the field
It works for one customer only The other customer’s membership is missing or expired Check the Memberships related list on their account
A cart that looks big enough does not qualify A product in it has Exclude From Price Reductions set to Promotions, so it counts toward no condition Expected. Clear the exclusion on that product if it should count
It applies on the web but not at a register, or the other way round Channels leaves out that channel Add the channel to Channels, or clear the field
It applies on the web but not at a register Customer Scope Account or Customer Scope Membership is set, the condition is a liquid_condition, or the register has not synced the promotion See How Promotions v2 run at the register
A zone-scoped offer never applies A Zone scope with Scope Type Include sits on a condition with an Amount Move the zone scope to an Always Applies condition and set the reward’s Apply To to Specified Products, or clear the Scope Type
The discount does not multiply on a larger cart Frequency is No Limit on a percentage reward Use a Discount on Subtotal reward with Discount Type set to Fixed, or accept a single percentage
Only $5 comes off a line of four items Discount Amount is applied per line, not per unit Use Percentage, or split the items across lines
The offer applies, then vanishes on the next page Exclude Discounted is set and another promotion discounts the same line Clear Exclude Discounted, or scope the two promotions apart

Once the discount shows in the cart totals for a qualifying customer and disappears for a non-qualifying one, the promotion is configured correctly.

Was this article helpful?

Was this article helpful?