Dev GuideAPI Reference
Dev GuideAPI ReferenceUser GuideGitHubNuGetDev CommunityDoc feedbackLog In
GitHubNuGetDev CommunityDoc feedback


Promotion Rules define a set of criteria that a customer must meet (by adding products to their cart and completing their order) to be eligible to receive the promotional incentive. There are essentially two steps within the Optimizely <<product-name>> Promotion workflow:

  1. Rule Types- provide the _If_ portion of the _If/Then_ statement logic

  2. Result Types- provide the _Then_ portion of the logic.

To understand more about the Promotion logic and the steps for creating a successful Promotion, refer to the additional documentation on [Promotions](πŸ”—ο»Ώ).

The following is a list of the available Rule Types, explaining what they do and their associated variables. Review the Promotion Result Type Descriptions article to see a list of the Result Types.

Note

These rules do not factor in products in a customer's order history.

## Current segment/persona

**Description:** This rule is based on whether or not a particular User's Segment/Persona matches the Segment/Persona provided in the rule type configuration.

**Select Based On** – Equals or NotEquals

**Persona** – Select the desired Persona from the given list

## Customer custom properties

**Description:** This rule is based on a custom created Customer property. Depending on the type of property created the rule will execute if the data entered into the field matches a given list, matches an exact value or whether it falls within a range of values.

**Source Data Table** – Customer

**Property name** – Select the desired custom Customer property

**Select Based On** – Provides three options, each resulting in their own unique selection:

  • **List** –

    • **Value List** – enter a comma separated list of values to match.

  • **Matches** –

    • **Property Value** – enter the desired value, that when entered in custom property, will result in the execution of the rule.

  • **Range** –

    • Enter the **Minimum Value** and **Maximum Value** that can occur for the rule to be true.

## Customer fields

**Description** – This rule is based on a whether or not a particular Customer Field matches the provided criteria.

**Source Data Table** – Customer

**Source Data Field** – Select the desired data field from the provided list of fields form the Customer data table.

**Select Based On** – Provides five options, each resulting in their own unique selection:

  • **Equals** –

    • **Property Value** – enter the value that the Source Data Field is required to match for the rule to hold true.

  • **Not Equals** –

    • **Property Value** – enter the value that the Source Data Field must **not** match in order for the rule to hold true.

  • **List** –

    • **Value List** – enter a comma separated list of values to match.

  • **Matches** –

    • **Property Value** – enter the desired value, that when entered in custom property, will result in the execution of the rule.

  • **Range** –

    • Enter the **Minimum Value** and **Maximum Value** that can occur for the rule to be true.

## Customer order custom properties

**Description** – This rule is based on a custom created Customer Order property. Depending on the type of property created the rule will execute if the data entered into the field matches a given list, matches an exact value or whether it falls within a range of values.

**Source Data Table** – CustomerOrder

**Property name** – Select the desired custom Customer Order property

**Select Based On** – Provides three options, each resulting in their own unique selection:

  • **List** –

    • **Value List** – enter a comma separated list of values to match.

  • **Matches** –

    • **Property Value** – enter the desired value, that when entered in custom property, will result in the execution of the rule.

  • **Range** –

    • Enter the **Minimum Value** and **Maximum Value** that can occur for the rule to be true.

## Customer order fields

**Description** – This rule is based on a whether or not a particular Customer Order Field matches the provided criteria.

**Source Data Table** – CustomerOrder

**Source Data Field** – Select the desired data field from the provided list of fields form the Customer data table.

**Select Based On** – Provides five options, each resulting in their own unique selection:

  • **Equals** –

    • **Property Value** – enter the value that the Source Data Field is required to match for the rule to hold true.

  • **Not Equals** –

    • **Property Value** – enter the value that the Source Data Field must **not** match in order for the rule to hold true.

  • **List** –

    • **Value List** – enter a comma separated list of values to match.

  • **Matches** –

    • **Property Value** – enter the desired value, that when entered in custom property, will result in the execution of the rule.

  • **Range** –

    • Enter the **Minimum Value** and **Maximum Value** that can occur for the rule to be true.

## Order bill to

**Description** – Depending on the desired outcome of the promotion, this rule can execute based on equaling or not equaling a particular Bill to Customer, where Equals matches a specific Bill to Customer and NotEquals would include all Bill to Customers with the exception of the selected Bill to Customer.

**Select Based On** – Equals or NotEquals

**Bill To Customer** – Select the Bill To Customer from the given list of customers.

## Order carrier service

**Description** – Depending on the desired outcome of the promotion, this rule can execute based on equaling or not equaling a particular Order Carrier Service, where Equals matches a specific Order Carrier Service and NotEquals would include all Order Carrier Services with the exception of the selected Order Carrier Service.

**Select Based On** – Equals or NotEquals

**Order Carrier Service** – Select the Order Carrier Service from the given list of Carriers.

## Order contains/does not contain a promotion

**Description** – Depending on the selection, this rule can execute if the Order either contains an existing promotion or does not contain an existing promotion. This allows control of whether or not promotions can be stacked or used in conjunction with another promotion upon check out.

**Select Based On** – Contains, Does Not Contain

**Promotion** – Select an existing promotion from the provided list.

## Order currency

**Description** – Depending on the desired outcome of the promotion, this rule can execute based on equaling or not equaling a particular Order Currency, where Equals matches a specific Order Currency and NotEquals would include all Order Currency with the exception of the selected Order Currency.

**Select Based On** – Equals or NotEquals

**Order Currency** – Select the Order Currency from the given list of currencies.

## Order line count

**Description** – This rule will only execute if the Order Line Count matches the criteria identified in the Select Based On and Order Line Count fields.

**Select Based On** – Equals, NotEquals, GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, or Range

