Completion means a transaction or recurring plan was attached to the session. It does not establish payment success. If the donor leaves before the receipt/session update, completion can be missing. See Webhook trigger details.
Envelope keys
Every data key
Conditional conversion fields depend on whether either attached record ID is present, not merely the event-name string. In the normal created journey neither is attached, so all three conversion keys are absent. The completed event includes all three and can have a null transaction ID or null plan ID.
The effective UTM set comes from resolved request attribution when available, otherwise the stored URL; sources are selected as a whole set rather than merged field-by-field. Stored UTM values are truncated to 255 bytes. There is no
channel, visit-expiry time, revenue, transaction status, currency, confirmation reference, Salesforce ID, or donor contact profile in these session payloads.
Created example — complete body
Completed example — complete body
This example uses the same session UUID and a different delivery UUID. Its transaction ID is a join key, not proof of success.transaction_id: null, scheduled_donation_id: 8101, plus completed_at. Do not count that as collected revenue.