Enable Feathr Integration
Feathr is a nonprofit-focused marketing platform that enables ad retargeting across the web and social media. When a donor visits your BetterUnite donation, event registration, or campaign page but doesn't complete a transaction, Feathr can show them targeted ads to bring them back to finish the gift or registration.
BetterUnite has implemented Feathr's most advanced tracking tier — GTM + DataLayer integration — which passes donor and transaction data directly from BetterUnite into Google Tag Manager rather than scraping values from the page HTML. This makes tracking reliable, donor-data-rich, and resilient to any future changes in page layout.
How It Works
When a supporter completes a transaction on a BetterUnite page (donation, event registration, membership, auction checkout, etc.), BetterUnite pushes structured data directly into the Google Tag Manager (GTM) DataLayer. Feathr reads that data through GTM and records the conversion, identifies the supporter, and updates audience lists accordingly.
This approach is:
- HTML-independent — tracking does not rely on scraping page elements, so BetterUnite UI updates never break your tracking
- Donor-aware — supporter name, email, and campaign details are passed directly to Feathr for advanced audience segmentation
- Scalable — one DataLayer push can feed multiple Feathr tags and other analytics tools simultaneously
Prerequisites
Before Feathr tracking can go live on your BetterUnite pages, the following must be in place:
- An active Feathr account with your Organization ID and Conversion Pixel ID
- Google Tag Manager installed on your BetterUnite pages (settings->profile)
- GTM configured to allow Custom HTML tags
- If your site uses a Content Security Policy (CSP), Feathr domains must be added to your allowlist
- GTM DataLayer Variables created for each BetterUnite data field (see below)
BetterUnite DataLayer Events
page_view
Fired on every BetterUnite campaign page load. Use this event to trigger audience-building tags and to provide Feathr with page context.
window.dataLayer.push({ event: "page_view", page_url: window.location.href, page_path: window.location.pathname, page_title: document.title, campaign_type: "Online Donation" // e.g. Online Donation, Event, Membership, Auction });
purchase_confirmation
Fired after a supporter successfully completes a transaction. This is the primary event for Feathr conversion tracking.
window.dataLayer.push({ event: "purchase_confirmation", transaction_id: "12345", payment_amount: 250, payment_method: "Credit Card", // e.g. Credit Card, ACH, Check, Stock, Crypto recurring: false, campaign_id: "abc123", campaign_name: "Spring Annual Fund" });GTM DataLayer Variables
In your GTM container, create a DataLayer Variable for each field. Recommended variable names:
| GTM Variable Name | DataLayer Key | Event |
|---|---|---|
| BetterUnite - Page URL | page_url | page_view |
| BetterUnite - Page Path | page_path | page_view |
| BetterUnite - Page Title | page_title | page_view |
| BetterUnite - Campaign Type | campaign_type | page_view |
| BetterUnite - Transaction ID | transaction_id | purchase_confirmation |
| BetterUnite - Payment Amount | payment_amount | purchase_confirmation |
| BetterUnite - Payment Method | payment_method | purchase_confirmation |
| BetterUnite - Recurring | recurring | purchase_confirmation |
| BetterUnite - Campaign ID | campaign_id | purchase_confirmation |
| BetterUnite - Campaign Name | campaign_name | purchase_confirmation |
Feathr GTM Tags
Conversion Tag (triggered by purchase_confirmation)
Create a Custom HTML tag in GTM triggered by the purchase_confirmation event. This records the completed transaction in Feathr:
(function () { feathr( "convert", "YOUR_FEATHR_CONVERSION_PIXEL_ID", { amount: , currency: "USD", category: , }, { TRANSACTION_ID: , RECURRING: 0, TITLE: , PAYMENT_METHOD: , } ); })();
Audience Tag (triggered by page_view)
Create a second Custom HTML tag triggered by the page_view event to build retargeting audiences based on which campaign pages a visitor viewed:
(function () { feathr("sprinkle", "page_view", { page_url: , campaign_type: , }); })();
Replace YOUR_FEATHR_CONVERSION_PIXEL_ID with the pixel ID from your Feathr account dashboard.
Privacy & Compliance
The GTM + DataLayer integration passes transaction details to Feathr. Before going live, review the following resources and confirm your donor-facing privacy policy discloses the use of third-party marketing tools:
Additional Resources
For help configuring Feathr tracking on your BetterUnite account, contact the BetterUnite support team. For questions about your Feathr pixel IDs or campaign setup, reach out to your Feathr account manager.