XooCode(){

DonateAction

DonateAction is a TransferAction subtype for providing goods, services, or money without compensation, typically for philanthropic reasons. It is the standard verb in gift-receipt email markup and charity-platform activity streams.

Full example of schema.org/DonateAction json-ld markup

The markup is verified as valid with Rich Results Test from Google.

Highlight legend:Required by GoogleRecommendedOptional
schema.org/DonateAction
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "DonateAction",
  "name": "Annual gift to Læger uden Grænser",
  "agent": { "@type": "Person", "name": "Jane Xoo" },
  "recipient": {
    "@type": "Organization",
    "name": "Læger uden Grænser (Médecins Sans Frontières Danmark)",
    "nonprofitStatus": "https://schema.org/NonprofitSBBI",
    "url": "https://msf.dk"
  },
  "price": "2500.00",
  "priceCurrency": "DKK",
  "startTime": "2026-01-12T09:47:00+01:00",
  "actionStatus": "https://schema.org/CompletedActionStatus",
  "url": "https://msf.dk/receipts/2026-0147-jx"
}
</script>

Direct properties (4)

  • price: Number or Text — simple amount. Pair with priceCurrency.
  • priceCurrency: Text — ISO 4217 ("USD", "EUR", "DKK").
  • priceSpecification: PriceSpecification — for recurring or conditional donations.
  • recipient: Audience, ContactPoint, Organization, or Person — the donee. Usually a nonprofit Organization.

Use agent (inherited) for the donor and recipient for the recipient charity. Attach the receipt email or confirmation page via url.

Minimal valid version

The smallest markup that still produces a valid DonateAction entity. Use it as the floor. Reach for the advanced example above when you want search engines and AI agents to understand more about your content.

schema.org/DonateAction (minimal)
<script type="application/ld+json">
{
  "@context": "https://schema.org",
  "@type": "DonateAction",
  "agent": { "@type": "Person", "name": "Donor" },
  "recipient": { "@type": "Organization", "name": "Example Charity" },
  "price": "100.00",
  "priceCurrency": "USD"
}
</script>

Google rich results this unlocks

Markup matching this example makes your page eligible for the following Google Search rich results. The primary target drives the required / recommended property classification in the advanced code block above.

  • No dedicated rich result (Gmail donation receipt markup / activity streams)
    Google docs

Common DonateAction mistakes

Mistakes that pass validation but silently fail to earn rich results or mislead consumers walking the graph. Avoid these and your markup will be ahead of most sites in the wild.

  1. 01

    price without priceCurrency

    Wrong
    "price": "2500.00"
    Right
    "price": "2500.00", "priceCurrency": "DKK"

    Currency is not inferable from the donor's locale in structured data; always pair price with priceCurrency.

  2. 02

    recipient as a string

    Wrong
    "recipient": "MSF"
    Right
    Organization node with name + url (and ideally nonprofitStatus)

    A charity name as a bare string can't be resolved to an entity; wrap it in Organization with a URL so consumers can link to the donee.

  3. 03

    Using priceSpecification for one-off amounts

    Wrong
    PriceSpecification wrapping a single price value
    Right
    price + priceCurrency for one-offs, priceSpecification only for recurring (UnitPriceSpecification with unitCode MON) or conditional gifts

    PriceSpecification is load-bearing for tiered or recurring donations. For a flat gift, bare price + priceCurrency is enough.

About the example data

Jane Xoo's 2026 annual gift to Læger uden Grænser (MSF Denmark) — DKK 2,500, processed through the donation gateway her estate uses.

Comments

Loading comments...

Leave a comment