Session Start
Also known as: session_start, Visit Start, Session Initiation, Entry Hit
Session Start is the automatically collected event that opens a visit, firing on the first interaction a user has with the site or app after the inactivity timeout has elapsed. Every session-scoped acquisition report is counted from it — channel grouping, source/medium, campaign and landing page for the visit are resolved from the traffic context present on this event, and all downstream browsing, cart and purchase activity is attributed to the session it creates.
Event Serialization
once per session
Business Use Case
["1️⃣ The Performance Marketing team, in the weekly channel review, reads sessions by default channel grouping and campaign from this event against spend, and reallocates budget away from campaigns whose session volume grows while session-to-order conversion falls.","2️⃣ The Merchandising and Site Content team, in the first 72 hours after a campaign or promotion launch, compares sessions and bounce rate by landing page and device to spot entry pages that receive paid traffic but lose it immediately, and reworks or redirects those pages.","3️⃣ The Digital Product Manager, at every front-end release, checks sessions per user and sessions per day for the affected templates to confirm the configuration tag is not re-firing on route change, and blocks the rollout when session inflation is detected.","4️⃣ The Lifecycle Marketing team, each month, builds audiences of sessions that started from email or push with no purchase in the visit and feeds them into re-engagement and abandonment journeys."]
Business Criticality
High
Journey / Navigation Area
Engagement
Owning Function
Marketing
Calculation Notes
["1️⃣ The event is emitted by the measurement library itself on the first event of a new visit — it is never pushed by hand. Adding a manual session_start push to the data layer double-counts sessions and corrupts every channel, campaign and landing-page report that uses the session as its unit.","2️⃣ Serialization is once per session per user and stream: a session closes after 30 minutes without a qualifying event (timeout configurable from 5 minutes to 7 hours 55 minutes at property level) and the next event opens a new one. Sessions no longer reset at midnight or on a mid-visit campaign change, so counts are not comparable with legacy Universal Analytics visit figures — restate historical benchmarks before using them as targets.","3️⃣ Web and app streams use the same timeout but different triggers: on app streams a session also reopens when the app returns to the foreground after the timeout has lapsed. Align the timeout across streams before blending web and app acquisition reporting, otherwise the same customer journey yields a different session count per platform.","4️⃣ Session-scoped acquisition dimensions are stamped from the traffic context carried on this event (referrer, utm parameters, click identifiers). Self-referrals from payment or authentication domains and UTM-tagged internal links are the two usual causes of inflated direct and referral sessions: maintain the unwanted-referrals / referral exclusion list for checkout, payment and SSO hosts, and never tag internal links.","5️⃣ Consent and privacy: with analytics storage denied under Consent Mode the event is still transmitted as a cookieless signal that feeds modelled sessions but carries no cookie-based continuity, so consented and modelled sessions must not be mixed in the same trend without a note. The payload carries no personal data — email, phone, hashed identifiers and order numbers must never be appended as parameters.","6️⃣ Required context is added automatically (session identifier, session ordinal, engagement flag and the collected traffic source); page location and page referrer are the parameters that must be verified, because they are the source of the Landing Page dimension and of organic versus referral classification. Confirm the tag sequence places this event ahead of the first page_view of the visit.","7️⃣ Recurring instrumentation faults to test for before publishing acquisition numbers: the configuration tag re-firing on every route change in a single-page application (session inflation), two configurations loading for the same stream (duplicate sessions), and unfiltered internal, preview and crawler traffic. Note also that first_visit fires alongside this event for a brand-new user, so session starts must never be read as new users."]
Platform Events
| Platform | Event |
|---|---|
| Google Analytics 4 | session_start |
| Adobe | s.t() first page view beacon of the visit (visit start is derived server-side from the visit timeout; no custom link is sent) |
Data Mappings
W3 Data Layer
{
"digitalData": {
"pageInstanceID": "prod-web-landing-summer-sale",
"page": {
"pageInfo": {
"pageID": "landing-summer-sale",
"pageName": "Summer Sale | Landing",
"destinationURL": "https://www.example-shop.com/c/summer-sale?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale_2026",
"referringURL": "https://www.google.com/",
"sysEnv": "mobile",
"language": "en-us",
"issueDate": "2026-09-20"
},
"category": {
"primaryCategory": "Acquisition",
"subCategory1": "Top-of-Funnel & Marketing Acquisition",
"pageType": "landing"
},
"attributes": {
"sessionID": "1758374412",
"sessionNumber": 3,
"entryPage": "/c/summer-sale",
"visitorStatus": "returning"
}
},
"user": [
{
"profile": [
{
"profileInfo": {
"profileID": "a1c9f0e2-7b64-4f31-9a2d-5e0c8d13b7aa",
"returningStatus": "returning",
"language": "en-us"
}
}
]
}
],
"event": [
{
"eventInfo": {
"eventName": "Session Start",
"eventAction": "session_start",
"type": "session",
"timeStamp": "2026-09-20T14:20:12.000Z",
"effect": "session opened"
},
"category": {
"primaryCategory": "Acquisition"
},
"attributes": {
"sessionID": "1758374412",
"sessionNumber": 3,
"source": "google",
"medium": "cpc",
"campaign": "summer_sale_2026",
"term": "summer dresses",
"content": "responsive_a",
"landingPage": "/c/summer-sale",
"referrer": "https://www.google.com/",
"engagedSession": false
}
}
]
}
}GA4 Data Layer
{
"event": "session_start",
"ga_session_id": "1758374412",
"ga_session_number": 3,
"session_engaged": "0",
"engagement_time_msec": 0,
"page_location": "https://www.example-shop.com/c/summer-sale?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale_2026",
"page_referrer": "https://www.google.com/",
"page_title": "Summer Sale | Landing",
"source": "google",
"medium": "cpc",
"campaign": "summer_sale_2026",
"term": "summer dresses",
"content": "responsive_a",
"gclid": "Cj0KCQjw8eOaBhD_ARIsAPrGlBgExampleClickId",
"language": "en-us"
}Adobe Client Data Layer
{
"event": "web.webpagedetails.pageViews",
"eventInfo": {
"path": "page",
"eventType": "first page view of the visit",
"timestamp": "2026-09-20T14:20:12.000Z"
},
"web": {
"webPageDetails": {
"name": "Summer Sale | Landing",
"URL": "https://www.example-shop.com/c/summer-sale?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale_2026",
"siteSection": "category:summer-sale",
"server": "www.example-shop.com",
"isHomePage": false,
"pageViews": {
"value": 1
}
},
"webReferrer": {
"URL": "https://www.google.com/",
"type": "external"
}
},
"marketing": {
"trackingCode": "summer_sale_2026",
"campaignName": "summer_sale_2026",
"campaignGroup": "cpc"
},
"environment": {
"type": "browser",
"browserDetails": {
"name": "Chrome",
"acceptLanguage": "en-us",
"viewportWidth": 390,
"viewportHeight": 844
}
},
"placeContext": {
"localTime": "2026-09-20T09:20:12-05:00"
},
"visit": {
"visitNumber": 3,
"visitStart": true,
"entryPage": "/c/summer-sale"
}
}XDM Mapping
{
"eventType": "web.webpagedetails.pageViews",
"timestamp": "2026-09-20T14:20:12.000Z",
"identityMap": {
"ECID": [
{
"id": "79876066103567143511267739748305347425",
"primary": true,
"authenticatedState": "ambiguous"
}
]
},
"channel": {
"_id": "https://ns.adobe.com/xdm/channels/web",
"_type": "https://ns.adobe.com/xdm/channel-types/web",
"typeAtSource": "web"
},
"web": {
"webPageDetails": {
"name": "Summer Sale | Landing",
"URL": "https://www.example-shop.com/c/summer-sale?utm_source=google&utm_medium=cpc&utm_campaign=summer_sale_2026",
"siteSection": "category:summer-sale",
"server": "www.example-shop.com",
"isHomePage": false,
"pageViews": {
"value": 1
}
},
"webReferrer": {
"URL": "https://www.google.com/",
"type": "external"
}
},
"marketing": {
"trackingCode": "summer_sale_2026",
"campaignName": "summer_sale_2026",
"campaignGroup": "cpc"
},
"environment": {
"type": "browser",
"browserDetails": {
"name": "Chrome",
"acceptLanguage": "en-us",
"viewportWidth": 390,
"viewportHeight": 844
}
},
"placeContext": {
"localTime": "2026-09-20T09:20:12-05:00",
"geo": {
"countryCode": "US",
"stateProvince": "US-TX"
}
},
"_experience": {
"analytics": {
"session": {
"num": 3,
"depth": 1,
"timeSpent": 0
},
"endUser": {
"firstTimestamp": "2026-08-02T16:41:07.000Z",
"firstWeb": {
"webPageDetails": {
"name": "Home"
},
"webReferrer": {
"URL": "https://www.google.com/"
}
}
},
"customDimensions": {
"eVars": {
"eVar1": "summer_sale_2026",
"eVar2": "google | cpc",
"eVar3": "/c/summer-sale"
}
}
}
}
}Source Data
Digital Analytics (GA4)
Dependencies
Prerequisite: List the dependencies required for this Event
Metrics:
Dimensions:
Report Attributes
Default Channel Grouping Session Source / Medium Campaign Name Landing Page Device Category Country / Region New vs Returning User
Segment Eligibility
true
Governance
Dimensions
Related Dimensions
Derived Entities
Derived Metrics
Governance & Metadata
GitHub
catalog/events/session-start.yml