There is no
getTrackingContext API or Meta browser donor view. Common data-layer context is published even without a GTM container. Context publication does not require a loaded SDK; Tealium fields require a configured account/profile. Treat WeGive-owned fields as read-only, and read again when handling an interaction instead of retaining an initial snapshot.
Common fields
The table uses logical field names. GTM places them underwegive; Tealium prefixes scalar names with wegive_.
IDs follow WeGive’s source ID type (number or string); UUIDs are strings. Each attribution object has
utm_source, utm_medium, utm_campaign, utm_term, utm_content, and utm_id, with string values or null. This interface does not set an attribution cookie. A/B assignment survives refresh only in the matching browser history entry for that organization, checkout and path; it is never inferred from a checkout’s membership in a test.
Lifecycle and page context
The UUID is null until session creation returns. It stays null after creation failure, and is available to scripts loaded later. Earlier events are neither delayed nor replayed to attach it. Unmounting or replacing checkout clears checkout-specific identity and donor context in WeGive’s namespaces; stale responses cannot populate a replacement checkout. Organization metadata can remain available outside checkout. GTM authentication fields undervalue follow the selected donor-sharing mode’s lifetime, described in the donor-sharing guide.
GTM context updates are messages without an event key. WeGive resets wegive, wegive_donor, and wegive_user_data to null before publishing replacement values so GTM’s data model does not merge stale nested fields or array entries. Tealium updates the current object and removes stale WeGive-owned donor keys, preserving unrelated customer keys. Previously published data-layer messages and copies retained by other scripts cannot be erased by these resets.
Page context follows the checkout’s Vue route. page_name is the route name, falling back to path; page_path includes query/hash. These are application route values, not checkout-step names or organization-specific labels. Route changes update context. GTM/Tealium page-view tracking operates separately from the standard checkout catalog; context updates do not themselves emit page views.
V2 exposes the active language at wegive.page_language in GTM and utag_data.wegive_page_language in Tealium. V2 GTM content-view and Tealium page-view payloads also carry page_language; initial Tealium page data is seeded before SDK loading. Language changes alone do not emit a page view. V1 supports English only and does not include a language field. Base codes such as es do not imply a region such as es-US.
Current gift context describes the editable checkout amount before covered fees. Conversion payloads describe the returned payment/plan total; use those fields for revenue. The correlation_id value is a transaction reference, not a promise about a receipt number or a Salesforce Opportunity lookup. Your organization owns that mapping.
If your organization also receives checkout-session webhooks, their data.checkout_session.uuid contains the same session UUID. You can use it to match server notifications with browser tracking. This is an optional use of the identifier; webhooks do not supply the UUID to the browser.
GTM variables and raw JavaScript
window.dataLayer is an array of messages, not an object with a checkout_session_uuid property. In GTM, define Data Layer Variables using paths such as wegive.checkout_session_uuid; GTM reads its current data model when your event tag runs. See the GTM guide.
For JavaScript outside GTM, the latest message containing WeGive’s complete common namespace can be read as follows. Honor an explicit null reset; do not search past it for an older identity.
Tealium variables
Readwindow.utag_data || {} at interaction time. Standard events pass the same common facts explicitly to utag.link; custom events must supply the context they need. Do not assume utag.link automatically merges all page data into its event object. See Tealium’s tracking functions and the custom listener example.
Meta context and identifiers
The PixelsetupEvent includes non-contact wegive_* parameters where context is available. It is a setup event, not a browser conversion event.
Server CAPI custom_data includes checkout_session_uuid, organization_id, organization_brand_id, checkout_id, checkout_test_id, designation_id, scheduled_donation_id, transaction_status, and correlation_id. It uses the attribution-session lookup, including a recurring renewal’s originating session. Missing session-dependent values are null. The donor-sharing setting affects server matching fields; it does not control these non-contact facts, event IDs, amount conventions, conversion eligibility, or retries.