The system features commission rates as of version 3.0.0, that range from a simple general rate applicable to any affiliate, to more complex and highly flexible configurations that allow to determine specific rates. This includes everything ranging from individual rates per affiliate to integration-specific rates and more.

Even though the system supports **fixed** commission amounts, **proportional** commission rates and **formula-based** rates, for simplicity’s sake, we will use the term *rate* indistinctively.

- Proportional commission rates or fixed commission amounts.
- Individual commission rates per affiliate.
- Integration-specific commission rates. For example, you can use a general rate for products sold through WooCommerce while using another for bookings via Events Manager.
- Object-based rates. For example, you can set an individual rate per product.
- Term-based rates. This allows to set commission rates for sets, e.g. for product categories with WooCommerce.
- Commission rates per group – this requires the free Groups membership and access control plugin.
- Commission rates per level in a multitiered system run with Affiliates Enterprise.
- Many
**combinations**of the those. What makes our system’s Rates so powerful is that you can combine the configuration option of a rate. For example, you could set a rate for a specific affiliate when products in a chosen category are sold.

All defined rates are listed under **Affiliates > Rates**.

To add a new rate click **New Rate** located above. To edit a rate, click **Edit** for its entry. You can select several entries to apply available **Bulk Actions**, for example to delete a set of rates in one go.

The following examples will help you to set up your rates.

## General Rate

To define a general rate that is used by default for all transactions and grants 10% commission of the base amount, use the following settings:

**Type**: Rate – By choosing*Rate*, commission are proportional to the base amount of the underlying transaction.**Value**: 0.10 – As we want to grant 10% commissions, you need to indicate*0.10*as the rate’s value. The commission amount is obtained by multiplying the rate’s amount by the transaction’s amount.- The other fields are left at their defaults, except that we have indicated a description that helps us to understand what the rate is about when viewing in the list of rates.

Click **Create** to save the rate. From this moment on, your system will grant 10% commissions on sales etc., unless a more specific rate applies.

Here’s another example – to grant a fixed commission on each referral for any transaction, simply choose *Amount* as the rate’s *Type* and indicate the amount to grant as commission. If the base transaction comes with its currency, you don’t need to set it in the rate. Otherwise you will need to set the currency, for example USD, EUR, GBP, …

In the above configuration, a fixed commission of 5 USD is granted per referred transaction. As in the previous example, you would leave the rest of the rate’s settings at their unspecified default.

## Individual Rates for Affiliates

You might want to grant some affiliates a different commission rate. You can simply choose the affiliate to whom the specific rate shall apply and set its other parameters accordingly.

**Type**:*Rate*– We have the system calculate the commission based on the transaction amount.**Value**:*0.40*– This indicates that we will grant 40% commissions with this rate.**Affiliate**:*albert einstein*– Here we have chosen the affiliate who enjoys his special 40% commission rate.

## Integration-specific Rates

You can create a rate that applies only to transactions that proceed from a specific integration. For example, you might want to reward your affiliates for leads they refer with a fixed commission, while granting them a %-based commission on actual sales. We’ll provide two examples according to this strategy.

To grant your affiliates a fixed amount of 25 USD for referred leads that come through a form handled by Ninja Forms in general, you can use the following rate configuration:

**Type**:*Amount*– We’re using a fixed amount as commission on referred leads.**Value**:*25*– This is the fixed commission amount granted per each referral.**Integration**:*Ninja Forms*– We want this rate to apply to referrals via*Ninja Forms*.

Now let’s define another rate for products sold via *WooCommerce* in general. We’ll grant a 20% commission on referred net sales.

**Type**:*Rate*– We want to base the referral amount granted on the base amount of the transaction.**Value**:*0.20*– This reflects our 20% commissions.**Integration**:*WooCommerce*– Here we have selected the appropriate integration so that the rate applies to transactions from it.

## Specific Rates for Products and other Entities

You may have noticed that the form updates once you have selected the integration. This will allow you to select a specific Object or Term which allow to further restrict to what the rate applies to.

Continuing with the previous examples, if we wanted to grant a fixed amount on one particular form, we can simply select it as the *Object:*

