Skip to main content

Session Tables

Causal creates a table called session that stores data about your user's sessions, one row per session.

A session in Causal is a sustained period of user activity that ends when the user becomes inactive for some period of time (the default is 30 minutes, but you can change this setting).

The session table contains:

  • ds: (partition key) The date of the session expiry in UTC.
  • hh: (partition key) The hour of the session expiry in UTC.
  • device_id: A unique identifier for the user’s device. This persists between sessions on the same device. This column will not be present if your team marked a different feature with @persistent_key.
  • session_id: Causal's internal session identifier. See Session Keys.
  • start_time: The start time of the session in UTC.
  • session_length: The length of the user's session in milliseconds.
  • ip_address: IP address of the user.
  • user_agent: User agent string for the user’s browser.
  • entry_url: The landing page the visitor came in on
  • variants: The list of experiment_variants_ids that were active in this session.
  • Session Arguments: Any session arguments that you have defined in your FDL file. This is where you can put values that are specific to your organization that you'd like to record at the session level.
  • Session Events: A column for each session level event that you defined in your FDL file. These columns are arrays of events, making it easy and efficient to analyze events at a session level.
  • Audiences: A list of audience_ids activated during this session.