A wide digital illustration banner with a soft lavender and warm white background. The left side features clean negative space. On the right side, a stylized, slightly angled e-commerce checkout window floats, displaying a prominent donation panel with overlapping gold coins and a pink heart button. Beside the checkout window, an elegant kestrel hovers in mid-flight, accompanied by subtle motion lines and a targeting ring. The composition is accented by floating retro-modern geometric shapes, including a large purple circle, a mint triangle, and a lilac zig-zag, with pops of indigo and pink

How to accept donations at your WooCommerce checkout

A WooCommerce merchant came to our support team with a simple-sounding request: they were running a fundraiser and wanted customers to be able to add an optional donation to a cause at checkout. Nothing fancy. A few preset amounts, maybe a “choose your own,” and have it land on the order.

They’d already tried the obvious route, installing a donation plugin, and it hadn’t gone smoothly inside their optimized checkout.

Here’s what we told them, and what we confirmed by actually setting it up: if you already run Order Delivery for WooCommerce, you don’t need a separate donation plugin at all.

Order Delivery has a built-in tip field, and a tip field is a donation prompt with a different label. With a couple of settings you can turn it into a clean, optional “add a donation” prompt that sits in your checkout and adds straight to the order total.

This guide walks through exactly how, where it works, and (just as important) where it doesn’t.

How we tested this

This isn’t a plugin roundup written from the search results. It started as a real support request from Custom Sticker Shop (customstickershop.us), a veteran-owned sticker store running a Wounded Warrior Project fundraiser. We set the whole thing up on our end to confirm the advice held, and Custom Sticker Shop now runs it live on their checkout.

We tested with Order Delivery for WooCommerce running inside CheckoutWC, and placed a real test order. Here’s what we confirmed:

  • The tip/donation field renders in the CheckoutWC checkout, not just the default WooCommerce one.
  • Selecting an amount adds it to the WooCommerce order total.
  • The amount is recorded as a fee line on the order. It does not get its own donations report, so totaling what you’ve collected takes one extra step (covered below).

Last tested: June 2026, with current versions of Order Delivery and CheckoutWC.

Add donations to WooCommerce checkout: donation field at checkout with preset amounts and a custom amount box
The live donation field on Custom Sticker Shop’s checkout: preset amounts, a custom box, the charity note, and no delivery date in sight.

What this setup does and doesn’t do

Before you wire anything up, here’s the honest scope. This approach is great for a simple, optional donation. It is not a fundraising platform.

RequirementSupported?Notes
Add optional donation at checkoutYesUses Order Delivery’s tip field
Preset donation amountsYesExample: $1 / $5 / $10
Custom donation amountYesLeave the custom amount visible
Adds to order totalYesRecorded as a fee on the order
Works in CheckoutWCYesTested rendering in the optimized checkout
Auto round-up to nearest dollarNoUse preset buttons instead

If you need donor management, recurring donations, tax receipts, or campaign reporting, skip ahead to when to use a dedicated donation plugin. For an optional “round up for our cause” prompt, read on.

Why checkout is the right place to ask

Think of a donation the way you’d think of an order bump. An order bump asks the customer to add a product. A donation asks them to add a few dollars to a cause. Mechanically, it’s the same move: a small, optional, one-click add at the moment of highest intent.

Checkout is where that ask works:

  • Timing. The customer already decided to buy and has their card out. Adding $5 to an $80 order barely registers. The same ask in a cold email gets ignored.
  • Friction. A preset button is one tap. No second page, no separate transaction, no re-entering a card.
  • Goodwill. A customer who rounds up for your cause feels good about the store they just bought from.

One rule: keep it optional and never pre-checked. Invite, don’t corner. An opt-in donation is a nice touch. A sneaky one is a refund request waiting to happen.

Your options, and the tradeoffs

There are three common ways to do this. They all work. They’re not equal.

1. A dedicated donation plugin. Plenty exist, and they’re the right answer if you need real fundraising features. The cost is another plugin to maintain, and many were built for the classic WooCommerce checkout, so their donate box doesn’t always show up where you want it in an optimized or customized checkout.

