Setup WooCommerce First Order Discount

How to Setup WooCommerce First Order Discount (Easy Guide)

To create a WooCommerce first-order discount, you need a pricing rule that checks whether a customer has placed any previous order in your store. Since WooCommerce does not include a built-in first-purchase discount option, store owners usually use a discount plugin or custom code to verify the customer’s purchase history before applying the discount.

This type of new customer discount helps reduce the first-purchase barrier and encourages visitors to complete their first order. You can offer it as a percentage discount, fixed amount discount, free shipping, BOGO deal, or product-based discount based on cart subtotal, user role, product category, or customer eligibility.

In this guide, we will show you how to set up a WooCommerce first-order discount using custom code and a plugin, so you can automatically reward first-time buyers while keeping the offer limited to eligible new customers.

What is a WooCommerce First Order Discount?

In simple words, a WooCommerce discount on the first order means you are targeting your first-time or new customers and offering them some sort of discount on their first purchase. It basically reduces the total price at checkout, exclusively for those who haven’t purchased from you before.

This type of offer is also known as a WooCommerce first purchase discount, first-time customer discount, new customer discount, new user coupon, or WooCommerce sign up discount, depending on how you promote it.

This discount can be:

  • A fixed amount
  • A percentage of the total
  • Free shipping on the order
  • Buy one, get one deal
  • Minimum order value discount
  • Quantity-based discounts
  • Discounts on specific categories
  • First order coupon code
  • Auto-applied first order discount, etc.

You can create automatic discounts or first-order discount WooCommerce coupons and promote them on your store site, social media, email, newsletter popups, and across all your marketing channels to attract visitors, convert them into buying shoppers, and, hopefully, turn them into loyal returning customers in the long run.

Benefits of WooCommerce First Order Discount

WooCommerce first-order discounts, also known as first-time customer discounts, offer a compelling strategy to attract new customers and boost your online store’s growth.

Here’s a breakdown of the key advantages:

Increased Sales and Customer Acquisition

Discounts act as a magnet for new customers, enticing them to make a purchase they might otherwise hesitate on. This can lead to a significant increase in sales and customer acquisition, expanding your reach and audience.

A first order offer is especially useful when a visitor is comparing your store with competitors and needs one final push to make their first purchase.

Reduced Price Barrier

A discount lowers the perceived risk associated with buying from a new store. Customers are more likely to take the leap and try your products if the initial purchase feels less expensive.

For example, a “20% off your first order” or “$10 off first purchase” message can make the checkout decision easier for new users.

Improved Customer Engagement

First-order discounts can be a gateway to fostering customer engagement. Many stores require signing up for an email list to receive the discount, building your email marketing base for future promotions and communication.

This is where a WooCommerce sign up discount works really well. You can offer a new customer coupon after signup and use email automation to bring them back for repeat purchases.

Enhanced Brand Perception

Discounts can cultivate a positive brand image. They signal value and customer appreciation, potentially increasing brand loyalty and trust.

A well-planned first purchase discount makes customers feel welcomed instead of pressured.

Valuable Customer Data Collection

Discount programs often involve email signups, providing valuable customer data. This allows for targeted marketing campaigns, personalized recommendations, and a deeper understanding of your customer base.

You can use this data later for welcome emails, product recommendations, abandoned cart recovery, and next order coupon campaigns.

Increased Order Value

Strategically crafted discounts can nudge customers towards larger purchases. You can offer a higher discount for exceeding a minimum order value, encouraging them to add more items to their cart.

For example, instead of giving a flat $5 discount on any order, you can offer “Spend $50, get $10 off your first order.” This helps increase average order value while still encouraging new customers.

Types of WooCommerce First-Order Discounts

WooCommerce first-order discounts are strategic incentives designed to convert new visitors into paying customers. These promotions help reduce purchase hesitation, improve conversion rates, and encourage shoppers to complete their first order.

The following are the most common types of first-order discounts used in WooCommerce stores:

Discount TypeHow It WorksExample
Percentage DiscountReduces the total cart value by a specific percentage.20% off for new customers
Fixed Cart DiscountDeducts a fixed monetary amount from the entire order.$10 off your first order
Fixed Product DiscountApplies a fixed discount to selected products only.$5 off featured items
Free ShippingRemoves shipping costs for first-time buyers.Free shipping on first order
Free Gift / BOGORewards customers with a free item or bonus product offer.Buy One Get One Free
Tiered or Conditional DiscountActivates discounts based on spending thresholds or purchase conditions.Spend $100, get 15% off
Auto-Applied DiscountAutomatically applies eligible discounts without requiring a coupon code.Discount applied automatically at checkout
First Order Coupon CodeRequires customers to enter a coupon code at checkout.WELCOME10
Sign Up DiscountGives a discount after customer registration or newsletter signup.10% off after sign up

