How to add a donation page to any website builder

Keep your main site where it is and put donations on a small WordPress site at a subdomain such as give.yourdomain.org, linked from your menu.

Short answerLeave your main website on its builder. Set up a small WordPress site at a subdomain such as give.yourdomain.org, install Donor Merchant there, and add a "Donate" link to your main site's menu and buttons. Donors move from one to the other with the same domain, logo and colors. You get donor records, recurring gifts and receipts that most website builders do not offer.

Why use a separate donation page?

Website builders such as Squarespace, Wix, Webflow, Shopify, Ghost, Carrd and Google Sites run their own software, so a WordPress plugin like Donor Merchant cannot be installed on them. Some builders have a donation block or a tip link, and for simple giving that is often enough. What they rarely do is keep a donor database, send tax receipts and annual statements, or give donors a portal with their giving history.

The pattern in this guide keeps both. Your main site stays where your team knows how to edit it. Donations happen on a page built for them, at an address on your own domain.

What does the setup look like?

  • yourdomain.org is your existing site, on any builder.
  • give.yourdomain.org is a small WordPress site with one main page, "Donate", running Donor Merchant. It can also hold a thank-you page and the donor portal page.
  • The "Donate" item in your main menu, and every Donate button, link to https://give.yourdomain.org/donate/.

The two sites share a domain, not software. You can connect the same Stripe or PayPal account your builder already uses.

How do I set up the subdomain?

A subdomain is the part before your domain name, like give in give.yourdomain.org. Creating one means adding one line, called a DNS record, wherever your domain's settings live. Your main site is not affected.

  1. Get WordPress hosting. Any host that runs current WordPress with HTTPS will do. Donor Merchant needs WordPress 6.2 or newer and PHP 7.4 or newer. Tell the host you want to use give.yourdomain.org. In the host's control panel, add it as a new site or subdomain.
  2. Note what the host tells you to point at it. It will be one of two things: an IP address (a number like 203.0.113.10), which goes in an A record, or a hostname (like yoursite.examplehost.com), which goes in a CNAME record.
  3. Find where your domain's DNS is managed. It is usually where you bought the domain. If you bought it through your website builder, the DNS settings are inside the builder. For example, Shopify's are under Settings > Domains, then your domain, then Manage in DNS settings. If you are unsure, your registrar's or builder's help center will say.
  4. Add the record. Set the name or host to give, the type to A or CNAME, and the value to what your host gave you. Leave the existing records for your main site (often named @ and www) alone.
  5. Wait, then turn on HTTPS. DNS changes can take a while to spread; Google, for example, says up to 48 hours for its custom domains. Once the subdomain loads, turn on the host's free certificate. Most hosts issue one through Let's Encrypt with a single click.
  6. Install WordPress and Donor Merchant. In WordPress, go to Plugins > Add New, search for "Donor Merchant", install and activate it, then connect Stripe or PayPal with Getting started.
  7. Create the Donate page. Add the Donation Form block, or paste [donor_merchant]. For a campaign, use [donor_merchant campaign="3"] and add a goal thermometer with [donor_merchant_progress campaign="3"]. Settings > Shortcodes lists your campaign IDs.
  8. Finish the gateway setup. For Apple Pay, register give.yourdomain.org with Stripe using the button under Settings > Payments > Stripe. For recurring gifts, set up webhooks so each renewal is recorded.

Should I link to the donation page or embed it?

Link to it. Many builders let you paste an iframe, which shows another page inside yours, and it is tempting to put the form there. Payment forms are the hardest thing to frame:

  • Apple Pay. Stripe's documentation says a payment form inside an iframe must have the same origin as the page around it, except in Safari 17 and later when the iframe has the allow="payment" attribute. When the domains differ, both must be registered as payment method domains on your Stripe account. Check whether your builder lets you add that attribute; we have not tested each one.
  • PayPal. PayPal's checkout opens in a popup window. A frame that does not allow popups can block it, and PayPal documents its own sandboxed-iframe setup as needing "more complex setup and maintenance than other PayPal integrations".
  • Cookies. Safari blocks third-party cookies by default, and other browsers limit them too. Payment scripts that use cookies may behave differently inside a frame from another domain.

A link has none of these problems, works in emails and social posts, and gives donors a full-width page on their phones. We do not promise that an embedded Donor Merchant form will work inside any builder.

How do I keep the branding consistent?

Donors should not feel they have left your site. A few settings get you most of the way:

  • Colors. Find your main site's button or accent color as a hex code (like #1950d1) in your builder's theme or design settings. In Donor Merchant, go to Settings > Forms > Form style, choose Custom color and enter it. The live preview shows the result. Pick the button shape (pill, rounded or sharp) closest to your main site's buttons.
  • Logo and theme. Use a simple WordPress block theme. In Appearance > Editor, set the site logo, the same fonts if your theme offers them, and a header with a link back to your main site.
  • Wording. If your organization says "give" or "gift" rather than "donate", Donor Merchant can change the words donors see on the form, receipts and emails.
  • Thank-you page. Set one under Settings > General and link from it back to your main site.
  • Same address style. Keep give.yourdomain.org rather than a host's default address, so donors see your name in the address bar on the payment page.

What do you gain over a builder's donation block?

Records. Every gift is stored with the donor: giving history, campaign, designation and payment method. You can export to CSV, sync donors to Mailchimp, and send each donation to other systems with outgoing webhooks. Checks and bank transfers can be recorded next to online gifts.

Recurring gifts. Weekly, every two weeks, monthly, quarterly or yearly, on Stripe or PayPal. A donor portal lets donors sign in with an emailed link to see their history, and for Stripe gifts, update their card or cancel without contacting you.

Receipts. A printable receipt for every gift, with your address, tax ID and a statement you write (in the US, a gift of $250 or more needs a written acknowledgment stating whether goods or services were provided), plus annual giving statements. UK charities taking gifts in pounds get Gift Aid declarations and a claim file in HMRC's column format; you still submit the claim to HMRC.

The rest. Cards, Apple Pay, Google Pay, Link, US bank debit and PayPal on one form; optional fee recovery; campaigns with goal thermometers; tributes and an employer matching question.

Every Donor Merchant feature is free. Your costs are WordPress hosting and the processor's fees. Paid Donor Merchant plans are support only.

Is this worth it for a small organization?

If a builder's own donation option already does what you need, keep it. A second site is one more thing to update. The subdomain pattern pays off once you need to answer a donor's "can you send me last year's receipts?", track monthly donors, or reconcile gifts with your books. Moving later is possible too: see keeping donor history when you switch.

Checked against the documentation of the builders, registrars and payment services named here in October 2026. Their menus change; if a label differs, look for the equivalent setting.

Sources

Get Donor Merchant

Free from WordPress.org, with recurring giving included.

Download Donor Merchant free Or try the demo first.