Let’s take it a step further and create a rate that is limited to a specific product on which we grant 30% commissions:

We have used this configuration:

**Type**:*Rate*– This will make the commission proportional to the purchased product.**Value**:*0.30*– This reflects our 30% commission for the product.**Integration**:*WooCommerce*– We have selected the integration so that we can select our product.**Object**: Here we have selected the “Test” product for which the 30% commission is granted.

We could also use a specific rate for a whole category of products. Instead of defining a rate for each product in the category, simply choose the category:

**Type**:*Rate*– Once more, this will make the commission proportional to the purchased product.**Value**:*0.17*– For this product category, we will only grant 17% commissions.**Integration**:*WooCommerce*– We need to select the integration to select the product category.**Term**: Here we have selected the “Test Product Category”.

The above example will grant 17% commissions on products that belong to the corresponding category.

## Formula-based Rates

Formula-based rates allow to calculate commissions based on arithmetic formulas.

The formulas support the basic operations of addition, subtraction, multiplication and division using the operators: `+ - * /`

Besides numeric constants, a formula can use one or more variables to calculate the effective commission amount.

A default set of variables can be assumed although their availability and value depends on the integration used. These are:

- s : the net transaction amount
- t : the net line item amount
- p : the net price per unit
- q : the number of units

Additional variables can be made available through the use of the system’s API, accessible in the form of a filter.

To create a formula-based rate, go to **Affiliates > Rates > New Rate** – under *Type* choose Formula and input the desired formula under *Value*.

For example, to deduct a fixed amount of 5 while calculating a proportional amount of 10% on the total product line item, this formula can be used: `0.1 * t - 5`

### Variables

Depending on the integration used, a set of variables is available for use in formulas.

#### WooCommerce

Formula rates are calculated per each product line in the order.

- s : the net order subtotal
- t : product line subtotal
- p : unit product price as product subtotal divided by the quantity (the number of units for the order line)
- q : quantity, the number of line units

#### Events Manager

Formula rates are calculated per booking.

- s : the booking price
- t : the booking price (this is the same as the above s)
- p : per-space booking price, i.e. the booking price divided by quantity (the number of spaces)
- q : quantity (the number of spaces booked)

#### Formidable, Gravity Forms, Ninja Forms

Formula rates are calculated per form-submission.

- s : the amount for the form submission
- t : same as s above
- p : same as s and t above
- q : the quantity which is always 1 for each form submission

#### PayPal

Formula rates are calculated per transaction.

- s : the transaction amount
- t : same as s above
- p : the transaction amount divided by the quantity
- q : the quantity for the transaction when available or 1 by default

#### Pay per Click

Formula rates are calculated per referral transaction.

- s : the referral amount
- t : same as s above
- p : the amount divided by the frequency
- q : the frequency

Note that the *Pay per Click* integration requires a rate to be explicitly defined to be used with it, i.e. for the integration to use it, the rate must have its *Integration* setting set to *Pay per Click*.

#### Tiers

Formula rates can be used to calculate commissions based on levels. A specific level must be chosen for a rate to apply on tier commissions and for the following to apply.

Where individual referral items are recorded for a referral, the following variables are available:

- q : is always 1
- r : the referral item amount (i.e. the commission for this particular referral line item)
- s : the reference amount of the underlying transaction (e.g. the net order amount)
- t : the line amount of the underlying transaction

If the referral does not record referral items, the available variables are:

- q : is always 1
- r : the referral amount (i.e. the total commission for the transaction)
- s : the reference amount of the underlying transaction (e.g. the net order amount)
- t : same as s above

It is worth noting that variables r and t reflect itemized amounts when the referral has itemized information while these variables represent totals when the referral does not provide itemized details.

### Customizing Variables

The filter `affiliates_formula_computer_variables`

is available to modify and customize the set of variables available with formula-based rates.

The filter provides the current set of variables along with additional information from context. These depend on the integration used. See the Filters section of the API documentation for details on the filter and its parameters.

## Additional Refinements

The above examples can be refined even more by selecting the affiliate. When used with Groups, you can restrict the rate to members of a group and when Affiliates Enterprise is used, you have the further choice of a level (within the downline).