Application Method
In this guide, you'll learn what an application method is in the Promotion Module.
What is an Application Method?#
The ApplicationMethod data model defines how a promotion is applied. It has the following properties that determine its behavior:
Property | Purpose | Possible Values |
|---|---|---|
| Does the promotion discount a fixed amount or a percentage? |
|
| Is the promotion applied to a cart item, shipping method, or the entire order? |
|
| Is the discounted amount applied to each item or split between the applicable items? |
|
Target Promotion Rules#
When the promotion is applied to a cart item or a shipping method (in other words, when target_type is items or shipping_methods), you can restrict which items/shipping methods the promotion is applied to.
The ApplicationMethod data model has a collection of PromotionRule records to restrict which items or shipping methods the promotion applies to. The target_rules property in the ApplicationMethod represents this relation.

In this example, the promotion is only applied to product variants in the cart that have the SKU SHIRT.
Buy Promotion Rules#
When the promotion’s type is buyget, you must specify the “buy X” condition. For example, a cart must have two shirts before the promotion can be applied.
The application method has a collection of PromotionRule items to define the “buy X” rule. The buy_rules property in the ApplicationMethod represents this relation.

In this example, the cart must have two product variants with the SKU SHIRT for the promotion to be applied.