Promotions

From WHMCS Documentation

Promotions can offer discounts on your products and services, product addons, and domains.

You can access this feature at Configuration () > System Settings > Promotions or, prior to WHMCS 8.0, Setup > Payments > Promotions

For information on setting up commonly-used promotions, see Common Promotions.

Types of promotions that can be offered

  • One Time Discounts
  • Recurring Discounts
  • Limited Recurring Discounts (for example, first two months free)
  • Monetary Discounts (for example, $5 Off)
  • Percentage Discounts (for example, 20% Off)
  • Price Override (for example, Regular price $10, Discount price $8)
  • Free Setup
  • Apply to Specific Products/Addons/Domain TLDs
  • Apply to Specific Billing Cycles or Registration Periods
  • Apply Once per Order or to All Applicable Items in Cart
  • Lifetime Promotion
  • Valid for New Signups Only
  • Valid for upgrade orders only

How to create a new promotion

To create a new promotion:

  1. Click Add New at the top of the page.
  2. Enter a promotion code. This is the code that customers will need to enter on the order form to receive the discount.
  3. Choose one of the four promotion types:
    • Percentage — Discount by a percentage of the original price.
    • Fixed Amount — Discount a specified amount from the original price.
    • Price Override — Changes the product price to this value. Use this to offer a consistent discount across multiple billing cycles.
    • Free Setup — Discount any setup fee from the original price.
  4. To have the discount only apply to the first invoice, do not check Recurring.
    • When you check this, the discount will apply to renewal invoices.
    • Set Recur For to 0 for all future renewals to discount, or enter a different number to specify how many cycles the discount lasts for. This is in addition to the initial invoice for the product. If you wish to provide a discount 6 times, enter 5 in the recurring box.
  5. For Value, enter the amount of the discount in positive numbers (up to 2 decimals) only.
  6. Select the products, addons, and domain TLDs that the promotion applies to and what billing cycles or registration periods the discount requires. These should match those of your products. Your can press Ctrl+click to select multiple entries.
  7. Optionally, set the start and expiration dates. If you use one or both of these settings, the coupon will only start working after the start date and will stop working at expiration.
  8. Use the following checkboxes to specify who can use the promotion:
    • Apply Once — If the client orders multiple qualifying products, the system only applies the discount once.
    • New Signups — Only new clients can use the promotion.
    • Apply Once / Client — If a client has an existing active order that uses this promotion, they will not be able to use the code a second time.
    • Lifetime Promotion — Client will retain this discount even if they upgrade or downgrade their service in future, regardless of settings such as maximum uses or expiration date.
    • Existing Client — Only existing clients with one or more active orders can use the promotion.
    • Enable for product upgrades – See Upgrades/Downgrades below.
  9. In the admin notes section, add information that admins may need about the promotion.

The promotional code changes the First Payment Amount when a customer or administrator uses the code when ordering. For recurring promotions, the code will also change the Recurring Amount. The system will set the Recurring Amount to the final amount to bill the client after taking the promotion into consideration. For promotional codes that recur for a set number of billing cycles, the Recurring Amount will automatically revert to the full price after that time.

Limiting Usage

You can set the maximum number of times to honor a promotion. To do this:

  1. Locate the promotion you want to limit the usage of and click the edit icon next to it.
  2. For Maximum Uses, enter the number of uses that you want to allow.
    • The number of times that customers have used the promotion will display below this setting.
    • For unlimited uses, enter 0.
  3. Click Save Changes.

Prerequisites

By selecting products from Requires, you can stipulate which products or services the client must also have in their shopping cart before applying the discount. You can use this to offer "buy x get y half price" promotions.

Also allow existing products in account to qualify for promotion allows the system to include active products that the client already owns in the promotion criteria.

For example, if the client already owns product x with an Active service status, they would be able to use the promotion code when ordering product y. If you disable this option, the client would need to order both products x and y at the same time to qualify.

Upgrades/Downgrades

When you check this checkbox, the client will use the promo code when placing an upgrade or downgrade order, which is particularly useful for offering incentives when upselling. When you check this, some new options will appear:

Products/Services

Select Products/Services as the Upgrade Type.

Use Type, Recurring, and Value fields to specify the value of the discount and how long it lasts.

Use Applies To to select which products to apply the promotional code to. The client will receive the discount when upgrading to this product.

For upgrades and downgrades, use Requires slightly differently. It restricts which products clients can upgrade. For example, they can upgrade from a selected product to this product and receive a discount, but not upgrade from an unselected product and receive a discount.

Configurable Options

To offer discounts to clients for configurable options, select Configurable Options as the Upgrade Type.

