For digital fundraisers, the analytics data behind your campaigns is super important for helping you and your cause track campaign performance and make decisions for future investment. Historically, getting the performance data into Google Analytics ecommerce tracking or to other tracking tools like Facebook and Instagram’s Meta tracking pixel or your TikTok pixel has been a bit tricky. Blackbaud products tend to make things even trickier.
We’ve worked with Blackbaud’s Online Express (OLX) system for years and helped 100s of charities set up their ecommerce tracking; however, Blackbaud’s newer CRM and payment system (NXT) introduced even more complexities. We’ve managed to solve the challenges and get that juicy data into your preferred tracking pixel.
Why tracking is important and some common challenges
When it comes to donation tracking, precision isn’t a “nice to have” – it’s the whole ballgame. A dodgy conversion report doesn’t just look ugly in a dashboard; it actively steers your ad spend in the wrong direction. Google Ads and Meta lean on conversion data to decide where your budget goes. Feed them inflated or messy numbers, and your media spend chases ghosts instead of actual donors.
For nonprofits using Blackbaud donation forms, third-party tracking tools like SmartTrack have long been the path of least resistance to getting donation data into the ad platforms. But “easy” often comes with strings attached – and we’ve seen those strings tangle more than a few campaigns.
Need help setting up donation form tracking?
The Digi Ninjas team have helped 100s of non-profits configure their donation tracking so you can have confidence in your data and reporting dashboards.
The usual suspects we see
- Duplicate transaction IDs – same donation, different revenue values
- Currency pile-ups – one donation recorded twice, once in USD, once in AUD (hello, inflated revenue)
- Donations defaulting to the wrong currency, no matter what the donor actually used
- A big chunk of conversions firing with zero value attached
These aren’t one-off glitches. They’re baked into how most third-party integrations handle the handoff between an external donation platform and your own website. Yep – you’re paying a monthly fee for data that’s quietly leading your campaigns astray.
Why Blackbaud makes tracking tricky in the first place
To get why standard setups fall over here, it helps to peek under the bonnet. Blackbaud donation forms don’t actually live on your website – they load on an external Blackbaud domain, or get tucked inside an iframe. That creates three big headaches for anyone trying to track conversions through Google Tag Manager:
- Your main GTM container doesn’t fire inside the Blackbaud environment
- Content Security Policy restrictions block external scripts from running on the form
- There’s no reliable access to the data layer at the exact moment the confirmation happens
Translation: you’ve got a tracking blind spot at the single most important moment in the donor journey – the donation itself. Not ideal.
Our fix: two containers, one clean handoff
Rather than fighting Blackbaud’s setup (spoiler: you won’t win), our approach works with it. The trick is splitting the job in two – one GTM container lives inside the Blackbaud form, and another runs on the main website. The two talk to each other using a secure cross-origin messaging setup, passing transaction data from the external form back to your own domain, where you’ve actually got full tracking control.
How the data flows
- Donation completes inside the Blackbaud form
- Data gets sent to the parent website
- Data is stored temporarily
- Data is pushed into the data layer
- GA4 and Meta tags fire once – and only once
- Data is cleaned up
What this actually fixes
Unlike a third-party plugin sitting in the middle, this setup goes after the root causes of bad data instead of papering over them. It also drops the ongoing subscription cost – because why pay monthly for data you can’t trust?
Currency gets captured correctly at the source. Each donation fires once, with the right value attached. And because everything sits inside infrastructure you already own, there are no black-box scripts, no vendor lock-in, and no recurring bill for the privilege of unreliable data.
The upshot is pretty simple: your GA4 conversion data actually reflects real donation volume, your campaign ROAS figures become something you can trust, and your ad budgets start optimising toward genuine donors rather than phantom ones. Less wasted spend, more of your budget pulling its weight.
For nonprofits where every dollar has a job to do, this type of tracking can be the difference between failure and success.
Don't fly blind with your donation tracking – talk to a Ninja today.
The Ninjas are ready and waiting to help you with your tracking questions.