By combining these discount strategies, WooCommerce store owners can attract new customers, reduce cart abandonment, and create a smoother first-purchase experience.

How to Create a WooCommerce First Order Discount

WooCommerce doesn’t allow you to create a complete first-order discount rule by default. It also doesn’t have a direct option to filter and create a WooCommerce coupon for first time customers only.

The best way to generate a WooCommerce first order discount is by using a plugin. If you don’t want to add a plugin, you can add custom codes to set up an automatic WooCommerce first-time order discount.

However, to use this method, you must be familiar with codes and must have a backup of your files.

Let’s try out the custom coding method first.

Method 1: Creating a WooCommerce First Order Discount with Custom Code

Let us walk you through the steps.

Step 1 – Create a child theme or back up your files

If you are planning to add custom codes, customize theme codes, customize styles, or add custom fields to your WordPress WooCommerce site, you should opt for a child theme. If you are unfamiliar with or cannot create a child theme, create a backup of your files.

Step 2 – Edit theme file

Go to your WordPress dashboard and jump to Appearance>> Theme File Editor.

edit theme file

Once you are there, click on the funcitons.php, scroll down the file, and write your code at the bottom.

edit function php

Step 3 – Write/Paste your code

Let’s say you are offering a fixed WooCommerce first order discount of $10 on any single product for first-time buyers. This discount will only be applied once on a single product only for newly registered users.

Here’s the code –

// Apply first order discount for new customers

function apply_first_order_discount() {

// Ensure the function only runs in the frontend

if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

if ( is_user_logged_in() ) {

     $current_user = wp_get_current_user();

     $user_orders = wc_get_orders( array(

         'customer' => $current_user->ID,

         'limit' => 1,

     ) );

     // If the user has no previous orders, apply the discount

     if ( empty( $user_orders ) ) {

         add_action( 'woocommerce_cart_calculate_fees', 'add_first_order_discount' );

     }

}

}

add_action( 'wp', 'apply_first_order_discount' );

// Function to add the discount

function add_first_order_discount() {

$discount_amount = 10; // Set your discount amount here

WC()->cart->add_fee( __( 'First Order Discount', 'woocommerce' ), -$discount_amount );

}

Code Explanation for the WooCommerce First Order Discount

  • apply_first_order_discount Function: This function checks if the user is logged in and if they have any previous orders. If no previous orders are found, it hooks the add_first_order_discount function to woocommerce_cart_calculate_fees.
  • add_first_order_discount Function: This function applies the discount as a fee (negative amount) to the cart.

Step 4 -Testing the Discount of First Order WooCommerce Code

Log Out and Clear Browser Cookies:

  • Log out from your account or use a new browser. Make sure you clean the browser cache, history, and cookies. You can also browse in incognito mode instead.

Create a New Account:

  • Go to your WooCommerce site and create a new account as a customer.
register account

Check the Cart:

  • Add a product and check the cart page. The WooCommerce first order discount should be applied if the code is working correctly.
WooCommerce First Order Discount

Offering a Percentage WooCommerce First Order Discount

If you want to offer a 10% first-time order discount instead of a fixed $10, you can modify the code to achieve this.

Here’s how –

  • Update the code to calculate a 10% discount: Change the discount logic from a fixed amount to a percentage of the cart total.
  • Modify the function to calculate the discount: Calculate 10% of the cart total and apply it as a discount.

Here’s the code –

// Apply first order discount for new customers

function apply_first_order_discount() {

// Ensure the function only runs in the frontend

if ( is_admin() && ! defined( 'DOING_AJAX' ) ) return;

if ( is_user_logged_in() ) {

     $current_user = wp_get_current_user();

     $user_orders = wc_get_orders( array(

         'customer' => $current_user->ID,

         'limit' => 1,

     ) );

     // If the user has no previous orders, apply the discount

     if ( empty( $user_orders ) ) {

         add_action( 'woocommerce_cart_calculate_fees', 'add_first_order_discount' );

     }

}

}

add_action( 'wp', 'apply_first_order_discount' );

// Function to add the discount

function add_first_order_discount( $cart ) {

// Calculate 10% discount

$discount_percentage = 0.10;

$discount_amount = $cart->subtotal * $discount_percentage;

// Apply the discount

WC()->cart->add_fee( __( 'First Order Discount', 'woocommerce' ), -$discount_amount );

}

Check out the cart page with a new account.

WooCommerce First Order Discount

Offering Free Shipping on First Time Orders

Let’s say instead of offering a discount, you want to offer free shipping to first-time buyers.

Here’s the code to achieve this –

