Connect your profile
Open Tealium Setup in WeGive’s Integrations area. Enter Tealium Account, Tealium Profile, and Tealium Environment from yourutag.js snippet. Environment defaults to prod if blank. Save the configuration. WeGive loads the configured universal tag and tracks page views as donors navigate the portal.
Send standard checkout events defaults off. Enable it to receive the shared WeGive catalog through utag.link(). If your profile already forwards WeGive data-layer events using custom code, remove that forwarding before enabling native delivery to avoid duplicates. GTM and Tealium use the same standard event names, including donationSuccess and recurringPlanCreated.
Rules and variables
Usetealium_event in your load rules/extensions, and map WeGive variables to each destination’s expected fields. WeGive calls your profile; your tags, consent rules and mappings decide which destinations receive it. No explicit tag UID is used to bypass normal rules.
For donationSuccess, key variables include value_amount (cents), value_amount_dollars, value_currency_code, value_transactionId, value_transactionStatus, value_scheduledDonationId, value_correlation_id, and wegive_checkout_session_uuid. The standard-event serialization and context paths list the full mappings. Do not map purchase and donationSuccess to duplicate revenue conversions.
Current page data and event data
Define the required flat variables as UDO variables in Tealium iQ’s Data Layer, then map them to your tags. Customer JavaScript can read current WeGive context directly fromwindow.utag_data, for example window.utag_data.wegive_checkout_session_uuid. In event-scoped extensions, b is the data object for that tracking call. Do not retain an old b object for future form interactions.
WeGive’s automatic link events pass their fields explicitly. For custom calls, copy the fields you need into the new event payload; utag.link does not automatically inherit all page data. See Tealium’s API reference.
Custom interaction example
Use a JavaScript Code extension in Tealium iQ, scoped to DOM Ready, to install a delegated listener in the checkout window. Enter JavaScript without surrounding script tags. The extension requires the relevant permission and supported runtime (the basic extension documents utag 4.38+). Its duplicate guard protects against repeated installation. See Tealium’s extension documentation.donor_* values from native page data; see donor sharing.
This example skips delivery if utag.link is unavailable. Your listener owns SDK readiness/queue behavior if those custom events must be retained. WeGive’s automatic queue does not queue arbitrary customer calls. In event-processing extensions, transform/map the current event rather than unconditionally calling utag.link again, which can create recursion or duplicates.
Donor sharing and coexistence
Share donor contact information independently controls Tealium’s context and native payload additions. After changing this toggle or Send standard checkout events, click Save at the bottom of the integration settings form. GTM/Meta settings do not enable Tealium sharing. Enabled page/event fields include current names, company, email, phone, and separate flattened mailing and billing fields; editable fields update on blur without creating a conversion. See donor sharing for exact keys and the limitation that scripts on one page are not isolated from each other. Automatic delivery retains up to 100 events for up to 15 seconds while the SDK loads. Common event facts are captured when emitted; donor permission and identity are rechecked at dispatch. SDK errors are not retried because some tags may already have received the call. These limits are best-effort delivery, not a durable analytics queue. When changing the Tealium account, profile, environment, or organization, reload the checkout page so the correct container loads. Within a single document, WeGive suppresses donor-field publication intoutag_data if the configured destination no longer matches the container registered for that document. This does not retract information already read by scripts or sent to destinations.
Test your profile
Use a test profile/environment and destination. Inspect theutag.link call first, then the matched load rules/tags, then the receiver. Test a pending payment, a successful payment, and a plan without an immediate charge. Check shared context before and after UUID creation and with sharing on/off. A received native event does not prove downstream delivery. Validate your configured profile and destination directly; automated coverage simulates the SDK boundary.
Validate your actual profile rules, consent setup, extensions, destination tags, and custom receiver in your test environment.