Control the session timeout duration in seconds. Sessions expire after this period of inactivity.
Alpha Insights tracks user sessions for traffic analytics. A session expires after a period of inactivity (no events). This filter allows you to customize the timeout duration to match your business needs or analytics requirements.
File: includes/classes/WPDAI_Session_Tracking.php
Methods: WPDAI_Session_Tracking::get_or_create_session() and WPDAI_Session_Tracking::is_session_expired()
Lines: ~317 and ~405
| Parameter | Type | Description |
|---|---|---|
| $timeout_seconds | int | Session timeout in seconds (default: 1800 = 30 minutes) |
Type: int
Description: Modified timeout in seconds (must be a positive integer)
add_filter( 'wpd_session_timeout_seconds', 'increase_session_timeout' );
function increase_session_timeout( $timeout_seconds ) {
// 1 hour = 3600 seconds
return 3600;
}
add_filter( 'wpd_session_timeout_seconds', 'decrease_session_timeout' );
function decrease_session_timeout( $timeout_seconds ) {
// 15 minutes = 900 seconds
return 900;
}
add_filter( 'wpd_session_timeout_seconds', 'ga_compatible_timeout' );
function ga_compatible_timeout( $timeout_seconds ) {
// Google Analytics default: 30 minutes of inactivity
// This matches Alpha Insights default, but explicitly set for compatibility
return 1800;
}
add_filter( 'wpd_session_timeout_seconds', 'time_based_session_timeout' );
function time_based_session_timeout( $timeout_seconds ) {
$current_hour = (int) current_time( 'H' );
// Longer timeout during business hours (9 AM - 5 PM)
if ( $current_hour >= 9 && $current_hour < 17 ) {
return 3600; // 1 hour during business hours
}
// Shorter timeout outside business hours
return 1800; // 30 minutes
}
add_filter( 'wpd_session_timeout_seconds', 'device_based_session_timeout' );
function device_based_session_timeout( $timeout_seconds ) {
// Check if user is on mobile device
if ( wp_is_mobile() ) {
// Mobile users tend to browse in shorter bursts
return 900; // 15 minutes for mobile
}
// Desktop users typically have longer sessions
return 1800; // 30 minutes for desktop
}
Shorter Timeout (e.g., 15 minutes):
Longer Timeout (e.g., 1 hour):
| Duration | Seconds | Use Case |
|---|---|---|
| 15 minutes | 900 | Quick browsing, mobile-focused |
| 30 minutes (default) | 1800 | Standard, matches Google Analytics |
| 1 hour | 3600 | Engaged browsing, research sites |
| 2 hours | 7200 | Long-form content, detailed research |
add_filter( 'wpd_session_timeout_seconds', 'debug_session_timeout', 999 );
function debug_session_timeout( $timeout_seconds ) {
error_log( 'Alpha Insights Session Timeout: ' . $timeout_seconds . ' seconds (' . ( $timeout_seconds / 60 ) . ' minutes)' );
return $timeout_seconds;
}
WPDAI_Session_Tracking - Session tracking and managementWPDAI_WooCommerce_Event_Tracking - Event tracking