> ## Documentation Index
> Fetch the complete documentation index at: https://orgo.space/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Donations

> Run fundraising campaigns with public pages, donation goals, A/B testing, donor comments, and embeddable widgets

The Donations module turns your organization into a fundraising platform. Create campaigns with public pages, track progress toward goals, collect donor messages, and embed donation widgets on any website — all backed by Stripe.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-public-page.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=ed766847a7c12c0b78877aef386f5fd8" alt="Public donation page showing hero image, 67% progress bar toward $35,000 goal, 30 donations totaling $23,650, campaign description" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-public-page.png" />

***

## Donations vs. fees

| Use **Donations** when                    | Use **[Fees](/platform/fees/fees)** when |
| ----------------------------------------- | ---------------------------------------- |
| Contributions are voluntary               | Payment is required for membership       |
| Amount is flexible (donor chooses)        | Amount is fixed per tier                 |
| Open to the public (non-members too)      | Only for existing members                |
| Goal-based (raise \$35,000 for a project) | Period-based (annual dues)               |
| Tax-deductible charitable giving          | Membership subscription                  |

Many organizations use both: fees for membership dues, donations for fundraising on top.

***

## Creating a donation campaign

**Finance** → **Products** → **Create Product** → type: **Donation**

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/product-create.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=81c9846f30fa8284b38f1d872f8f06cf" alt="Create Product form showing Donation type selected, title field, Recurring and One-off frequency options, custom amount toggle with min/max, and campaign goal settings" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/product-create.png" />

<Steps>
  <Step title="Choose Donation type">
    Select **Donation** as the product type. This unlocks campaign features like goals, public pages, donor comments, and widgets.
  </Step>

  <Step title="Name and frequency">
    Give the campaign a title. Choose **Recurring** (monthly subscription), **One-off** (single payment), or both.
  </Step>

  <Step title="Custom amounts">
    Toggle on **Custom amount** to let donors enter any value. Set optional minimum and maximum to keep it reasonable.
  </Step>

  <Step title="Set a goal">
    Choose **Total goal** or **Monthly goal** and enter a target amount. The public page shows a live progress bar.
  </Step>

  <Step title="Save and configure">
    After saving, the product detail page opens with tabs for **Prices & Options**, **Landing page**, **Widgets**, and **Stats**.
  </Step>
</Steps>

***

## Prices & options

Each donation campaign can have preset price tiers and product options. The **Prices & Options** tab manages both.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-product-detail.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=899e1bb4c6429922a553f33f220df14e" alt="Donation product detail showing Prices & Options tab with seven tiers from Starter $10 to Legacy $1,000, A/B Testing toggle enabled, and Product options panel" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-product-detail.png" />

### Price tiers

Create suggested donation amounts that appear as quick-select buttons on the public page:

| Tier       | Amount       | Purpose                        |
| ---------- | ------------ | ------------------------------ |
| Starter    | \$10         | Low-barrier entry              |
| Friend     | \$25         | Entry-level giving             |
| Supporter  | \$50         | Mid-range contribution         |
| Champion   | \$100        | Major donor level              |
| Patron     | \$250        | Sustainer                      |
| Benefactor | \$500        | Leadership giving              |
| Legacy     | \$1,000      | Top-tier gift                  |
| Custom     | Donor enters | For any amount outside presets |

One tier is marked as the **Default price** — it's pre-selected when the page loads. You can also enable **custom price value** so donors can type any amount (with optional min/max).

### A/B testing

Toggle **Pricing A/B Testing** to experiment with different price tier configurations. Each variation shows a different set of preset amounts to donors, and Orgo tracks performance metrics per variation so you can see what works.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-ab-testing.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=815e9886af756b8abcf9eb975d13037a" alt="A/B Testing section showing two enabled variations — Variation A with lower tiers ($10, $25, $50, $100) showing 18 transactions and $592 average, and Variation B with higher tiers ($50, $100, $250, $500) showing 12 transactions and $1,083 average" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="3600" data-path="images/platform/fees/donation-ab-testing.png" />

Each variation tracks:

* **Total revenue** collected through that variation
* **Average donation** amount
* **Transaction count** (number of completed donations)

In this example, Variation A (lower tiers) drives more conversions (18 vs. 12), while Variation B (higher tiers) produces a higher average donation ($1,083 vs. $592). Use these insights to optimize your pricing strategy.

### Product options

Add optional choices for donors — like designating their gift to a specific program, selecting a thank-you gift tier, or choosing which project to support.

***

## Landing page

The **Landing page** tab controls how your public donation page looks and feels. A live preview updates as you make changes.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-landing-page-tab.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=9612ea104a337586eb75bb531a2182ba" alt="Landing page configuration with hero media upload, YouTube video URL field, appearance settings for logo and title display, color pickers, and live preview showing the public donation page" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-landing-page-tab.png" />

