Regardless of same domain or cross domain, so long as a user is properly identified as the same person on subsequent pages, if you are tracking your UTMs in a Visit or higher expiry dimension, you shouldn't need to do anything to maintain the values... and forcibly re-tracking this data on subsequent pages is NOT in your best interest.
Tracking Code is the main way for tracking this, it has a default expiry of 1 week, I will also add eVar1 with a Visit expiry into my example)
Visit 1
- Page 1 (www.domain.com/?utm_source=x&utm_medium=y&utm_campaign=z)
- Tracking Code explicitly set to "x:y:z"
- Tracking Code Instance is triggered
- eVar1 is explicitly set to "x:y:z"
- eVar1 Instance is triggered
- Page 2 (www.domain.com/somepage/)
- Tracking Code persists the value of "x:y:z"
- Tracking Code Instance is NOT triggered
- eVar1 persists the value of "x:y:z"
- eVar1 Instance is NOT triggered
- Page 3 (Moved to another domain on the same tracking suite, with the same ECID - www.hubdomain.com/) (Note, this 100% works, as we have this in our implementation)
- Tracking Code persists the value of "x:y:z"
- Tracking Code Instance is NOT triggered
- eVar1 persists the value of "x:y:z"
- eVar1 Instance is NOT triggered
Visit 2
- Page 1 (www.domain.com/)
- Tracking Code persists the value of "x:y:z"
- Tracking Code Instance is NOT triggered
- eVar1 is not set (value has expired)
- eVar1 Instance is NOT triggered
The reason it's important to distinguish the Instance from the persisted value is that looking at the Instance will tell you the explicit entries using that campaign code, versus looking at the pages, and eventual conversions that are tied to that campaign based on the persistence.
Forcing every page to retrack (i.e. reset the value) on every page is actual going to break standard behaviours.
And while yes, technically you could use segment logic to look at non-repeating instances, you will actually break the available Instance metrics that you have available to you.
Now, if you are doing cross domain for sites tracked on different suites... that of course changes things...