← All plugins

First Order Discount for WooCommerce

A welcome discount for a customer's first order only, with no code to share, checked again when they pay.

Pro · from $39/year
First Order Discount for WooCommerce graphic

What it does

A welcome discount for a customer's first order only, with no code to share, checked again when they pay.

First Order Discount gives a customer a percentage or a fixed amount off their first order, automatically, with no code for anyone to share or type. A customer counts as new when no earlier paid, on-hold, completed or refunded order is found for their account or their email address, and capital letters, plus-tags and Gmail dots are ignored. The check is made in the cart and again when the order is placed, in the block cart and checkout and in the classic ones, so changing the email address at checkout does not get round it. Orders from before you installed it are read in the background, and until that has finished your orders are searched directly, so an existing customer is never mistaken for a new one.

You choose the amount, an optional minimum, whether sale items are left out and what happens when the customer also has a coupon. You can also limit the discount to chosen products or categories, cap what one discount can take off, give bigger carts a bigger discount, add free shipping or a free gift, match a returning customer by address or phone number, and limit the offer by customer role or date. If the licence lapses, nothing is deleted and nobody is given more than before: every limit keeps applying, and the bigger discounts, free shipping and free gift switch off.

See it in action

The welcome discount: switch it on, choose a percentage or a fixed amount, set an optional minimum, leave sale items out, name the line and choose how it is shown.
Who counts as a new customer: no earlier paid order for the account or the email address, with plus-tags and Gmail dots ignored. Refunded orders still count, and earlier orders are read in the background.
Messages: what a customer reads when the discount applies, when it is taken off for an earlier order and when another coupon is used instead. An empty box uses the words it comes with.
Tools: check whether an email address would get the discount, mark one customer as new again, or rebuild the record from your orders.
Scope: limit the discount to chosen categories and products, or leave some out. Anything left out is never discounted.
Free shipping on the first order, on the cheapest delivery rate or on every rate. Collection from a shop is never counted as the cheapest delivery.
Returning customers: match on billing address or phone number, and turn away throwaway email domains from a list you can edit. Everything here is off until you switch it on.
Customer roles: say which kinds of customer may have the welcome discount, guests included.
Dates: start and end the discount on days you choose, or end it a number of days after an account was made.
Free gift: add a product to a first order at no charge, beside the discount. It is taken out again if the customer stops qualifying.

What the plugin does

  • A welcome discount for a customer's first order only, applied automatically with no code to share or type.
  • A percentage or a fixed amount off, as you choose.
  • An optional minimum cart total before the discount applies.
  • A choice to leave items that are already on sale out of the discount.
  • A name for the discount line that you choose.
  • When the customer also has a coupon: use whichever is worth more, allow both, or use the welcome discount only.
  • The discount shown as a coupon-style discount, or as a fee line taking money off if your theme hides discounts.
  • A customer is recognised by their account and by their email address, so guests are checked as well.
  • Capital letters, plus-tags and Gmail dots are ignored, so jo+shop@gmail.com and J.O@googlemail.com are the same person.
  • Paid, on-hold, completed and refunded orders count as earlier orders. Unpaid ones count only if you tick the box for it.
  • The check is made in the cart and again when the order is placed, so changing the email address at checkout does not get round it.
  • Works in the block cart and checkout and in the classic ones.
  • Orders from before you installed the plugin are read in the background, and your orders are searched directly until that has finished.
  • Plain-words messages you can edit, for an eligible customer, a discount taken off and a coupon used instead, and a shortcode, [fodwc_message], to show one anywhere.
  • Limit the discount to chosen products or categories, or leave some out.
  • Cap what one discount can take off.
  • A bigger discount for a bigger cart, in tiers you set.
  • Free shipping on the first order, on the cheapest delivery rate or on every rate.
  • Recognise a returning customer by billing address or phone number as well, if you switch it on.
  • Turn away throwaway email domains, from a list you can edit.
  • Limit the offer to chosen customer roles, guests included.
  • Run the offer between two dates, or only for the first days of an account.
  • A free gift added to a first order, from a product you choose.
  • A Tools screen to check any customer, rebuild the order record or mark someone as new again.
  • A First order box on each order showing what was decided.
  • Settings import and export, with the settings above included.
  • High-Performance Order Storage compatibility.
  • Personal data export and erase support.
  • Updates from your PluginCity account, kept coming by your licence key.

Pricing

Every Pro plan is the same plugin with every feature. The only difference is how many sites you can run it on.

Prices in

Single site

One site, with a year of updates and support.

$39/year

Secure checkout. Cancel any time.

5 sites

Most popular

Up to 5 sites, with a year of updates and support.

$79/year

Secure checkout. Cancel any time.

25 sites

Up to 25 sites, with a year of updates and support.

$159/year

Secure checkout. Cancel any time.

Need more than 25 sites? Get in touch about a custom licence.

Frequently asked questions

Can a customer type a code to get the discount?

No. There is no code to share. The discount is applied by the plugin when the customer is eligible, and nothing is applied when they are not, whatever they type.