// Apply free shipping for first-time buyers

function apply_free_shipping_for_first_time_buyers() {

// Ensure the function only runs in the frontend

if (is_admin() && !defined('DOING_AJAX')) return;

// Check if the user is logged in

if (is_user_logged_in()) {

     $current_user = wp_get_current_user();

     $user_orders = wc_get_orders(array(

         'customer' => $current_user->ID,

         'limit' => 1,

     ));

     // If the user has no previous orders, apply free shipping

     if (empty($user_orders)) {

         add_filter('woocommerce_package_rates', 'add_free_shipping_for_first_order', 10, 2);

     }

}

}

add_action('wp', 'apply_free_shipping_for_first_time_buyers');

// Function to add free shipping

function add_free_shipping_for_first_order($rates, $package) {

// Add a free shipping rate

$free_shipping_rate = new WC_Shipping_Rate(

     'free_first_order_shipping', // ID

     __('Free Shipping (First Order)', 'woocommerce'), // Label

     0, // Cost

     array(), // Taxes

     'free_shipping' // Method ID

);

// Add the free shipping rate to the existing rates

$rates['free_first_order_shipping'] = $free_shipping_rate;

// Optionally, remove other shipping rates to ensure only free shipping is available

// return array('free_first_order_shipping' => $free_shipping_rate);

return $rates;

}

Here’s how it looks for regular/returning customers.

standard shipping

If a new customer adds a product to the cart, here’s how WooCommerce offers free shipping WooCommerce first order discount.

free shipping WooCommerce First Order Discount

You can write additional code to remove other shipping options and automatically apply the free shipping option.

Method 2: Automatically Apply First Order Discounts Using Plugin

The easiest way to create a WooCommerce first order discount is by using a discount plugin. For this method, we will use the Disco – WooCommerce Dynamic Pricing & Discount Rules Plugin.

Using Disco, you can create an automatic WooCommerce first purchase discount without sharing any coupon code with customers. The discount will be applied automatically when the customer meets the first-order condition.

This method works for any WooCommerce store and is useful when you want to offer:

Let’s create a 20% WooCommerce first order discount using Disco.

Step 1: Go to Disco from Your WordPress Dashboard

After installing and activating the Disco plugin, go to your WordPress dashboard.

From the admin sidebar, navigate to:

Disco → Create a discount. This will take you to the discount campaign creation page.

Go to Disco from Your WordPress Dashboard

Step 2: Add a Campaign Name and Select Your Discount Intent

Give the campaign a descriptive internal name (e.g., 20% off first order) and set the discount intent to Product-based discount. This name is for your reference only and will not be visible to customers.

Add a Campaign Name and Select Your Discount Intent

Step 3: Set the Product Filter to “All Products”

Now, select your product filter.

Choose:

All products

This will apply the first order discount store-wide.

Set the Product Filter to “All Products”

If you don’t want to offer the discount on every product, you can also narrow it down to specific products or product categories.

For example, you can apply the WooCommerce first purchase discount only to:

  • Selected products
  • Specific categories
  • Featured items
  • New arrivals
  • Seasonal collections

But for this example, we will keep it simple and apply the discount to all products.

Step 4: Set a User Limit and Validity Date

Next, set a user limit and validity date for the discount campaign.

For example:

User limit: 100

This means only 100 eligible first-time customers can use the discount.

Set a user limit and validity date

You can also set a validity date to control when the offer starts and ends. This helps you avoid keeping the campaign open forever.

This is useful for:

  • Limited-time first order offers
  • Holiday campaigns
  • New customer acquisition campaigns
  • Seasonal promotions
  • Welcome discount campaigns

Step 5: Choose Your Discount Type and Value

Select Percentage discount and enter your discount value (e.g., 20 for 20% off). You can alternatively choose a fixed amount or free shipping here.

Choose Your Discount Type and Value

This will create a 20% discount for first-time customers.

You can also choose other discount types depending on your campaign goal, such as:

  • Fixed discount
  • Percentage discount
  • Free shipping
  • Product discount

For example, instead of 20% off, you can offer:

  • $10 off first order
  • 15% off first purchase
  • Free shipping on first order
  • $5 off selected products

Step 6: Set the Condition: “Is First Order = Yes”

This is the most important step.

Under the Conditions section, add the following rule:

Is First Order → Equal → Yes

Set the condition Is first order Yes

This condition ensures the discount applies only to first-time customers.

That means the discount will be available only when the customer has no previous orders in your WooCommerce store. Returning customers will not receive this discount.

This is what makes it a true WooCommerce first order discount instead of a general discount campaign.

Step 7: Save and Activate Your First Order Discount

After configuring the discount rule, click:

Save. Your campaign is now live.