### Hero media

| Setting        | What it does                                                                   |
| -------------- | ------------------------------------------------------------------------------ |
| **Hero image** | Upload a campaign photo — displayed full-width at the top of the donation page |
| **Hero video** | Paste a YouTube URL to embed a video above the donation form                   |

### Appearance

| Setting                       | What it controls                                           |
| ----------------------------- | ---------------------------------------------------------- |
| **Display organization logo** | Show/hide your org logo at the top of the page             |
| **Display title**             | Show/hide the campaign name                                |
| **Selection color**           | Accent color for selected amounts and interactive elements |
| **Button color**              | Color of the donate button                                 |
| **Light theme only**          | Force light mode regardless of visitor's device settings   |

### Campaign content

Write a compelling description explaining what the money funds and why it matters. The description supports rich text and appears below the hero section. You can also set a custom **thank you message** shown after a successful donation.

<Tip>
  Use the live preview on the right to see exactly how donors will experience the page. Every change you make updates the preview in real time.
</Tip>

***

## The public donation page

Each campaign gets a shareable URL. Enable **External** visibility to let anyone donate — no login required.

The public page combines everything you've configured:

* **Hero image or video** at the top
* **Progress bar** showing amount raised vs. goal
* **Donation count** and total raised
* **Campaign description** with your story
* **Price tier buttons** for quick selection
* **Custom amount** input (if enabled)
* **One-time or monthly** toggle
* **Donor comments** section (if enabled)
* **Recent and top donors** (if enabled)
* **Payment form** powered by Stripe

### Donor experience

1. Donor opens the campaign link
2. Selects a preset amount or enters a custom one
3. Chooses one-time or monthly
4. Enters name, email, and optionally a message
5. Pays via Stripe (cards, Apple Pay, Google Pay, bank transfers)
6. Sees your custom thank-you message
7. Receives a confirmation email

### Confidentiality

Enable **confidentiality** to let donors give anonymously. Their name won't appear on the public donor list — it shows as "Anonymous" instead.

### Local center selection

Enable **local center option** to let donors choose which branch or chapter receives their gift. This is useful for federated organizations where donors want to support their local unit.

***

## Donor comments (words of support)

When the **comment section** is enabled, donors can leave a message with their gift. These messages create powerful social proof on your public page.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-comments.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=698499fbc617cb2e64f8b06e75bd471f" alt="Donor comments management showing a list of approved messages with donor names, amounts, dates, and comment text like 'Matching gift from Johnson & Associates. Investing in youth!' and 'Thank you for making the world a better place.'" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-comments.png" />

### Moderation workflow

All donor comments go through moderation before appearing publicly:

| Status       | What it means                       |
| ------------ | ----------------------------------- |
| **Pending**  | New comment waiting for review      |
| **Approved** | Visible on the public donation page |
| **Rejected** | Hidden from public view             |

Filter comments by status and use the **Refresh** button to check for new ones. Approved comments appear on the public page with the donor's name (or "Anonymous") and their message.

***

## Donation widgets

Embed donation forms directly on your website or any external page. The **Widgets** tab lets you create and manage embeddable donation widgets.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-widgets-tab.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=1063990a43152017192eb222ad7197f6" alt="Widgets tab showing two donation widgets — 'Donation Page' (Embed type, 15 total donations, $11,325) and 'Quick Donate' (Popup type, 15 total donations, $12,325) — each with one-time and recurring breakdowns" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-widgets-tab.png" />

### Widget types

<CardGroup cols={2}>
  <Card title="Embed" icon="code">
    A full donation form that renders inline on your page. Visitors fill out the form without leaving your website.
  </Card>

  <Card title="Popup" icon="window-maximize">
    A floating button that opens a donation modal on click. Less intrusive — ideal for sidebars, footers, or blog posts.
  </Card>
</CardGroup>

### Widget configuration

Each widget has its own set of options:

| Setting                                | What it controls                                                        |
| -------------------------------------- | ----------------------------------------------------------------------- |
| **Preset amounts**                     | Quick-select amounts for one-time and monthly (e.g., $5, $10, $25, $50) |
| **Default donation type**              | Pre-select "once" or "monthly"                                          |
| **Button text & colors**               | Customize the CTA button appearance                                     |
| **Primary / background / text colors** | Full color theming                                                      |
| **Position**                           | For popup widgets: bottom-right, bottom-left, top-right, or top-left    |
| **Language**                           | Widget language (English, German, French, Spanish, Italian, Romanian)   |
| **Show monthly upsell**                | Prompt one-time donors to consider monthly giving                       |
| **Require address**                    | Collect full address from donors                                        |

### Widget analytics

Each widget tracks its own performance:

* **Total** donations and revenue
* **One-time** donations and revenue
* **Recurring** subscriptions and revenue

This lets you compare which widget placement drives the most donations.