How does it know a customer is new?

By their account if they are logged in, and by their email address if they are not. A customer counts as new when no earlier paid order is found for either. The check is made in the cart and again at the moment the order is placed, so changing the email address at checkout does not get round it.

What counts as an earlier order?

Paid, on-hold, completed and refunded orders count. Unpaid orders count only if you tick the box for it, and failed and cancelled orders never do. A subscription renewal never makes someone count as having ordered, and an order created by hand in the admin is never given the discount but does count.

Can someone get it twice by using another email address?

Not with the same account, and not by changing the capitals, adding a plus-tag or adding dots in a Gmail address. A customer who simply uses a completely different mailbox and a different account looks like a new customer, as with any offer that does not ask for more identification. You can also switch on matching by billing address and by phone number.

What about customers who ordered before I installed it?

Your earlier orders are read in the background, and until that has finished every check looks at your orders directly, so nobody who ordered before is treated as new. The Tools screen can rebuild the record from your orders at any time.

Does it work with the block cart and checkout?

Yes, and with the classic ones. On the block checkout a customer who turns out not to be new is told in plain words, and the total is refreshed without the discount, so nothing is charged that they did not agree to.

What happens when the customer also has a coupon?

You choose: use whichever is worth more to the customer, allow both, or use the welcome discount only. The default is whichever is worth more.

Is the discount taken off sale items?

Not by default. Items that are already on sale are left out of the discount, and a box lets you include them. A minimum cart total is worked out on the same items the discount is.

How do tiers work?

Each tier is a cart total and the discount for a cart that reaches it. A cart gets the best tier it has reached, and never less than the amount you set above. The total is the part of the cart the discount covers, so with a product limit set it is counted on those products only.

Does the cap apply before or after the discount is worked out?

After. The discount is worked out first and then held to the cap, so a customer with a big cart gets the cap and no more.

Which delivery rate does free shipping cover?

Your choice: only the cheapest delivery rate, or every rate. Collection rates such as local pickup are never counted as the cheapest delivery.

What does the free gift cost the customer?

Nothing. It is added to the cart at no charge, the customer cannot remove it or change its quantity, and it goes if they stop qualifying. It is never part of what the discount is worked out on. It is not added if the product is out of stock.

Does matching on address and phone block honest customers?

It can, which is why both are off until you switch them on. Two people who share an address and a phone number but use different email addresses are treated as one customer. Mark as new customer on the Tools screen is the way out for a customer who was caught by mistake. Only a scrambled code is kept, never the address or the number itself.

What does the throwaway email list do?

A customer whose email address is on a listed domain is not given the discount. The list starts short and is yours to edit, and it is off until you switch it on. A listed domain also covers the names under it.

What does days after the account was made mean for a guest?

A guest is not logged in, so that limit does not apply to them. Use the customer roles setting to refuse guests outright.

Can I give the discount to someone who was caught by mistake?

Yes. On the Tools screen, enter their email address to see whether they would get the discount, and use Mark as new customer to let them through. It changes only this plugin's record, not their orders.

What happens to the record of who has ordered?

It keeps only scrambled codes made with a secret key stored on your site, never the addresses themselves. It is kept when you deactivate or delete the plugin, so the discount cannot be given twice if you reinstall. You can erase a customer through the personal data tools in WordPress.

Does it slow my shop down?

No. A customer is looked up by an indexed column, and while your older orders are still being read in, a search of the orders themselves fills the gap.

Does it work with High-Performance Order Storage?

Yes. Orders are only read and written through WooCommerce, so either storage works.

Does it send any data out?

Nothing about your orders or customers ever leaves your site. The licence check and the update check contact PluginCity, and send the licence key, the site address and the plugin version. Nothing else is sent.

How do I install it and what does it need?

Download the ZIP from your PluginCity account, then go to Plugins, Add New, Upload Plugin, choose the ZIP and click Install Now. If an earlier copy of the plugin is already installed, choose Replace current with uploaded: every setting you have made is kept. It needs WordPress 6.7 or later, WooCommerce 10.0 or later with WooCommerce active, and PHP 8.1 or later. There is nothing else to install alongside it.

How do updates and the licence key work?

Paste your licence key under WooCommerce, First Order Discount, Licence. Updates then arrive on your Plugins screen like any other, and the key keeps the scope, cap, tiers, free shipping, free gift, role, date and matching settings editable. A new install has 14 days before that starts to matter.

What happens if my licence lapses?

Nothing is deleted. The bigger discounts for bigger carts, free shipping and the free gift switch off. Every limit that makes the discount smaller or rarer keeps applying, so a lapse can never widen who gets the discount or raise what it is worth. Renewing brings it all back as you left it.

What happens if I deactivate WooCommerce?

The plugin steps aside and shows a notice. It does not fatally error, and your settings are waiting when WooCommerce comes back.

Requires WordPress 6.7+ · WooCommerce 10.0+ · PHP 8.1+

More plugins