I cared about two things: preserving campaign attribution (UTMs) and keeping VAT compliance correct for EU customers. The web funnel helped. We preserved UTM tags through redirects, stored them in user properties at signup, and passed those properties to the gateway with the payment request. That let us tie invoices back to campaigns while the gateway handled the VAT math.
A few practical lessons: persist UTMs in a cookie and write them into the user record at account create. Confirm UTMs are included in the gateway metadata or as a custom field so your invoice export can be joined with marketing data. Finally, watch for redirects that strip query strings.
How do you keep UTMs alive through multiple redirects and ensure they reach the invoice export?
I save UTMs in a short lived cookie then copy them into the user profile at registration.
When we send the payment request we include the UTM fields in the gateway metadata. The Web2Wave flow made persisting those properties straightforward.
Persist UTMs client side then write them server side at account creation. Add them to gateway metadata so exports include campaign info. That way marketing can tie gross and net revenue to campaigns without losing VAT detail.
We used a small script to copy UTM into local storage then onto the user record at signup.
Works reliably across redirects.
save utm cookie
write to user props
If you must redirect to third parties, append a signed token that lets you look up original UTMs on return rather than resending the full query string.
Reduces leak risk.
Also capture landing page id and creative id where possible. It helps when campaign names change in ad platforms.
And keep an audit trail so finance can trace invoices back to campaigns.