On of our products has been built using Angular.js. All tracking tags, including Google Analytics, are fired through a GTM container. We are using Turbolinks, so page changes within the site are loaded via ajax, although the URL does change. It's not strictly a Single Page Application, but we do use a virtual pageview event in GTM instead of a regular trigger.
Analyzing user paths on BigQuery revealed that we have an issue with session continuity, whereby users who trigger an event in the middle of a chain of pageviews will be treated by GA as being 2-3 distinct sessions, even though they occur within a 30 minute window.
How can we prevent this ?