[Digital Analytics](/categories/digital-analytics) January 17, 2025

# From 'not set' to Clear Attribution: Diagnosing Session Problems with session\_start

Diagnose session issues and resolve attribution problems, such as 'not set' values or inflated direct traffic, by analyzing GA4's session\_start parameter.

![](/images/65d75b0ae8d69ef95785a5d6_david-pombar.webp)

**[David Pombar](/author/david-pombar)** Swiss army knife at Trackingplan

6 min read · 1232 words

## Unmasking the Culprit

While the list of possible causes for this issue is quite extensive (front-end redirects, use of iFrames, poor cookie management, etc.), interestingly, [**Google’s official documentation**](https://support.google.com/analytics/answer/9191807?hl=en) gives us an important clue: the *session\_start* parameter.

This parameter is like the backbone of sessions in tools like Google Analytics, signaling the beginning of a session.

But here’s the catch: if **session\_start** ** fires incorrectly**, breaking or restarting during a user’s journey, ** your session data gets fragmented**, leading to problems like inflated session counts, misattributed traffic, –like direct or not set–, or distorted conversion rates.

### Impact of Poor Session Management

When session management is not properly configured, it undermines the integrity of your analytics data, creating a ripple effect that impacts multiple areas of measurement and decision-making. Here's how:

-   **Lost attribution data**: One of the most significant issues caused by poor session management is the misattribution of traffic. Instead of accurately reflecting the source of user visits, traffic is frequently assigned as "direct" or labeled as "(not set)," obscuring the true effectiveness of marketing campaigns. This makes it nearly impossible to assess which channels are driving results.
-   **Inflated session counts**: When the *session\_start* parameter fires incorrectly, sessions are often fragmented across a single user's journey. This leads to an artificially high number of sessions, which in turn skews key metrics like session counts and conversion rates. For instance, a user navigating across several pages might be incorrectly counted as initiating multiple sessions.
-   **Shortened session duration and higher sessions-per-user metrics:** When the *session\_start* parameter fires incorrectly, sessions are often fragmented across a single user's journey. This leads to an artificially high number of sessions, which in turn skews key metrics like session counts and conversion rates. For instance, a user navigating across several pages might be incorrectly counted as initiating multiple sessions.
-   **Distorted engagement and bounce metrics:**  Fragmented user journeys impact engagement metrics by breaking continuity. Bounce rates may appear artificially low or high depending on how sessions are split, while deeper engagement patterns—such as time spent on site or interaction with content—become difficult to interpret.

## Understanding session\_start: The Key to Session Management

The first thing to understand is that *session\_start* is not a real event sent to the GA collector. Instead, Google uses the parameter *session\_start*, which can be included in any request. When it appears (with a value of 1), it indicates the beginning of a session. It’s as if Google automatically creates a synthetic *session\_start* event and places it before any event that includes this parameter. As Google explains:

"When a session starts, Google automatically collects a session\_start event and generates a session ID (ga\_session\_id) and session number (ga\_session\_number) via the session\_start event."

This means that, if you suspect a user’s journey is being fragmented across multiple sessions, you can **identify it by looking for events that include the parameter session\_start=1**.

In the following sections, we’ll show you how to troubleshoot these session issues and ensure accurate attribution with the help of **Trackingplan**.

## Detecting Session Issues with Trackingplan

Manually auditing sessions using browser extensions or raw data can be tedious and error-prone. Fortunately, tools like **Trackingplan** simplify this process by providing a centralized view of session data.

First off, when dealing with multiple properties, it can get noisy and confusing—especially when working with things like session\_start events. With Trackingplan, we have the advantage of separating properties clearly when looking at session data.

![](/images/678a1fc6b445afc17eefc4aa_678a1fbc8d705ca679e7d990_detecting-session-issues.avif)

By clicking on the property, we can access a detailed list that provides insights into how this property is behaving across all 22 events where it is triggered. This allows us to closely examine the data for each event, identify any discrepancies, and understand how the property interacts with different user actions. By reviewing this comprehensive data, we can pinpoint potential issues, such as improper firing or missing parameters, ensuring a more accurate and reliable tracking setup.

![](/images/678a197b800c839ee31d98b1_678a176fd7dfe8140e087f8c_property-behaviour.avif)

While it might be that an event with less than 1% presence of the parameter session\_start is not a problem –as sometimes users log out for 30 min and come back later on the same tab, and that doesn't trigger a page\_view immediately–, in the example above we can see that, for almost every page view, a session start event is also triggered—almost 100% of the time, in fact.

This means the number of sessions being counted is totally off, as you’d typically expect something like 20, 30, or 40% of page views to trigger a session start, depending on the behavior of your users.

If it’s more than half, like in this case, this might mean your users aren’t even staying on the page for more than a couple of screens, as it is as if **the session is resetting every time they visit a new page**, which isn't right.

## Diving Deeper with Trackingplan’s Tracks Explorer

To dive deeper, we’ll use [**Trackingplan’s Tracks Explorer**](/docs/tracks-explorer) to help us inspect individual sessions and session attributes.

For it, we’ll take a look at a random session. We recommend selecting one that has already finished to avoid any disruptions caused by real-time data changes.

![](/images/678a197b800c839ee31d987e_678a179c3b7dd7df6c33f62d_inspecting-individual-sessions.png)

Next, we’ll add parameters like **session start** and ** session ID** to customize the view and gain a clearer understanding of how these properties are behaving. Additionally, as Trackingplan gives us the flexibility to choose from a [wide range of attributions, UTMs, consent options, DataLayer values, and more](/docs/attribution) – allowing us to analyze each event across a user’s journey or session based on multiple parameters– we’ll also include the ** UTM campaign parameter**, to be provided of deeper insights into campaign performance.

![](/images/678a197b800c839ee31d9878_678a17c93b7dd7df6c341ca7_session-start-session-id.avif)

See how multiple session IDs are being created in a single-user journey? This means that, when calculating things like new users, returning users, or session counts, all of that data is totally incorrect, as we can clearly see **the session parameter is misfiring every time there’s a new page view**.

![](/images/678a197b800c839ee31d98a2_678a17fbf53d0d86e315a519_misfiring-session-parameters.avif)

On the bright side, the good news is that, as we’ve also included the **UTM campaign parameter**, we are able to see our UTMs are being persisted throughout the user journey and we’re still tracking campaigns properly, which is awesome for attribution! Nonetheless, keep in mind that, if the conversion happens after multiple sessions, and the UTM gets lost in the process, it could show as 'not set' in your attribution reports. So, make sure you're not losing that UTM data!

![](/images/678a197b800c839ee31d988b_678a181e302eb7866b2a2d7d_utm-campaign-parameters.avif)

## Conclusion

To sum it up, Session issues can create significant blind spots in your analytics, compromising the reliability of your data and the decisions based on it. If you see strange session behavior or attribution issues, tracking **session start** and ** session ID parameters** can make a huge difference.

![](/images/678a197b800c839ee31d987b_678a1841b056cc6b0eb3559a_session-start-session-id-tracking.avif)

Tracking these parameters effectively is not just a technical fix, but a foundational step toward reclaiming the integrity of your data. By understanding how *session\_start* works and employing tools like [**Trackingplan**](/), you can gain the ability to monitor and troubleshoot session-related issues with precision, preventing fragmented data and ensuring your sessions accurately reflect user behavior.

If you're encountering persistent 'not set' values in your Google Analytics reports, our comprehensive guide dives deep into [**eliminating 'not set' in Google Analytics**](/guides/eliminating-not-set-google-analytics) and provides actionable strategies to identify and resolve other root causes.

Ready to take control of your session data? [**Get started**](https://app.trackingplan.com/signup) for free or [** ask for a demo**](https://calendar.app.google/zVwy6x5zqiPpJ5ae7) to experience the difference accurate session management can make in your analytics. Happy tracking!

On this page

1.  [*01*Unmasking the Culprit](#unmasking-the-culprit)
2.  [*02*Understanding session\_start: The Key to Session Management](#understanding-session-start-the-key-to-session-management)
3.  [*03*Detecting Session Issues with Trackingplan](#detecting-session-issues-with-trackingplan)
4.  [*04*Diving Deeper with Trackingplan’s Tracks Explorer](#diving-deeper-with-trackingplan-s-tracks-explorer)
5.  [*05*Conclusion](#conclusion)

**Stop babysitting tags**

Trackingplan audits your real user data around the clock and flags issues before they cost you.

[Start free trial →](https://app.trackingplan.com/signup)

![](/images/65d75b0ae8d69ef95785a5d6_david-pombar.webp)

**David Pombar** Swiss army knife at Trackingplan

Read more from David, a Senior Product Strategist with 18+ years in digital product development and an atypical error detection knack.

Share Copy link [LinkedIn](https://www.linkedin.com/sharing/share-offsite/?url=https%3A%2F%2Fwww.trackingplan.com%2Fblog%2Fdiagnosing-not-set-session-problems-with-session-start) [X](https://twitter.com/intent/tweet?url=https%3A%2F%2Fwww.trackingplan.com%2Fblog%2Fdiagnosing-not-set-session-problems-with-session-start&text=From%20%27not%20set%27%20to%20Clear%20Attribution%3A%20Diagnosing%20Session%20Problems%20with%20session_start)

Read next

[All Blog →](/blog)

-   [
    
    11 minDigital AnalyticsOctober 9, 2026
    
    ### Meta Pixel and CAPI debugging tools compared
    
    Data Advisor, GTM Preview, DevTools, Test Events, Diagnostics, server logs, and Trackingplan: what each one proves when you debug Meta Pixel and CAPI.
    
    by **Mariona Martí**](/blog/meta-pixel-capi-debugging-tools)
-   [
    
    13 minDigital AnalyticsAugust 23, 2026
    
    ### Rate of Sale Explained: Formulas, Benchmarks, and Analytics
    
    Master rate of sale calculations, benchmarks, and reporting. Learn how to use ROS for smarter inventory decisions and track it reliably in your analytics stack.
    
    by **David Pombar**](/blog/rate-of-sale)
-   [
    
    13 minDigital AnalyticsAugust 22, 2026
    
    ### Event Taxonomy Design: A Practical Framework
    
    Build a scalable event taxonomy with proven naming conventions, property schemas, and governance workflows that keep analytics data clean across teams.
    
    by **David Pombar**](/blog/event-taxonomy)

Trackingplan

## See everything. Miss nothing.

Your implementations audited around the clock with real-time, real-user data. Real-time alerts about errors or changes in your data, campaigns, pixels, privacy and consent. Let AI flag issues before they cost you.

[Start free trial →](https://app.trackingplan.com/signup) [Book a demo](/demo)
