All Collections
Discount Rules for WooCommerce
Purchase History Based Discounts
Discount based on Previous Purchase Amount/ Total Spent
Discount based on Previous Purchase Amount/ Total Spent

Discover how to provide discounts based on customers previous purchase amount/ total spent using Discount Rules for Woocommerce plugin.

Ramesh avatar
Written by Ramesh
Updated over a week ago

Introduction:

Discount based on previous purchase amount/ Total Spent means offering a discount to customers based on the total amount they have spent on previous purchases.

For example: 10% discount to customers who have spent more than $1000 in total on their previous purchases.

This type of discount, facilitated by the Discount Rules for WooCommerce plugin is commonly used to reward loyal customers or encourage repeat purchases.Common discount scenarios like provide a 10% discount if you have previously purchased more than $1000 are possible via our PRO version of our plugin.

Pre-requisites / Requirements:

This is a special type of discount scenario, which only works under certain circumstances.

So carefully read the points below :

The scenario requires validating the below points:
- whether the visitor is a returning customer or a first time visitor
- And we need to check the purchase history to ensure he has orders placed previously
To establish the above facts, we need the visitor to either register and log in. (Example: Purchase history can be validated only for a registered/logged in user)

When a visitor comes to your site, there is ABSOLUTELY NO WAY of knowing whether he is

  • A first time visitor or

  • A returning customer

The ONLY way to establish and validate whether he is a first timer or a returning customer is "when he logs in"

Only when he is logged in, we can

  • retrieve his previous purchase history based on customer's Email ID or User ID

  • if there is a previous purchase, he is a returning customer

  • If there is no purchase, he is a new, first time customer

As a result, this discount scenario can only be run:

  1. When customer logs in

  2. Only at the checkout

As a result, the scenario will show the discount only after the customer logs in. Not before that because we may know who the visitor is (a returning customer or a first timer)

Below are some examples of discount scenarios based on Total Spent condition:

  • If you have spent $500 or more in total, you will receive a $50 discount from cart on your next purchase.

  • Receive a 5% discount from cart if you have spent over $100, and enjoy a 10% discount if you have spent more than $200.

  • Enjoy free shipping on all orders when you have spent $200 or more in total.

To create discount rules with Total Spent condition, you need to have the Discount Rules PRO plugin installed and activated. You can purchase the PRO version by clicking on the provided button.

Now, let's take a closer look at each example in detail.

Example 1: If you have spent $500 or more in total, you will receive a $50 discount from cart on your next purchase

In this example, if you've spent over $500 on previous orders in total, you'll receive a $50 fixed discount on everything in your cart during your next purchase. This encourages you to spend more and enjoy savings.

Creating a Discount Rule:

  • Go to WordPress dashboard -> Woocommerce -> Discount Rules -> Click on “Add New Rule” button

  • Select the discount types as “Cart Adjustment”

Then configure the discount rule as seen in the below screenshot:

Details of configurations are:

  • Choose "All Products" (storewide) from the filter options. You also have options like specific Categories, selected Products, Attributes, Tags, Sku’s and so on… You can choose the option depending upon your requirement.

  • Set the discount type to a $50 Fixed Discount. You also have options to choose Percentage discount or Fixed discount per product

  • Set the Discount Label as per your requirement

  • Include additional conditions such as “Total spent” and set the total purchase amount should be as greater than or equal to $500 (all time)

  • Then, you have the flexibility to choose the order statuses that will be considered as successful orders to fulfill this condition. For example, you can select "Processing" and "Completed" as successful order statuses, or you may opt for other order statuses based on your specific requirements that should be considered as successful.

  • Click on “SAVE” once we have successfully created the rule.

Now, customers will now receive a $50 fixed discount from the whole cart, if they have previously spent a total of $500 or more across any number of orders.

Please find the attached screenshot of the cart page, displaying the applied discount:

Example 2: Receive a 5% discount from cart if you have spent over $100, and enjoy a 10% discount if you have spent more than $200.

This example shows how you can offer a percentage discount from cart based on tiered total spent conditions like customers get 5% off when they spent $100 - 199 previously and when customer spent $200 or more, 10% off will get applied from cart.

