What is App Session?
Also known as: Mobile Session, User Session
What is an app session?
An app session is a single, continuous period of user engagement with a mobile app, starting when the app enters the foreground and ending when it backgrounds or times out. Per Firebase Analytics documentation, Google's default session timeout is 30 minutes of background inactivity, with a 10 second foreground engagement minimum.
Sessions are the atomic unit of mobile engagement. Installs measure acquisition. Sessions measure whether the install actually got used. Most retention and DAU MAU calculations sit on top of session data.
A user who installs and never opens the app generates zero sessions. A user who opens five times in a day generates five sessions, assuming each gap exceeds the timeout window.
How SDKs measure sessions
[UNIQUE INSIGHT] Every major mobile SDK uses a similar three-part rule, but the defaults differ in ways that produce 10 to 30 percent variance between tools on the same app.
The standard logic. A session starts on app foreground. A session ends when the app backgrounds for longer than the timeout window. Activity inside the window extends the session, it does not start a new one.
| SDK | Default timeout | Trigger event | Notes |
|---|---|---|---|
| Firebase Analytics | 30 minutes background | session_start | 10 second engagement minimum |
| AppsFlyer | 5 seconds foreground | af_app_opened | Configurable up to 60 seconds |
| Adjust | 30 minutes background | session | Configurable per app |
| Amplitude | 5 minutes inactivity | session_start | Custom timeout supported |
The 30 second figure people quote is the rough industry midpoint, not a universal default. AppsFlyer fires a session as soon as the app sits in the foreground for 5 seconds. Firebase requires 10. Adjust waits for backgrounding plus 30 minutes to demarcate the next session.
Push notifications add a wrinkle. A push tap that opens the app counts as a new session in most SDKs. A push that delivers without an open does not.
Core session metrics
[ORIGINAL DATA] Three numbers describe session health. UA and product teams read all three together because no single metric captures engagement on its own.
Session length. Average minutes per session. Per AppsFlyer's 2024 benchmarks, gaming apps average 8 to 12 minutes, social apps 4 to 7 minutes, utility apps 1 to 3 minutes, and shopping apps 2 to 4 minutes. Length correlates with ad revenue in IAA-monetized apps.
Session depth. Screens or events per session. A 10 minute session with 3 screen views signals different behavior than a 10 minute session with 30 screen views. Depth is the leading indicator for conversion and purchase intent.
Session frequency. Sessions per user per day or week. A power user opens a fitness app 3 times daily. A casual user opens once weekly. Frequency drives the difference between DAU and MAU ratios across apps.
The three metrics multiply together. Length times depth times frequency equals total engagement minutes per user. That number predicts LTV better than any single session metric alone.
MMP versus analytics session reporting
MMPs and analytics tools count sessions differently because they exist for different reasons.
MMPs like AppsFlyer and Adjust count sessions to support attribution windows, re-engagement campaigns, and fraud detection. A session in MMP terms confirms a real user behind an install. The count is conservative.
Analytics tools like Firebase, Amplitude, and Mixpanel count sessions to support behavioral analysis and funnels. Their sessions include every foreground open above the engagement threshold, regardless of attribution status.
[PERSONAL EXPERIENCE] Reconciliation is a daily headache. We typically see Firebase report 8 to 15 percent more sessions than AppsFlyer for the same app and date range. The MMP undercounts opens that did not trigger any attributable event. The analytics tool overcounts by including SDK initialization pings that no user drove. Neither is wrong. They answer different questions.
For mobile app marketing reporting, pick one source per use case. MMP for paid media decisions. Analytics for product decisions.
Optimizing UA campaigns for sessions
Bidding on installs alone produces noisy cohorts. Bidding on session_start as an in-app event produces engaged ones.
Meta Advantage+ App Campaigns, Google App Campaigns, and Applovin all accept session events as optimization targets. The setup. Pass session_start through your MMP to the ad network. Bid tCPA against session_2 or session_3, not the install.
The trade. Apparent cost per install rises 20 to 60 percent when you optimize on sessions. Day 7 retention rises 30 to 80 percent. Net LTV per install climbs in nearly every category.
A real example. A casual game UA team running on Meta moves from install bidding to session_2 tCPA bidding. CPI rises from $1.40 to $2.10. Day 7 retention rises from 12 percent to 19 percent. ARPU at day 30 rises 41 percent. The team holds the same monthly spend and books a 28 percent lift in cohort revenue.
That is the entire case for session-based UA. Pay more per install. Pay less per real user.
2026 trends
Three shifts shape session measurement and optimization through 2026.
SKAN 5 and AdAttributionKit. Apple's expanded postback windows now carry up to 64 conversion values across multiple windows. UA teams can now signal session count, not just install, back to iOS ad networks without breaking ATT rules.
Engagement-time metrics replacing raw sessions. Firebase already deprecated sessions as a primary metric in favor of engaged sessions and engagement time. Expect Adjust and AppsFlyer to follow with engagement-weighted session counts in 2026.
AI-driven session value scoring. MMPs are rolling out predictive LTV scores attached to early sessions. By session 2 or 3, the model assigns each user a forecast revenue tier. UA bidding then optimizes against the predicted value, not the historical event. Early adopters report 15 to 25 percent ROAS lifts on the same media spend.
Sessions remain the most honest measure of whether a mobile app is working. The install is a promise. The session is the proof.
Related terms
Frequently asked questions
How long is the default session timeout?
Most analytics SDKs use a 30 second inactivity timeout. Per Firebase Analytics documentation, a new session starts when the app moves to the foreground after 30 minutes of background time, while engagement events fire after 10 seconds of foreground use. AppsFlyer and Adjust both default to 30 seconds for session demarcation.
What counts as an active session?
An active session requires the app to be in the foreground with the user interacting. Background time, push notification opens that do not load the app, and silent SDK pings do not count. Per AppsFlyer's session documentation, only foreground engagement past the minimum threshold registers as a counted session.
How do MMP and analytics session counts differ?
MMPs count sessions for attribution and re-engagement windows. Analytics tools count sessions for behavior and funnel reporting. The same user open can produce a session in Firebase but not in an MMP if no attribution event fired. Expect 5 to 20 percent variance between the two systems on any given day.
Why does session length matter for monetization?
Longer sessions mean more ad impressions, more in-app purchase decision points, and more content consumed. Per Adjust's 2024 mobile benchmarks, gaming apps average 8 to 12 minute sessions while utility apps average 1 to 3 minutes. Ad-supported apps tie revenue almost directly to session length and depth.
Can I bid on sessions in UA campaigns?
Yes, indirectly. Most ad networks accept session_start as an in-app event for tCPA and value-based bidding. Meta, Google, and Applovin all support session events as optimization targets. Bidding on sessions rewards engaged installs and pushes algorithms toward users who actually open the app twice.