Save and Activate Your First Order Discount

Any new customer placing their first order will automatically receive the discount. They don’t need to enter a coupon code manually.

new customer placing their first order

As you can see, when the customer has no previous purchases, the discount is automatically applied to eligible products.

If the condition is set to Is First Order = Yes, Disco checks whether the customer is placing their first order and applies the discount automatically at checkout.

Returning customers are excluded without any manual work on your end.

This makes Disco a simple and effective WooCommerce first order discount plugin for creating automatic first purchase discounts, new customer discounts, and first-time buyer offers.

How to Restrict WooCommerce Discounts to New Customers

To protect profit margins and prevent promotion abuse, WooCommerce store owners must implement validation methods that ensure discounts are exclusive to first-time buyers.

1. Restriction by User Role

This method limits coupon eligibility to specific WordPress user roles. It is the most effective way to separate standard retail customers from wholesalers or existing subscribers.

  • Best for: Stores with membership tiers or wholesale programs.
  • Implementation: Configure the coupon to only activate for the “Customer” role while excluding “Subscriber” or “Contributor” roles.

2. Validation by Order History

WooCommerce can programmatically check a customer’s past transactions linked to their account, billing email, or phone number.

  • How it works: The system scans the database for any orders with a “Completed” or “Processing” status. If the count is zero, the customer is eligible.
  • Key Benefit: Prevents existing customers from using “New User” codes even if they aren’t logged in, as long as they use their primary email.

3. Guest Customer Validation

For shoppers who do not create an account, stores can use metadata to identify repeat buyers and prevent “coupon stacking” or multi-use abuse.

  • Technical Identifiers: Systems validate the Billing Email, Phone Number, or IP Address during the checkout process.
  • Impact: Ensures that a single user cannot claim multiple first-order discounts by simply checking out as a guest repeatedly.

Troubleshooting WooCommerce First-Order Discounts

First-order discounts may fail due to validation gaps, incorrect configuration, or system conflicts. Below are the most common issues and their technical fixes.

1. Discount Applies to Returning Customers

This happens when the system only checks coupon usage instead of verifying the customer’s actual order history.

Fix:

Configure validation using billing email, phone number, or customer account history. Ensure the system checks previous orders with statuses like Completed or Processing before applying the discount.

2. Guest Users Bypassing Restrictions

Some users may reuse “new customer” discounts by checking out as guests or using multiple email addresses.

Fix:

  • Require account creation for first-order discount eligibility
  • Use IP or device-based tracking to detect repeat users
  • Apply phone/SMS verification to limit one discount per unique user

3. Discount Fails to Appear at Checkout

The discount may not trigger due to unmet conditions or technical conflicts in the checkout process.

Fix:

  • Review coupon rules such as minimum spend, product restrictions, and expiry dates in the Usage Restrictions settings
  • Disable caching on cart and checkout pages
  • Test with a default theme (e.g., Storefront) to identify theme or custom code conflicts

Frequently Ask Questions

How do I create a first-order discount in WooCommerce?

To create a first-order discount, navigate to Marketing > Coupons in your WordPress dashboard. Create a new coupon (e.g., “WELCOME20”) and set the discount type (Percentage or Fixed).

Can WooCommerce detect first-time customers?

By default, WooCommerce tracks customer emails and linked accounts to determine order history. However, for robust detection that prevents guest checkout abuse, it is recommended to use a validation system that checks the Billing Email and Phone Number against the database of “Completed” and “Processing” orders.

How do I offer free shipping on the first order?

You can offer free shipping via two methods:
01) Coupon Method: Create a coupon and check the “Allow free shipping” box. Ensure “Free Shipping” is enabled in your Shipping Zones with the requirement “A valid free shipping coupon.”
02) Automatic Method: Use a conditional shipping plugin to trigger a $0.00 shipping rate automatically when the system detects a user’s first transaction.

What is the best first purchase discount percentage?

In 2026, the standard “attractive” threshold for new customer acquisition has shifted to 20% to 30%. While 10% is common, data shows that a 30% discount is the current psychological “sweet spot” for converting hesitant first-time visitors into buyers, especially in competitive niches like fashion and home decor.

Wrap up

WooCommerce first order discount is a great marketing strategy for enticing visitors to buy your products. This creates greater opportunities for you to turn them into loyal returning customers.

But remember, while discounts offer a multitude of benefits, it’s crucial to find the right balance. Overuse of discounts can lead to customers waiting for them before buying, potentially hurting profitability in the long run.

We hope this article will help you generate discounts for your first-time customers. Let us know in the comments if you need any help with discounts.

Leave a Reply

8,284,199+ Downloads. 719+ plus 5-star ratings. Promote products on any platform you want.