Skip to main content
The following table completes the standard event catalog. It lists fields added by each event before the common context and permitted donor namespaces. No extra value means that the milestone itself supplies no event-specific object; shared context still applies. Optional fields can be absent/undefined in the browser and disappear when encoded as JSON. Explicit nulls remain null. ecommerce.items[] has item_id (string; empty when unavailable), item_name (string/null/omitted), price (major-unit number), and quantity (number). Donations normally supply one item per designation allocation with quantity 1. Registration supplies ticket-type items; a free/no-ticket registration can use { "item_id": "", "item_name": "Free ticket", "price": 0, "quantity": 1 }. Covered fees can make ecommerce.value exceed the sum of designation items. Registration transaction IDs use the actual linked transaction ID as a string, or reg_<registrationId> when there is no transaction. Do not remove that prefix. Donation ecommerce IDs remain the bare WeGive transaction ID string for Meta browser/server deduplication. The two outcome events also require a valid returned record ID, a nonnegative integer amount in cents, and a three-letter uppercase currency code. donationSuccess additionally requires numeric status 2; recurringPlanCreated requires a plan frequency string. Missing or malformed authoritative facts suppress the corresponding outcome event.

Interaction labels

The common category is Checkout, action is click, and noninteraction is false for these interaction-envelope events. They describe application milestones, so the click action is not proof of a direct native click. Ecommerce events do not add that envelope.

Complete Tealium event-specific allowlist

These are the flat event keys, in addition to wegive_* context and independently enabled donor_* identity. Their presence depends on the event table above.
  • Envelope: tealium_event, event_category, event_action, event_label, event_noninteraction.
  • Interaction/outcome: value_amount, value_amount_dollars, value_currency_code, value_is_anonymous, value_fee_covered, value_anonymous, value_coverFees, value_campaignId, value_transactionId, value_designationName, value_designationId, value_frequency, value_transactionStatus, value_scheduledDonationId, value_correlation_id, value_type, value_campaignEventId, value_registrationId, value_quantity, value_status.
  • Ecommerce: ecommerce_currency, ecommerce_value, ecommerce_transaction_id, ecommerce_payment_type.
  • Item arrays: ecommerce_items_item_id, ecommerce_items_item_name, ecommerce_items_price, ecommerce_items_quantity.
  • Donation/registration: donation_frequency, donation_is_anonymous, donation_fee_covered, donation_campaign_id, donation_is_registration, donation_campaign_event_id, donation_registration_id, donation_status, donation_quantity.

Successful-payment example

Illustrative Tealium event-specific portion; the common checkout fields are also included, and donor_* fields are added only with sharing enabled. Identifiers and amounts here are fictitious.
For a deferred monthly plan, recurringPlanCreated can carry value_amount: 2500, value_amount_dollars: 25, value_frequency: "monthly", value_scheduledDonationId: 81, and null value_transactionId, value_transactionStatus, and value_correlation_id. That describes a new plan; it is not $25 already collected. In GTM, use Version 2 Data Layer Variables and exact Custom Event triggers. For example, trigger on donationSuccess and read value.amount_dollars, value.currency_code, value.transactionId, and wegive.checkout_session_uuid. Do not treat an eventless context push or { "ecommerce": null } as a milestone.