### Embedding on your site

Click **Configure Widget** to get the embed code. Paste it into your website's HTML — the widget handles everything from amount selection to Stripe checkout.

***

## Goal tracking

Set a fundraising target and donors see a live progress bar on the public page.

| Setting          | What it does                             |
| ---------------- | ---------------------------------------- |
| **Total goal**   | Target for cumulative one-time donations |
| **Monthly goal** | Target for recurring monthly revenue     |
| **Goal value**   | The dollar amount to reach               |

The progress bar shows:

* Amount raised vs. goal (e.g., "$23,650 of $35,000")
* Number of donations
* Percentage complete with visual fill

When you hit 100%, the bar fills completely — but donations don't stop. Donors can still give beyond the goal.

<Tip>
  Set a realistic goal you can achieve. An 80%-funded campaign creates urgency ("almost there!"). A 5%-funded campaign feels discouraging. If you exceed your goal, celebrate publicly and consider a stretch goal.
</Tip>

***

## Payments & tracking

The **Payments** view shows every donation with full details.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-payments.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=b7d422fda69ea4f71402059909c8d43a" alt="Donation payments list showing 30 payments with donor names, local center affiliations, amounts ranging from $100 to $5,000, payment dates, and one-time/recurring type indicators" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-payments.png" />

Filter by date range, amount, donor name, payment type (one-time vs. recurring), or local center.

### Stats

The **Stats** tab shows donation trends over time with a payments chart and all-time totals.

<img src="https://mintcdn.com/orgo-dc7abe63/XwRe9SnuyKTSX-fw/images/platform/fees/donation-stats-tab.png?fit=max&auto=format&n=XwRe9SnuyKTSX-fw&q=85&s=5a4f5b602629f3c0333eefa068d82129" alt="Stats tab showing payment amount chart over last 90 days with trend line and moving average, and all-time stats summary" style={{ width: "100%", borderRadius: "8px", border: "1px solid var(--border-color)", marginBottom: "1rem" }} width="3840" height="2160" data-path="images/platform/fees/donation-stats-tab.png" />

### Export

Export donation data as CSV for:

* Accounting and bookkeeping
* Tax receipt generation
* Donor acknowledgment letters
* Grant reporting

***

## Covering processing fees

Donors can optionally cover Stripe's processing fees so 100% of their intended amount goes to your organization. When enabled, the checkout shows the fee amount and lets the donor add it to their total.

Processing fee formula: **(amount x 2.9%) + fixed fee** (varies by currency).

***

## Supported currencies

Donations support 19 currencies:

USD, EUR, GBP, CAD, AUD, CHF, DKK, NOK, SEK, PLN, CZK, HUF, BGN, RON, HRK, JPY, MXN, SGD, HKD

The currency is set per product and determines the payment processing.

***

## Common scenarios

<AccordionGroup>
  <Accordion title="I want to run a time-limited fundraiser">
    Create the donation product, set a **max date** (expiry), share the URL, and promote it. When the date passes, the page stops accepting donations. Combine with a goal to create urgency.
  </Accordion>

  <Accordion title="How do I encourage monthly giving over one-time?">
    Enable both options but set the **default donation type** to "monthly" in your widget settings. Use lower suggested amounts for monthly ($10, $25, $50) vs. one-time ($50, $100, $250). Enable the **monthly upsell** feature to prompt one-time donors to consider recurring.
  </Accordion>

  <Accordion title="I want to embed donations on our existing website">
    Create a donation **widget** (embed or popup type) from the Widgets tab. Copy the embed code and paste it into your site's HTML. The widget handles the entire checkout flow. Track performance per widget to see which placements work best.
  </Accordion>

  <Accordion title="A donor wants a refund">
    Find the donation in the payments list and process a refund through Stripe. The refund returns to the donor's original payment method.
  </Accordion>

  <Accordion title="Can I accept donations without Stripe?">
    The public donation page and widgets require Stripe for online checkout. For offline donations (cash, check, wire transfer), record them manually in the payments module.
  </Accordion>

  <Accordion title="How do I moderate donor comments?">
    Go to the donation product's comments view. All new comments start as **Pending**. Review each one and approve or reject. Only approved comments appear on the public page. Use the filter to quickly find pending comments.
  </Accordion>

  <Accordion title="I want donors to support specific local branches">
    Enable **local center option** on the donation product. The public page and widgets will show a dropdown where donors select which branch receives their gift.
  </Accordion>
</AccordionGroup>

***

## Related

* [Products](/platform/fees/products) — Product types, pricing, and payment settings
* [Stripe Integration](/platform/fees/stripe-integration) — Connecting payment processing
* [Membership Fees](/platform/fees/fees) — For required (non-voluntary) payments
* [Local Center Fees](/platform/local-group-fees/create-local-fees) — Branch-level fee collection
