I recently implemented Web Tracking on my Javascript instance of Amplitude for our website. Web Tracking allows us to grab things like UTM parameters or Referring Domain information to help us understand how users started a session on our platform. I should also mention my platform is a B2B SaaS platform.
The problem I am having is that those details (e.g. “utm_campaign”, “utm_source”) are set as user properties and persist until something else replaces them. However, the purpose of collecting referring details such at UTMs are to help me understand what drove a user to our platform… implicitly defined as “for that session”.
The problem with the way this is currently implemented is that if I have a user come to my platform as a result of opening an email that I sent to drive them to my site today, and they come back to my site directly tomorrow, or next week… that first email campaign continues to “get the credit”. Remember that this is a SaaS platform, so what I really want to know is “are my emails driving usage” (in this case) -- as opposed to how UTMs may be used for D2C brands or ecommerce.
So, my question… is there a way to default these UTM user properties to be reset with each session? Or perhaps is there another (better) way to track “where did this session come from”? I find fault with the suggestion of using a “Session Started” event because then exploring all events that stemmed from a session which started as a result of an email click proves to be more difficult on the platform than it needs to be. I look forward to your ideas!
PS -- here’s some screengrabs of the events with UTMs persisted when I would only like them in the events associated to the sessions that actually came from that campaign. Note: `initial_` parameters I don’t care about -- those are done correctly IMO.

