Charitable Documentation

Learn how to make the most of Charitable with clear, step-by-step instructions.

How to Use Conversion Tracking in Charitable

Conversion Tracking sends native Meta Pixel, TikTok Pixel, and Google Tag Manager dataLayer events from your campaign pages, donation forms, and receipt pages. Every event carries full donation context, including amount, currency, campaign name, donation type, and payment method, so your ad platforms can optimize spend based on real fundraising outcomes.

Available with Charitable Pro 1.8.13.5+ or later on Pro, Agency, and Elite license plans.

Key Features

  • Fire Meta Pixel Purchase and Donate events on every confirmed donation
  • Fire TikTok Pixel CompletePayment events with full donation value and currency
  • Push rich donation data to window.dataLayer for Google Tag Manager and GA4
  • Track campaign page views and donation form opens as top-of-funnel events
  • Include donation amount, currency, campaign name, donation type, and payment method in every conversion
  • Respect visitor consent via the WP Consent API, with a filter hook for custom consent managers
  • Prevent duplicate conversions on receipt page refreshes using tab-scoped session tracking
  • Review tracking status for every donation inside the WordPress admin

Why Use Conversion Tracking?

Nonprofits running paid ads on Meta, TikTok, or through Google Tag Manager need accurate conversion attribution to optimize ad spend and prove ROI. Generic pixel plugins fire empty events that only tell the ad platform a “conversion” happened. Charitable Conversion Tracking sends the donation amount, currency, and campaign context that Meta and TikTok algorithms actually use to find more donors who will give. Your acquisition cost per donor drops. Your campaigns learn faster.

Requirements

  • Charitable Pro 1.8.13 or later
  • A Charitable Pro, Agency, or Elite license plan
  • WordPress 5.0 or later
  • PHP 7.2 or later
  • Optional: WP Consent API and a compatible consent management plugin, if you want pixels gated by visitor consent

Getting Started

Activation

  1. Download the Conversion Tracking addon from your Charitable account dashboard.
  2. In WordPress, go to Plugins > Add New > Upload Plugin and upload the ZIP file.
  3. Activate Charitable – Conversion Tracking.
  4. Go to Charitable > Settings > Advanced > Conversion Tracking to enter your pixel IDs.

Enter Your Pixel IDs

Each platform has a single ID field. Leaving a field empty disables that platform. No separate on/off toggle is needed.

Usage

Conversion Tracking runs automatically once pixel IDs are entered. There is no block or shortcode to place. The addon listens on three moments across your site:

  • Campaign page view. Fires when a visitor loads a single campaign page.
  • Donation form rendered. Fires when a donation form is displayed on any page.
  • Donation confirmed. Fires on the receipt page after a successful donation, for all gateways including Stripe, PayPal, Square, Braintree, Mollie, and Offline.

Configuration Options

Platform IDs

ParameterTypeDefaultDescription
meta_pixel_idstringemptyYour 15-digit Meta Pixel ID. Example: 123456789012345
tiktok_pixel_idstringemptyYour TikTok Pixel ID. Example: CXXXXXXXXXXXXXXX
gtm_container_idstringemptyYour GTM Container ID. Charitable pushes dataLayer events but does not load GTM itself. Install GTM through your theme or a separate plugin. Example: GTM-XXXXXXX

Tracking Behavior

ParameterTypeDefaultDescription
pixel_track_campaign_viewscheckboxonFire ViewContent and charitable_campaign_viewevents when a visitor loads a campaign page
pixel_track_form_openscheckboxonFire InitiateCheckout and charitable_initiate_checkout events when a donation form is rendered
pixel_consent_integrationcheckboxonCheck wp_has_consent( 'marketing' ) before firing any pixel

Event Reference

MomentMeta PixelTikTok PixelGTM dataLayer Event
Campaign page viewViewContentViewContentcharitable_campaign_view
Donation form renderedInitiateCheckoutInitiateCheckoutcharitable_initiate_checkout
Donation confirmedPurchase and DonateCompletePaymentcharitable_donation_complete

