How to Accept Donations on Your WordPress Website

If you run a newsletter, a small charity, an open-source project, or a creator site where your audience wants to support your work, adding a donation option is simpler than most tutorials make it sound. The harder part is picking the right approach — there are two workable options for most sites, and they suit different situations. Alongside other revenue streams like affiliate links, donations are one of the least disruptive ways to monetise a content site: no product to sell, no subscription to commit to, just a way for people who already value your work to say so.

Why a Donation Form Beats a Payment Button

A standard payment button expects a fixed amount. Donors want to choose what they give, and if you’re raising money for a cause or your own ongoing work, you also need a record of who gave and when — something a plain payment button doesn’t provide at all. A dedicated donation plugin handles variable amounts, sends automatic thank-you emails, and keeps donor records. It also carries more trust with visitors: a clear form with recognisable payment options converts better than a redirect to an unfamiliar checkout flow.

Setting Up GiveWP

From Plugins → Add New Plugin, search for GiveWP, install, and activate it. The free plugin now bundles more than it used to: it ships with Stripe (Payment Element) built directly into core — no separate gateway add-on to download any more — alongside PayPal Donations (the gateway’s current name; older guides still call it “PayPal Standard,” which PayPal itself has since retired) and offline donation methods like bank transfer or cheque.

After activation, a GiveWP menu appears in the sidebar. Go to GiveWP → Settings → Payment Gateways, select PayPal Donations as your default, and enter your PayPal business email. Enable Test Mode before going live — it lets you submit test donations without processing real payments, so you can confirm the full flow works before promoting the page. Stripe’s core gateway needs only your API keys from the Stripe dashboard entered under the same Payment Gateways screen; there’s no add-on installation step to complete first.

Go to GiveWP → Donation Forms → Add New and give the form a descriptive name — donors see this as the form title. Under Goal & Donation Options, set preset amounts alongside a custom entry field; anchoring donor expectations with presets (say $5, $15, $25, $50) works better than a fully open input while still leaving room for a different figure. Set a minimum donation — $2 is sensible for most setups — so processing fees don’t swallow the smallest contributions. The default name and email fields under Form Fields are enough for most cases; add a Donor Comments field if you want supporters to leave a message. In Email Notifications, keep the confirmation email concise: the amount, a thank-you by name, and a line on what the contribution supports does most of the relationship-building on its own.

Save the form, note the shortcode shown at the top of the editor (e.g. [give_form id="123"]), then create a page — Donate or Support Us works well — and either paste the shortcode into a Shortcode block or search the block inserter for the GiveWP Form block, which lets you pick the form from a dropdown with no shortcode involved. Add two or three short paragraphs before the form explaining what donations support — that context consistently improves conversion. Publish and preview to confirm it displays correctly.

With Test Mode still active, submit a test donation and verify the thank-you page appears immediately, the confirmation email lands in the inbox you entered, and the record appears under GiveWP → Donations. Disable Test Mode only once you’re satisfied the whole flow works.

Getting the Page Actually Seen

Where you promote the donation page matters as much as the page itself — a link in the main navigation and a brief, specific prompt at the end of relevant posts consistently outperforms a page that only exists in the footer. Specificity in the ask matters too: “Help cover hosting and writing costs” measurably outperforms a generic “support this site,” since donors respond better to a concrete reason than a vague one.

Recurring donations are worth enabling early for an engaged readership, but the free GiveWP plugin only handles one-time gifts — monthly giving requires the paid Recurring Donations add-on. For most small sites, starting with one-time donations is enough. And if you already have a payment button configured elsewhere on the site, adding GiveWP for donations specifically still makes sense: the confirmation emails, donor records, and variable amounts are separate capabilities a standard payment button was never built to provide.

Mistakes That Cost Real Donations

A fixed-price button for what should be a donation. Donors expect to choose their amount; a mandatory fixed price creates friction and quietly reduces total contributions. Skipping the confirmation email — donors need immediate acknowledgement that a payment processed, and without it, expect support requests and the occasional chargeback from someone unsure the transaction went through. Leaving Test Mode active on a live site — double-check your gateway settings before promoting the page, since donations submitted in Test Mode never process real payments. No donation link in the navigation — a footer-only link gets seen by almost nobody; put it in the main menu or at minimum on your About page.

GiveWP vs a Manual Button vs Membership

GiveWP is the right call when you want variable amounts, in-WordPress donor records, confirmation emails, and multiple payment methods without writing code. A manual PayPal button is faster to set up and needs no plugin, at the cost of redirecting donors to PayPal’s own site, no donor records inside WordPress, and — unless you configure a hosted button specifically — only fixed amounts by default.

A membership plugin is the better fit when you want recurring revenue tied to access — private content, a community, premium resources. That’s a genuinely different model from donations; setting up a membership site in WordPress takes considerably more configuration but produces subscription income rather than voluntary contributions. And if one-time or recurring tips feel more natural for your audience than a formal donation form, adding a Patreon or support button is a lighter setup that works well alongside GiveWP rather than instead of it.

GiveWP is the most practical starting point — the free version covers the core use case cleanly, and the full setup takes under an hour. If your needs are minimal, a PayPal button handles it just as well. Either way, if your audience has shown genuine interest in supporting your work, giving them a way to do so is worth the setup time. The process fits naturally into building a WordPress website step by step once your content and audience are in place.