**Order Line Count** – Enter the numerical value that makes the Select Based On field true.

## Order product from brand

**Description** – This rule will only execute if the Order Product Brand matches the criteria identified in the Select Based On and Brand fields.

**Select Based On** – Equals or NotEquals

**Brand** – Search for or select a Brand on which to apply this promotion.

**Quantity or Amount** – Select whether to base the rule on the Quantity or Amount (dollar value) of product brand ordered.

**Minimum Value** – Minimum threshold for the rule to be true.

**Maximum Value** – Maximum threshold for the rule to be true.

## Order product from product line

**Description** – This rule will only execute if the Order Product Line matches the criteria identified in the Select Based On and Product Line fields.

**Select Based On** – Equals or NotEquals

**Product Line** – Search for or select a Product Line on which to apply this promotion.

**Quantity or Amount** – Select whether to base the rule on the Quantity or Amount (dollar value) of product line ordered.

**Minimum Value** – Minimum threshold for the rule to be true.

**Maximum Value** – Maximum threshold for the rule to be true.

## Order product total

**Description** – This rule will only execute if the Order Product Total (the total dollar amount ordered) matches the criteria identified in the Select Based On and Promotion fields.

**Select Based On** – GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, or Range

**Product Total** – Enter the numerical value that makes the Select Based On field true.

## Order ship to country

**Description** – This rule will only execute if the Order Ship To Country matches the criteria identified in the Select Based On and Order Ship To Country fields.

**Select Based On** – Equals, NotEquals

**Order Ship To Country** – Select the desired Country from the list of existing countries.

## Order ship to state/province

**Description** – This rule will only execute if the Order Ship To State/Province matches the criteria identified in the Select Based On and Order Ship To State/Province fields.

**Select Based On** – Equals, NotEquals

**Order Ship To Country** – Select the desired State/Province from the list of existing states/provinces.

## Order shipping weight

**Description** – This rule will only execute if the Order Shipping Weight matches the criteria identified in the Select Based On and Weight fields.

**Select Based On** – GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, or Range **Weight:** Enter the numerical value of the desired weight.

## Order total

**Description** – This rule will only execute if the Order Total (the total value of the order) matches the criteria identified in the Select Based On and Order Total fields.

**Select Based On** – GreaterThan, GreaterThanOrEqual, LessThan, LessThanOrEqual, or Range

**Order Total** – Enter the numerical value that makes the Select Based On field true.

## Ordered product

**Description** – Depending on the desired outcome of the promotion, this rule can execute if the quantity or amount (dollar value) of a specific Ordered Product falls within or out of an identified range.

**Select Based On** – Equals or NotEquals

**Product** – Select the Product to compare against from the given list of Products.

**Quantity or Amount** – Select whether to base the rule on the Quantity or Amount (dollar value) of product ordered.

**Minimum Value** – Minimum threshold for the rule to be true.

**Maximum Value** – Maximum threshold for the rule to be true.

## Ordered product from category

**Description** – Depending on the desired outcome of the promotion, this rule can execute if the quantity or amount (dollar value) of an Ordered Product from a specific Category falls within or out of an identified range.

**Select Based On** – Equals or NotEquals

**Category** – Select the Category to compare against.

**Quantity or Amount** – Select whether to base the rule on the Quantity or Amount (dollar value) of product ordered.

**Minimum Value** – Minimum threshold for the rule to be true.

**Maximum Value** – Maximum threshold for the rule to be true.

## Ordered product from vendor

**Description** – Depending on the desired outcome of the promotion, this rule can execute if the quantity or amount (dollar value) of an Ordered Product from a specific Vendor falls within or out of an identified range.

**Select Based On** – Equals or NotEquals

**Vendor** – Select the Vendor to compare against.

**Quantity or Amount** – Select whether to base the rule on the Quantity or Amount (dollar value) of product ordered.

**Minimum Value** – Minimum threshold for the rule to be true.

**Maximum Value** – Maximum threshold for the rule to be true.

## Ordered product With product code

**Description** – Depending on the desired outcome of the promotion, this rule can execute if the quantity or amount (dollar value) of an Ordered Product from a specific Product Code falls within or out of an identified range.

**Select Based On** – Equals or NotEquals

**Product Code** – Select the Product Code to compare against.

**Quantity or Amount** – Select whether to base the rule on the Quantity or Amount (dollar value) of product ordered.

**Minimum Value** – Minimum threshold for the rule to be true.

**Maximum Value** – Maximum threshold for the rule to be true.

## Promotion maximum times used per customer

**Description** – This rule will only execute if the number of times a promotion has been used is less than or equal to the value stated in the Promotion Limit By Customer field.

**Select Based On** – LessThanOrEqual

**Promotion Limit By Customer** – Enter the numerical value that represents the maximum number of times a promotion can be used by a customer.

## Promotion maximum times used

**Description** – This rule will only execute if the number of times a promotion has been used is less than or equal to the value stated in the Promotion Usage Limit field. This type of rule type is used to provide an incentive for customers to quickly take advantage of limited promotion. Example, the first 50 customers that use the promo code First50 receive free shipping.

**Select Based On** – LessThanOrEqual

**Promotion Usage Limit** – Enter the numerical value that represents the maximum number of times a promotion can be used.

## Requested ship date is day of week

**Description** – This rule will only execute if the day of the week is equal or not equal to the day stated in the Day of week field.

**Select Based On** – Equals, NotEquals

**Day of Week** – Select the desired day of the week from the list of choices.

## User role

**Description** – This rule will only execute if the User's assigned Role is Equal or Not Equal to the Role stated in the Role Name field.

**Select Based On** – Equals, NotEquals

**Role Name** – Select the desired Role from the list of choices.