dataLayer Payload on Donation Complete

window.dataLayer.push({
  event: 'charitable_donation_complete',
  donationId: 8937,
  value: 28.87,
  currency: 'USD',
  campaignId: 7952,
  campaignName: 'Clean Water for Rural Communities',
  donationType: 'one-time',
  paymentMethod: 'stripe'
});

Customization

Multiple Campaigns in One Donation

When a donation covers more than one campaign, Conversion Tracking uses the campaign with the largest donation amount as the attribution target. The total value is the sum across all campaigns. Use the charitable_pixel_primary_campaign filter to override this selection.

Donation Statuses That Fire Conversions

By default, Conversion Tracking fires pixels for donations with charitable-completedcharitable-preapproved, and charitable-pending statuses. Use the charitable_pixel_fire_statuses filter to add or remove statuses.

Troubleshooting

No pixel events appear in Meta Events Manager or TikTok Events Manager

Check that the pixel ID field is populated for that platform and that your visitor has granted marketing consent (or that pixel_consent_integration is disabled). Open your browser DevTools Network tab on the receipt page and filter for fbevents.js or analytics.tiktok.com to confirm the pixel library loads.

GTM dataLayer events fire but GTM tags do not

Charitable pushes events to window.dataLayer but does not install the GTM container itself. Install GTM through your theme header or a dedicated GTM plugin. Confirm the container ID in GTM matches the ID entered in Conversion Tracking settings.

Receipt page events do not fire

Check the donation status. Offline donations that sit in charitable-pending without being manually approved will not fire pixels. Also confirm the donation passed through the receipt page rather than a custom thank-you redirect, since Conversion Tracking relies on the charitable_donation_receipt_page hook.

Conversion tracked twice when visitor refreshes receipt page

Conversion Tracking uses sessionStorage keyed by donation ID to prevent re-firing in the same browser tab. Opening the receipt URL in a new tab counts as a new session and will fire once, which is the expected behavior.

License inactive banner appears in admin

Confirm Charitable Pro is installed and activated, your license is on the Pro, Agency, or Elite plan, and the license has been entered and activated in Charitable > Settings > Licenses. Expired licenses have a 30-day grace period before delivery is blocked.

Developer Resources

Hooks and Filters

  • charitable_pixel_fire_statuses — array of donation statuses that allow pixels to fire
  • charitable_pixel_primary_campaign — override the campaign chosen for multi-campaign donations
  • charitable_pixel_consent_granted — fallback consent check when WP Consent API is unavailable
  • charitable_ajax_donation_response — added to Charitable Pro core; lets addons enrich the AJAX donation response for future Conversions API work

Donation Meta Keys

  • _charitable_pixel_tracking_status — trackedconsent_blockedstatus_blockedlicense_blocked, or not_configured
  • _charitable_pixel_tracked_at — Unix timestamp of the tracking event
  • _charitable_pixel_platforms — array of platforms that fired, e.g., ['meta', 'tiktok', 'gtm']
  • _charitable_pixel_event_id — unique event ID reserved for future Meta Conversions API deduplication

Consent Integration

Conversion Tracking reads consent through the WP Consent API when available:

if ( function_exists( 'wp_has_consent' ) ) {
    return (bool) wp_has_consent( 'marketing' );
}
return (bool) apply_filters( 'charitable_pixel_consent_granted', true, 'marketing' );

Sites without a consent manager fire pixels by default. Sites with a compatible consent plugin (CookieYes, Complianz, and others that implement the WP Consent API) have consent respected automatically.

Additional Resources

Still have questions? We’re here to help!

Last Modified:

What's New In Charitable

View The Latest Updates
🔔 Subscribe to get our latest updates
📧 Subscribe to Emails

Email Subscription

Join our Newsletter

We won’t spam you. We only send an email when we think it will genuinely help you. Unsubscribe at any time!

Campaigns New

⏳ Campaign Countdown: Drive Urgency and Lift Donations