Use Upgrade Discount to specify the discount value as a percentage or fixed amount for the configurable options. Then, use Config Options Upgrades to select which option this discount applies to.

If you use the main Type, Recurring, and Value at the top of the page, the system will apply a discount to the parent product as well as to the configurable option. Leave this blank to only apply the discount to the configurable option.

Promotion Links

You can give links to users that will automatically apply a certain promotion code to their order if it applies. To do that, use a link like the one below:

cart.php?promocode=TEST OR cart.php?a=add&pid=1&promocode=TEST

Both of the above will apply the promotion code TEST to the order. With the first link, the user can choose the package they want. With the second, they will go straight to step 2 of the order process with product ID 1 selected.

For more information, see Linking to WHMCS.

Management

When you create a promotion, you can specify an expiry date. If you want the promotion code to become invalid before this date, click Expire Now.

You can create a copy of any promotion by clicking Duplicate Promotion. This is particularly useful for quickly running a successful promotion again or providing a personalised promo code to a client.

Manually Applying a Promotion

WHMCS allows you to manually add a promotion code to an existing service. You can make this type of addition when viewing a client’s existing service in the Admin Area.

Click Promotion Code for a list of all the active promotions on the installation. From this list, you can select the promotion you would like to apply to the service, and then click Save Changes to commit your changes.

Recurring Amount on the service page is the final amount to bill the client for after taking the selected promotion into consideration. Selecting a promotion code by itself will not change the invoice amount.

Due to this behavior, it is important to update Recurring Amount so that it reflects the amount you want the customer to pay after applying the promotion code. You can do this in one of two ways:

  • Manually calculate the amount that you would like the customer to pay after the discount and enter it in Recurring Amount. Then, click Save Changes.
  • Select Auto Recalculate on Save, and then click Save Changes. This option will have WHMCS take the current pricing for the product or service, apply the discount from the selected promotion code, and then set Recurring Amount for that value.

For client services with a promotion code, WHMCS alters how it generates the service’s invoice items for renewal invoices.

To provide the client with information concerning discounts from promotion codes, WHMCS will generate two invoice items. The first item will display the sum of Recurring Amount and the discount amount. The second item will display the discount amount.

As an example, if you have a service with a Recurring Amount of 10.00 and apply a promotion code that offers a 50% discount, then the system will generate the following invoice items when the service renews:

  • Invoice Item for Service Renewal: 20.00
  • Promotion Code (50% Off): -10.00
  • Invoice Total: 10.00

This is the recommended method to convey a discount to clients.

If you had this same service with no promotion code, then the system would generate the following invoice items upon renewal instead:

  • Invoice Item for Service Renewal: 10.00
  • Invoice Total: 10.00

Both invoices result in a charge of 10.00, however one shows the client that they are paying this price because of a promotion code.

If you want to provide the client with a discount, but not create a promotion code invoice item, then you could do this by either manually specifying a Price Override value when creating the order, or by modifying Recurring Amount.

Notes

Limited Recurring Promotions

The system counts the number of recurrences for a Limited Recurring promotion (which are configured using the Recur For x Times setting) by looking at the invoice line items for the service. By looking at the number of invoice line items for a service, WHMCS makes a determination for how many times it has applied the promotional discount.

After the system has used all of a promotion code's recurrences for a given service, the service will revert to the standard price automatically.

If you wish to provide an an extension of the promotion, it would be necessary to increase Times in the promotion code configuration. This will apply to all existing services using this promo code, instantly. Deleting invoices will not extend the duration of the promotional discount.

Fixed Amount Promotions and Additional Currencies

When defining the value for a Fixed Amount promotion, it is important to note that this value applies to the base currency. For example, if the installation's Base Currency is USD, then setting the Value for a Fixed Amount promotion to 100 will provide a discount of $100.00 USD when customers use it.

If the installation has additional currencies beyond the base currency, the system will use Base Conversion Rate to determine the discount for customers using these additional currencies.

For more information, see Currencies.

Create Custom Promo

Create Custom Promo displays next to Promotion when you manually add a new order via Add Order in the Admin Area.

Clicking this button displays a modal that allows you to specify a custom promotion code that the system will automatically create and apply to the immediate order.

Use of this feature requires that the Administrator User have both Use Any Promotion Code on Order and Create/Edit Promotions as permissions. For more about permissions, see Administrators and Permissions.

Services With Metric Billing Enabled

When the system applies a recurring promotion or discount to a product or service for which metric billing enabled, only the cost of the base product will be eligible for the discount.

Any usage (metric) charge that the recurring invoice includes will not receive the promotion or discount.