Since we have two different scenarios here, it's recommended to make two separate discount rules with different conditions for each of them. Let’s create discount rules for this offer.

Creating a Discount Rule

Rule 1 :

  • Go to WordPress dashboard -> WooCommerce -> Discount Rules -> Click on “Add New Rule” button.

  • Choose “Cart Adjustment” as the Discount type.

Here is the screenshot of the Rule 1 configuration that follows,

Details of configurations are:

  • Choose "All Products" (storewide) from the filter options. You also have options like specific Categories, selected Products, Attributes, Tags, Sku’s and so on… You can choose the option depending upon your requirement.

  • Set the discount type to 5% Percentage Discount. You also have options to choose Fixed Discount or Fixed discount per product

  • Set the Discount Label as per your requirement

  • Include first additional condition as “Total spent” and set the total purchase amount should be as greater than or equal to $100 (all time)

  • Include second additional condition as “Total spent” and set the total purchase amount should be as less than $200 (all time)

  • Then, you have the flexibility to choose the order statuses that will be considered as successful orders to fulfill this condition. For example, you can select "Processing" and "Completed" as successful order statuses, or you may opt for other order statuses based on your specific requirements that should be considered as successful.

  • Click on “SAVE” once we have successfully created the rule.

Creating Rule 2 :

  • Go to WordPress dashboard -> WooCommerce -> Discount Rules -> Click on “Add New Rule” button.

  • Choose “Cart Adjustment” as the Discount type.

Here is the screenshot of the Rule 2 configuration that follows,

Details of configurations are:

  • Choose "All Products" (storewide) from the filter options. You also have options like specific Categories, selected Products, Attributes, Tags, Sku’s and so on… You can choose the option depending upon your requirement.

  • Set the discount type to 10% Percentage Discount. You also have options to choose Fixed Discount or Fixed discount per product

  • Set the Discount Label as per your requirement

  • Include the additional condition as “Total spent” and set the total purchase amount should be as greater than or equal to $200 (all time)

  • Then, you have the flexibility to choose the order statuses that will be considered as successful orders to fulfill this condition. For example, you can select "Processing" and "Completed" as successful order statuses, or you may opt for other order statuses based on your specific requirements that should be considered as successful.

  • Click on “SAVE” once we have successfully created the rule.

Now, customers who have spent $100 or above will be granted a 5% discount, while those who have spent $200 or more will receive a 10% discount.

Screenshot illustrating a cart page displaying a 5% discount for customers who have previously made purchases ranging from $100 to $199:

Screenshot illustrating a cart page displaying a 10% discount for customers who have previously spent $200 or more:

Example 3: Enjoy free shipping on all orders when you have spent $200 or more in total.

In this example, if you've spent $200 or more on previous orders in total, you'll receive a Free Shipping.

Creating a Discount Rule:

  • Go to WordPress dashboard -> Woocommerce -> Discount Rules -> Click on “Add New Rule” button

  • Select the discount types as “Free Shipping”

Then configure the discount rule as seen in the below screenshot:

Details of configuration:

  • Give a title for this rule and click on the “Add condition” button

  • Include additional conditions such as “Total spent” and set the total purchase amount should be as greater than or equal to $200 (all time)

  • Then, you have the flexibility to choose the order statuses that will be considered as successful orders to fulfill this condition. For example, you can select "Processing", “On hold” and "Completed" as successful order statuses, or you may opt for other order statuses based on your specific requirements that should be considered as successful.

  • Click on “SAVE” once we have successfully created the rule.

Now, customers who have spent $200 or more in the past will be eligible for Free Shipping.

Please find the attached screenshot of the cart page, displaying that Free Shipping applied:

The above discussed scenarios require a PRO version.

Note:

  • You can also pick a specific time period from your purchase history and apply discounts as you like.

  • When testing, use an account that matches the purchase history conditions.

  • The discounts will be applied during checkout after confirming your email.

Next Steps:

You may also want to check out these helpful guides:

Refer this video to know more about Shipping Address based conditional scenarios:

Still unclear?

If you need any assistance, please create a support request at our ticket system. We are always happy to assist you :)

Did this answer your question?