Urgency is one of the most powerful tools in fundraising! Meet Campaign Countdown—a live, real-time timer built to turn procrastination into immediate generosity.

What’s New:

⏱️ Live, Real-Time Urgency: Beautifully track days, hours, minutes, and seconds down to your campaign’s deadline w/ live-updating visual countdowns.

🎨 Tailored to Your Look: Choose between Boxed bordered tiles or a clean, single-line Inline display. Match your theme instantly with font and deep color controls.

🛠️ Place it Anywhere: Drop the countdown anywhere you like using the Campaign Builder field, a dedicated Gutenberg block, or a simple shortcode.

🚨 Smart Expiry Actions: Total control over the end state—choose to automatically replace the timer with a custom message, freeze it at zero, and more.

Improvement Migrations

↔️ Importing From GiveWP, Donorbox, GiveButter… even CSV!

Whether you’re migrating from another platform or consolidating your records, moving your data to Charitable is now faster and more flexible than ever. We’ve streamlined the process so you can bring over your entire fundraising history in just a few clicks.

🔄 Native GiveWP, Donorbox, & GiveButter Support: Switching from a major platform? Our dedicated migration tools handle the heavy lifting, automatically mapping your donors and donations directly into Charitable—no technical skills required.

📂 Universal CSV Import: Moving from a custom system or a specialized CRM? If you can export it to a CSV, you can import it here. Our smart mapping tool lets you align your columns to Charitable fields like names, emails, phone numbers, and addresses in seconds.

Instant Donor Profiles & Custom Tags: Automatically create rich donor profiles and bring in custom tags to keep your data organized. Segment and engage your supporters from day one with a clean, professional database structure.


Ready to make the switch?

Check out our GiveWP Migration Guide

Learn more about our Import Tools

Improvement Payments

💳 New Braintree Features For Your European Donors

With the release of Braintree addon version 1.3.0, you can now empower your European donors with the payment methods they trust and prefer, making giving seamless for international supporters.

🌍 Six New European Payment Methods: Support popular local options like iDEAL (Netherlands), Bancontact (Belgium), BLIK (Poland), and more to meet donors where they are.

⚡ Frictionless Donor Experience: These bank-based methods allow donors to authenticate directly with their own bank in a secure popup… no credit card numbers required.

⚙️ Automatic Currency Sync: No complex setup needed. The builder automatically displays the correct payment buttons based on your site’s currency (EUR or PLN), ensuring a relevant experience for every visitor.

Campaigns New

🖼️ Campaign Featured Images: Pro-Level Visuals Made Simple

With the new Campaign Featured Image setting in our visual builder, you now have a single, dedicated place to manage how your fundraisers look across your entire site and beyond.

🖼️ One Image, Everywhere: Set a primary thumbnail that automatically syncs to campaign grids, lists, and shortcodes—no more relying on layout order.

📱 Social Sharing Optimized: Easily upload images at the perfect size to ensure your campaigns look stunning and professional when shared on social media.

🔍 SEO & Accessibility Ready: Add custom alt text directly within the builder to improve search rankings and ensure your mission is accessible to every supporter.

Improvement receipts

🗓️ Annual Receipts 2.0: Send Year-End Receipts to Every Donor in Minutes

You can now send annual receipts in minutes with a few clicks to all your donors.

📧 One-Click Bulk Send Wizard that guides you to sending to hundreds of donors simultaneously directly from your WordPress dashboard.

🔍 Smart “Dry Run” Mode: See exactly who will receive a receipt and who will be skipped (and why) before a single email leaves your server.

🛡️ SMTP-Aware & Limit Protection: Charitable now detects your email setup and automatically adjusts batch sizes and pauses for daily limits to ensure your emails land in inboxes.

✅ Complete Audit Trail: Dedicated system log and on the individual donor’s profile, giving you a clear history for every fiscal year.

Stop dreading tax season and start spending that time on your mission. Update to Annual Receipts 2.0 and automate your year-end reporting today.