2. A “Donate $10” product. The no-extra-plugin workaround: a variable product with fixed-price variations. It works, but the donation lives on a product page rather than at checkout, and you’re now managing fake products in your catalog.

3. Order Delivery’s tip field. If you already run Order Delivery, this is the least work. The tip field is purpose-built to sit in the checkout as an optional, opt-in add-on with preset amounts and a custom box, which is exactly what a donation prompt needs.

The rest of this guide covers option 3.

Step-by-step: Turn the tip field into a donation

Here’s the whole setup.

  1. Go to WooCommerce → Settings → Delivery and turn on Customers can add a tip.
  2. Open the Tips tab and set:
    • Tip type: Fixed amount for set donation buttons, or Percentage if you’d rather offer “5% / 10% of my order.”
    • Tip presets: the amounts you want, for example 1, 5, 10.
    • Tip heading: the wording customers see, for example “Round up to support our cause.”
    • Leave Hide custom amount off so people can give whatever they want.
  3. Save.

The donation prompt now appears at checkout, and selecting an amount adds it to the order total.

Add donations to WooCommerce checkout: Order Delivery Tips settings with fixed amount, presets, and a custom heading
The Order Delivery Tips settings: Fixed amount, your preset values, and a custom heading.

No donation plugin, no fake products. The amount records as a fee line on the order, which keeps your order records clean (totaling donations across orders takes one extra step, covered below).

Relabel “tip” to “donation”

One cosmetic catch: out of the box, the line in your cart totals and on the order reads “Tip.” For a fundraiser you want it to say “Donation.”

The heading customers see at checkout is fully yours (you set it above), but the totals line uses a separate label. The quickest fix today is the free Say What? plugin, which swaps text strings anywhere on your site. Add two entries, both with the text domain woocommerce-order-delivery:

  • TipDonation
  • Delivery details → e.g. Support our cause
Add donations to WooCommerce checkout: order summary showing a Donation line
The order summary after the relabel: the line reads “Donation $5.00,” not “Tip.”

After that, the prompt, the totals line, the order, and the confirmation email all read “Donation.” (If you already use Loco Translate, you can make the same swap there instead. That’s the route Custom Sticker Shop took, and it carried through to the order screen and the email.) We’re also working on making this label a native setting, so this relabel step won’t be needed long term, but it works cleanly today.

Optional: Hide the delivery date

Order Delivery’s main job is letting customers pick a delivery or pickup date, so by default the tip field shares a section with a date picker. If you’re not scheduling deliveries and just want the donation on its own, you can hide the date with a one-line snippet.

If you use CheckoutWC, add this in CheckoutWC → Advanced → Scripts (scroll to the PHP Snippets section) and save:

add_filter( 'wc_od_checkout_needs_date', '__return_false' );

That switches the delivery date off entirely, not just hidden, so there’s no leftover “please choose a date” prompt to trip checkout up. If anything looks off, toggle the snippet back off on the same screen. (You can see the result in the field screenshot above: just the donation prompt, no date picker.)

How it works in CheckoutWC

This is where Order Delivery and CheckoutWC fit together. CheckoutWC gives you a faster, conversion-optimized checkout, and because Order Delivery is built to integrate with it directly, the donation field renders cleanly right inside that flow, which is the part we specifically tested.

The practical bonus: Order Delivery is included with CheckoutWC Pro. So if you’re optimizing checkout for conversions anyway, the donation prompt comes along at no extra cost, next to the order bumps, side cart, and one-page checkout doing the heavier lifting.

Add donations to WooCommerce checkout: donation field inside the CheckoutWC checkout with order summary
Custom Sticker Shop’s full CheckoutWC checkout: the donation section sits in the flow alongside the order summary, which shows the $5.00 donation rolled into the total.

How to track what you’ve collected

One genuinely rough edge, worth knowing up front: the donation is stored as a fee on each order, not in a dedicated donations report. The amount is on every order, but WooCommerce won’t total it for you. The built-in order export and the Analytics CSV both leave order fees off, so there’s no “donated this week” screen out of the box.

