Google Ads conversion tracking for nonprofits
A one-off donation and a recurring monthly donor are the same conversion to an ad platform and completely different things to your organization — the recurring donor is worth many times more and is the entire economic case for acquisition spend. What Google Ads adds on top of that is a mechanical requirement: gclid, gbraid and wbraid have to reach the record that holds the money, because Google Ads can only credit a conversion it can tie back to a click it recognizes. This page covers both halves — what a conversion is in nonprofits, and what Google Ads specifically needs to accept it.
Free30 minutesNo obligation
Specific to Google Ads × Nonprofits
Google Ads for nonprofits: Grants and paid as separate conversions
For a nonprofit on Google Ads, create two conversion actions: a one-off donation at the gift amount and a recurring donor at modeled lifetime value. Capture gclid, gbraid and wbraid, carry them onto the donation record through the hosted form, and send completed gifts from the donation platform through offline import, or Enhanced Conversions where it supports it.
Most nonprofits on Google run two accounts: an Ad Grants account and a paid one. Grants accounts have to keep working conversion tracking to stay compliant, so a broken donation tag there is an eligibility problem as well as a reporting gap. Build the same two conversion actions in both accounts, give them identical names, and never import one account's conversions into the other. Confirm the current Grants compliance requirements in Google's program pages, because they have tightened more than once.
Search intent here is unusually strong. People type a cause plus "donate" in December, and many of them give once at year end. Set one-off gifts to count every conversion, because a second gift is a second gift. Set the recurring-donor action to count one per click, so a donor who edits their monthly amount isn't recorded as two new donors. When a monthly gift is cancelled inside the 90-day window, send a conversion adjustment to retract or restate it. After that window, reverse it in your own reporting instead.
Google treats some causes as sensitive interest categories for personalized ads, including health conditions, sexual orientation and religious belief. If your cause is one of them, remarketing and Customer Match lists built from your donors may be restricted, and you shouldn't try to rebuild them through conversion data. Send a value and a gift type, never the appeal or the program.
Google Ads · Nonprofits · what breaks
Why Google Ads under-reports for nonprofits
- 01
Recurring and one-off donations counted identically
The monthly donor is worth many times the single gift and bidding cannot tell them apart.
- 02
Gift amount used as the conversion value
For a recurring donor, the first month is a fraction of the real value.
- 03
Donor data handled like ecommerce data
Supporters of some causes have a genuine interest in not being identifiable to an ad platform.
- 04
Gclid, gbraid and wbraid never reaches the record
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Google Ads · Nonprofits · the fix
What working looks like — Google Ads · Nonprofits
Recurring donors as their own conversion
Valued at monthly gift times your own average donor tenure.
One-off gifts valued at the amount
Real, separate, and not confused with recurring value.
Nothing identifying about the cause in the payload
An amount and a type. Nothing about what the donation supports.
Google Ads · Nonprofits · architecture
How Google Ads and nonprofits actually connect
- 1
The conversion in nonprofits
Two money events kept apart: a one-off gift at its amount, and a recurring donor at their expected lifetime value. Treating them as one number is what makes acquisition spend look unjustifiable.
- 2
Google Ads needs a click to match
A click identifier inside the 90-day window, a conversion action name that matches one configured in the account, a conversion timestamp for when the outcome happened, and a value. Read the match rate after uploading — a file can upload perfectly and match nothing.
- 3
The identifier: gclid, gbraid and wbraid
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
- 4
Where it gets sent from
The donation platform — completed donations by date, split one-off and recurring, for the same window.
- 5
Deduplication and window
There's no shared event ID mechanism like Meta's. What matters instead is the counting setting on each conversion action — 'one' for lead-type conversions so a repeat submitter doesn't count three times, 'every' for ecommerce where a second purchase is a second sale. This is the single most common misconfiguration we find in Google Ads accounts. Google's offline import window is 90 days from the click. Anything older can't be matched, and rows outside it fail as unmatched without much explanation. Measure your median click-to-outcome time against that before designing anything.
Google Ads · Nonprofits · events
The conversion map for nonprofits
Five events, and the important distinction is not in the funnel but in the gift type.
| Event | What it means here |
|---|---|
| Appeal page view | Volume signal. |
| Donation started | Form opened, not completed. Useful for finding abandonment. |
| One-off donation completed | Money event, at the gift amount. |
| Recurring donation started | Money event, valued at monthly gift times average tenure. |
| Donor retained past twelve months | Where the value assumption is validated. Reported, not sent. |
Google Ads · Nonprofits · diagnose
Diagnostic order — Google Ads · Nonprofits
- 01
Count records carrying gclid, gbraid and wbraid
- 02
Hosted donation forms on another domain
Most donation platforms host the form. The identifier does not cross the origin boundary on its own.
- 03
Google Ad Grants conversions mixed with paid
Different rules and different constraints. Keep the reporting separate or neither is readable.
- 04
Offline and mailed gifts
Real revenue with no click. Count them separately as unattributable.
- 05
Read the match rate on the upload, not the success message
A conversion action that stops receiving hits is flagged as inactive 30 days later — by which point a month of budget has already run against a missing signal. Check the last-received date on every action monthly; it takes two minutes and it's the cheapest monitoring available.
Google Ads · Nonprofits · prove
How it gets proven — Google Ads · Nonprofits
Source of truth
The donation platform — completed donations by date, split one-off and recurring, for the same window
- Donations reconciled per gift against what each platform reports, split by type.
- Donor tenure calculated from your own history and shown as the value calculation.
- A cancelled recurring gift confirmed to reverse.
- Ad Grants and paid traffic reported separately, always.
- The match rate on the upload, not the success message read directly, not inferred from an upload succeeding.
Google Ads · Nonprofits · free audit
What we check in the free audit
- Count records carrying gclid, gbraid and wbraid
- Hosted donation forms on another domain
- Google Ad Grants conversions mixed with paid
- Offline and mailed gifts
- Read the match rate on the upload, not the success message
Checked against
The donation platform — completed donations by date, split one-off and recurring, for the same window
Free30 minutesNo obligation
Google Ads · Nonprofits · when not to buy
When you don't need this — Google Ads · Nonprofits
- If Google Ads already reports conversions that reconcile against the donation platform within a few percent, this is working and there is nothing to buy.
- Measure identifier coverage yourself first — pull your last hundred records and count how many carry gclid, gbraid and wbraid.
- If you're running Performance Max exclusively and haven't separated your conversion actions, the import will work and the reporting won't tell you much. Worth sorting the account structure first.
Google Ads · Nonprofits · what we deliver
What gets built — Google Ads · Nonprofits
Click identifier captured and persisted
Including across the gap between an appeal and a gift, which can be weeks.
Carried into the donation platform
Onto the donation record, surviving the hosted-form domain hop most platforms impose.
Completed donation fires the conversion
With the amount, the recurring flag and the modeled lifetime value.
Cancelled recurring gifts reversed
Recurring revenue that stops should stop being reported.
Dispatch via Google's offline conversion import
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
Written guarantee
95%+ tracking accuracy
Measured against The donation platform — completed donations by date, split one-off and recurring, for the same window. Miss it and we keep working at no cost.
From $400 · See packages
FAQ
Google Ads · Nonprofits questions, answered
Yes. Grants accounts are expected to have conversion tracking that records meaningful actions, and accounts that don't can be suspended. Check the current Grants policy for the exact requirement before an audit.
Only if the donation platform lets you run the Google tag on its confirmation step or sends hashed donor email server-side. If it does neither, upload completed gifts against the stored gclid through offline import.
Monthly gift multiplied by your average donor tenure in months, from your own history. Using the first month makes recurring acquisition look like a poor investment when it is usually the best one you have, and budget gets cut accordingly.
The measurement is the same; the reporting must be separate. Grants traffic behaves differently and operates under its own account rules, and blending it with paid produces a number that describes neither.
Usually yes. Most donation platforms support a hidden field, a custom parameter or a reference that can carry the identifier across the domain hop. If yours genuinely does not, we will tell you before you commit rather than build something that reports a fraction of your gifts.
Three parameters, not one. gclid is the long-standing identifier; gbraid and wbraid arrive on iOS traffic where privacy constraints prevent the usual one. Capture code that names only gclid loses a growing share, silently, and the loss is invisible until you audit how many records carry an identifier.
Uploaded against the click identifier, either through the Google Ads API or as a file. The upload is the easy part; what limits it is how many of your records carry an identifier at all. Verify the current column format against Google's own template — it has changed before.
By reading the match rate on the upload, not the success message and reconciling against The donation platform — completed donations by date, split one-off and recurring, for the same window. An upload that succeeds is not an upload that matched.
More on Google Ads · Nonprofits
- Enhanced ConversionsEnhanced Conversions enrich the conversions that already fire. First we make sur…
- Google Ads trackingGoogle Ads conversion tracking, rebuilt so Smart Bidding sees real orders and re…
- GTM consultingA tag manager container someone can actually maintain
RELATED GUIDES
More for nonprofits: other angles on the same outcome
- NonprofitsConversion tracking for nonprofits, measured in donor value
- Google Ads · MuseumsGoogle Ads conversion tracking for museums and cultural institutions
- Google Ads · ChurchesGoogle Ads conversion tracking for churches and faith organizations
- Google Ads · Subscription → renewalHow to track subscription to renewal and churn for Google Ads
- Google Ads × SubscriptionsHow to reconcile Google Ads against your billing system
- Bloomerang → Google AdsConnecting Bloomerang to Google Ads
- Google Ads · Food banksGoogle Ads conversion tracking for food banks
- Google Ads · Animal sheltersGoogle Ads conversion tracking for animal shelters and rescues
Free · 30 min
Get Google Ads reporting what nonprofits actually earn
Free30 minutesNo obligation
