Heyo! This might be the dumbest question ever, but I really find Tag Manager confusing.
I have an app which receives UTM params to do campaign tracking, when the user reaches the payment page we use Stripe Checkout and then the user is redirected to/from the Stripe domain.
Many many thanks!
This is not a dumb question at all. However, GTM by itself does not persist anything, unless you create a tag that writes the utm parameters to cookies or local storage. But then this is probably not relevant for your case, because with the proper configuration, Google Analytics does persist the values by itself (in a manner of speaking).
GA calculates sessions on the GA server by connecting requests with the same client id (or user if, if set). It can look at the first pageview in the session and inspect the url for campaign information such as utm parameters. That way, it does not require that utm parameters are persisted in the browser, the only thing that needs to be stored (by default in a cookie) is the client id.
There is one caveat, that GA starts a new session when the campaign info changes. When you visitor is rerouted via an external domain for payment, a new session will start with the external domain as referrer and the marketing channel set to referrer. To avoid that, you need to add the payment gateway domain to the referral exclusion list (if you use Universal Analytics, there is a similar mechanism for Google Analytics 4), so GA ignores the external domain when the session and channel attribution is calculated. But that's a setting in the Google Analytics interface, you do not need to make changes to GTM for that.