You have two good ways to fix that.

A small report (best for an ongoing total). We wrote a free snippet that adds a Donations report screen to your dashboard: running totals for all time, the last 30 days, and the last 7 days, plus every order and its donation. Add it with the free Code Snippets plugin (or your child theme’s functions.php) and it appears under WooCommerce > Donations report. Grab it here: Donations report snippet.

Add donations to WooCommerce checkout: Donations report dashboard with running totals
The Donations report the snippet adds, with running totals and a per-order breakdown (sample data shown).

A spreadsheet export (no code). If you’d rather not add code, the free Advanced Order Export for WooCommerce has a “Fees & Discounts” field section: set a date range, include the donation fee, and the amount exports as its own column you can total.

Either way, the donation is recorded on every order, so your numbers are always there. If campaign-level reporting (donor records, multiple campaigns, tax receipts) is central to your fundraiser, that’s a sign you may want a dedicated donation plugin (see below).

Honest limitations

A few things to know going in:

  • It’s not automatic round-up. The field offers preset amounts and a custom box. It won’t take an $18.40 order and auto-calculate a $0.60 round-up. Preset buttons plus a custom amount cover most “add a donation” cases. If true round-up-to-the-nearest-dollar is a hard requirement, this isn’t it (and it’s worth telling us).
  • You’ll likely relabel “Tip.” See the Say What? step above. Minor, but plan for it.
  • It’s a donation prompt, not a fundraising platform. No donor records, recurring gifts, tax receipts, or campaign dashboards.

When to use a dedicated donation plugin instead

Reach for a purpose-built donation/fundraising plugin if you need any of these:

  • Donor management or a donor database
  • Recurring or subscription donations
  • Tax receipts or acknowledgement letters
  • Multiple campaigns with individual goals and reporting
  • Nonprofit-grade accounting separation

If you mostly want an optional “support our cause” prompt at checkout that adds to the order, the Order Delivery tip field gets you there without the extra moving parts.

FAQ

Can WooCommerce accept donations at checkout?

Not on its own. There’s no native donation field, so you add one with a plugin. If you already use Order Delivery, its tip field can serve as that field.

Can I add a donation without another WooCommerce donation plugin?

Yes, if you run Order Delivery. Its built-in tip field becomes the donation prompt, so you don’t add a separate donation plugin.

Does this work with CheckoutWC?

Yes. We tested it inside CheckoutWC and confirmed the donation field renders in the optimized checkout and adds to the order total.

Can customers choose their own donation amount?

Yes. Leave the custom amount option visible and customers can enter any amount alongside your preset buttons.

Can it automatically round up the order total?

No. It offers preset amounts and a custom amount, not automatic round-up to the nearest dollar. Use preset buttons (for example $1 / $5 / $10) instead.

Is the donation recorded on the WooCommerce order?

Yes. It’s added as a fee line on every order, so it appears on the order record and confirmation email.

How do I see how much I’ve collected in donations?

There’s no built-in donations total in WooCommerce, and the standard order export and Analytics CSV both leave order fees off. The amount is saved on every order, so to total it across a period you have two options: add our free Donations report snippet, which puts a running total dashboard under WooCommerce > Donations report, or use a free order-export plugin like Advanced Order Export for WooCommerce and sum the donation column.

When should I use a dedicated donation plugin instead?

When you need donor management, recurring donations, tax receipts, or campaign-level reporting. For a simple optional donation, the tip field is enough.

Get started

If you already use CheckoutWC Pro, you already have Order Delivery in your account. Turn on the tip field, relabel it, place one test order to confirm it lands on the total, and you can have a checkout donation prompt live today.

If you don’t use CheckoutWC yet, Order Delivery works on its own. CheckoutWC gives you the optimized checkout flow around it, and includes Order Delivery in the Pro plan.

Either way, you’ll be asking for the donation where people are most likely to say yes: right as they’re already checking out.

Ian Misner Avatar

About the author…

Join the Flock

Product updates, sales & coupons, Woo tutorials. Zero spam.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *