A marketing manager launches a membership campaign on Facebook and Instagram, spends real money on it, and a month later can’t say whether any of it sold a single membership. The ads link to the museum’s website, the website hands off to an Altru web form, and somewhere in that handoff the Meta Pixel loses the trail.
Getting a pixel to record purchases on Altru web forms takes more work than pasting a snippet into your website header. Below is what’s actually going on, what to test, and the fallback options when the pixel can’t fire where you need it.
Why the usual install doesn’t reach the form
The Meta Pixel is a piece of JavaScript that runs on a page and reports events (a page view, an add-to-cart, a purchase) back to Meta. It only sees pages it is installed on. Your WordPress or Squarespace site may have the pixel loading on every page, but Altru web forms are served by Blackbaud, not by your website. When a visitor clicks “Buy tickets” or “Join now,” they either leave your domain for a Blackbaud-hosted page, or they see the form inside a frame that loads from Blackbaud’s servers.
Either way, the code on your site can’t see what happens in the form. A pixel on your page can record that someone arrived at your membership page. It can’t record that they finished paying, because the confirmation lives on a page it doesn’t control. Embedding the form in an iframe doesn’t solve this: browsers keep a frame from another domain separate from the page around it, so your site’s pixel stays blind to it.
Step one: find out what your forms allow
Whether you can place tracking code on the Altru side depends on what Blackbaud permits in web form content and confirmation messages for your environment. Web form content areas generally accept some formatted text or HTML, but whether a script tag is kept, stripped, or blocked is something to verify rather than assume. Here is how to check without breaking anything live:
- Use a test form. Copy an existing web form or build a throwaway one, so you aren’t editing the form your visitors are using today.
- Install the Meta Pixel Helper browser extension. It shows which pixel events fire on any page you open.
- Try adding the base pixel code and a Purchase event to the confirmation content, then run a test transaction (a free or comped item works) and watch the Pixel Helper and the Test Events tab in Meta Events Manager.
- If the code is removed on save or never fires, ask Blackbaud support directly whether custom scripts are supported on web forms in your setup. Get the answer in writing; it decides which of the options below you’ll use.
Even if the script does run, check the event value. A pixel that fires “Purchase” with no amount tells you that something sold, not what it was worth, which matters when you compare campaigns.
If you can’t put the pixel on the form
You still have useful options. None is as clean as a confirmed purchase event, but combined they give you a defensible picture.
Track intent on your own site
Fire a custom event when someone clicks the button that sends them to the form, for example “InitiateCheckout” on your “Become a member” button. Ad platforms can optimize toward that event, and it at least separates people who browsed from people who tried to buy. Just don’t report clicks to leadership as sales.
Tag your links and read the results in Altru
Put a distinct source code or appeal on each campaign’s landing path where your form setup allows it, or use separate forms for paid social traffic. Then a query on revenue by form, source, or date range lets you compare ad spend against what came in. It’s coarse, but it’s grounded in actual Altru revenue.
Upload conversions after the fact
Meta accepts offline or server-side conversion data: a list of purchases with hashed email or phone, a timestamp, and a value, which it matches against people who saw your ads. You can build an Altru query of web transactions, export it, and upload it in Events Manager on a regular schedule. Review Meta’s current requirements for this before you start, since the upload options have changed over the years, and check your privacy policy covers sharing hashed customer data with ad platforms.
Expect gaps either way
Even with a working pixel, numbers won’t match your Altru revenue exactly. Ad blockers, browser privacy settings, and people who see an ad on their phone and buy later on a laptop all fall through. Treat the pixel as a trend indicator and your Altru revenue as the figure you report. If the two drift far apart, that’s a sign your setup changed, not that your campaign doubled overnight.
A few housekeeping items worth doing regardless:
- Never pass names, emails, or order details in URL parameters to make tracking easier. They end up in browser history and analytics logs.
- Keep one owner for the pixel ID and event names, so a vendor or volunteer doesn’t install a second pixel that double-counts.
- Make sure your cookie and consent banner (if you use one) covers the pages where the pixel loads.
When the form itself is the limit
For some organizations, tracking is one of several frustrations with how much of the purchase experience happens outside their control. Social Good’s Checkouts replaces Altru web forms with a branded, mobile-friendly checkout for tickets, memberships, and donations, with the transactions written back to Altru. If conversion tracking is part of why you’re looking at it, ask us how tracking would work with your specific ad and analytics setup before you decide.
Quick answers
Can I just put the pixel on the page that embeds the Altru form?
You can, and it will record visits to that page. It won’t see the purchase inside the embedded form, because the frame loads from a different domain.
Does Google Analytics have the same problem?
Yes. Any tag that runs on your site faces the same boundary. The testing and fallback steps above apply to Google Analytics and other ad platforms as well.



