Adding a tip or donation option in WooCommerce
By Mariusz Szatkowski · Updated: 2026-06-23
If you run a WooCommerce store, you may want to let customers add a little extra at checkout: a tip for your team, a gratuity on a service, or a donation to a cause. Done well, this is a small, optional control that lifts your average order value without pressuring anyone. This guide explains what a checkout tip is, why stores offer one, and how to set it up cleanly as an order fee.
What an Optional Checkout Tip Is
A checkout tip is an optional amount a customer chooses to add to their order at the moment they pay. It is voluntary by design, so the default is always to add nothing.
The mechanics are simple. The customer picks an amount (or declines), and that amount is added to the order total. Because it is attached to the order, it shows up in the totals the customer confirms before paying, and it stays with the order afterwards in emails and reports.
A tip and a donation are the same mechanism with different wording. You decide the label and where the money goes:
- A tip or gratuity rewards the people who fulfilled the order.
- A donation sends the extra amount to a charity or cause you support.
- A round-up or support us prompt simply invites a small contribution to the business.
Why a Store Would Offer Tipping
Offering an optional tip can raise revenue and strengthen customer goodwill at the same time, as long as it stays genuinely optional.
Common reasons stores add a tip or donation option:
- Service and food businesses where tipping is a normal customer expectation.
- Small teams who want a direct, visible way for happy customers to say thank you.
- Cause-driven stores running a donation drive alongside normal sales.
- Any store testing whether a low-friction, opt-in prompt lifts average order value.
The key is restraint. A tip prompt works when it is easy to ignore. The moment it feels like a forced surcharge, it erodes trust, so the default selection should always be no tip.
How a Checkout Tip Works as an Order Fee
The cleanest way to add a tip in WooCommerce is as a native cart fee on the order. A fee is a first-class part of WooCommerce totals, so the tip behaves predictably everywhere.
Adding the tip as a fee means it automatically:
- Appears in the order totals the customer reviews before paying.
- Flows into customer and admin order emails.
- Shows up in WooCommerce sales reports.
- Stays attached to the order for refunds and accounting.
When a tip is applied as a non-taxable fee, no tax is calculated on the gratuity itself, which is the usual treatment for voluntary tips. Tax rules differ by country, so confirm the correct handling for your market.
There is one practical detail worth getting right: the total has to update the moment the customer picks an amount. Good tip controls recalculate the checkout through WooCommerce’s own checkout AJAX, so the figure the customer confirms always includes the tip they selected.
Flat Amounts Versus Percentage Tips
You can offer tip presets as either fixed amounts or a percentage of the order, and each suits a different store.
- Flat amounts (for example 5, 10 or 20 in your currency) are predictable and quick to understand. They work well when order values are fairly consistent.
- Percentage presets (for example 5% or 10%) scale with the basket, so a large order contributes proportionally more. A percentage should be worked out from the current subtotal and recalculated if the cart changes, so it stays correct.
Offering a small set of presets, rather than an open text box, lowers friction. The customer taps one choice and moves on. Always include a clear way to decline so the control stays opt-in.
How to Set Up Tipping in WooCommerce
Setting up an optional tip is mostly a matter of a few clear decisions, then exposing one simple control at checkout.
- Decide the purpose. Tip for staff, donation for a cause, or general support. This drives your wording.
- Choose the label and description. Tell the customer plainly what the amount is for, in their language.
- Pick preset values. Either flat figures or percentages, kept to a short, scannable set.
- Keep it opt-in. Make sure no tip is preselected so nobody is charged by accident.
- Apply it as a fee. Add the chosen amount as a non-taxable order fee so it lands in totals, emails and reports automatically.
- Test the totals. Confirm the total updates live when an amount is selected, and that the tip appears on the finished order.
Accessibility matters here too. The preset buttons should be keyboard operable with a visible focus state, and the control should announce changes for assistive technology so every customer can use it.
How Tipping for WooCommerce Helps
For stores that want this without custom code, Tipping for WooCommerce adds an optional tip or donation control to the checkout in a focused, single-screen setup. Customers pick a preset (a flat amount or a percentage of their order), and the tip is added to the order totals as a native, non-taxable fee and saved on the order.
The control recalculates totals live through WooCommerce’s checkout AJAX, with percentage presets worked out from the current subtotal. You set the label, the description and the preset values under WooCommerce, No tip stays preselected so it is fully opt-in, and the control renders nothing when tipping is off or no presets exist. The buttons are keyboard operable with a visible focus ring and an ARIA live status line, and the plugin ships with a translation template. It does not connect to any external service, so the tip choice stays on your own site.