Session data model

Updated:

View field support, webhooks, and list parameters for each integration on the Supported Integrations page.

FieldTypeRequiredDescription
idstringNo
created_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
updated_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
property_idstringNopoints to AnalyticsProperty
visitor_idstringNo
start_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
end_atstring (date-time)No(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
duration_secondsnumberNo
landing_pagestringNoSession attributes
exit_pagestringNoSession attributes
page_viewsnumberNoSession attributes
events_countnumberNoSession attributes
sourcestringNoAcquisition
mediumstringNo
campaignstringNo
devicestringNo
browserstringNo
osstringNo
countrystringNo
citystringNo
is_bouncebooleanNoEngagement
is_conversionbooleanNoEngagement
metadataAnalyticsMetadata[]No
metadata[].idstringNo
metadata[].slugstringNo
metadata[].valueobjectNo
metadata[].namespacestringNo
metadata[].formatenumNoValues: TEXT, NUMBER, DATE, BOOLEAN, FILE, TEXTAREA, SINGLE_SELECT, MULTIPLE_SELECT, MEASUREMENT, PRICE, YES_NO, CURRENCY, URL
metadata[].extra_dataobjectNo

TypeScript

TypeScript
export type AnalyticsSession = {
	id?: string;
	created_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	updated_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	property_id?: string; // points to AnalyticsProperty
	visitor_id?: string;
	start_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	end_at?: string-time; // (ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)
	duration_seconds?: number;
	landing_page?: string; // Session attributes
	exit_page?: string; // Session attributes
	page_views?: number; // Session attributes
	events_count?: number; // Session attributes
	source?: string; // Acquisition
	medium?: string;
	campaign?: string;
	device?: string;
	browser?: string;
	os?: string;
	country?: string;
	city?: string;
	is_bounce?: boolean; // Engagement
	is_conversion?: boolean; // Engagement
	metadata?: [];
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodAnalyticsSession = z.object({
	id: z.string().optional(),
	created_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	updated_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	property_id: z.string().optional().describe("points to AnalyticsProperty"),
	visitor_id: z.string().optional(),
	start_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	end_at: z.string-time().optional().describe("(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"),
	duration_seconds: z.number().optional(),
	landing_page: z.string().optional().describe("Session attributes"),
	exit_page: z.string().optional().describe("Session attributes"),
	page_views: z.number().optional().describe("Session attributes"),
	events_count: z.number().optional().describe("Session attributes"),
	source: z.string().optional().describe("Acquisition"),
	medium: z.string().optional(),
	campaign: z.string().optional(),
	device: z.string().optional(),
	browser: z.string().optional(),
	os: z.string().optional(),
	country: z.string().optional(),
	city: z.string().optional(),
	is_bounce: z.boolean().optional().describe("Engagement"),
	is_conversion: z.boolean().optional().describe("Engagement"),
	metadata: z.array().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class AnalyticsSession:
	id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	created_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	updated_at: Optional[str]
	"""points to AnalyticsProperty"""
	property_id: Optional[str]
	visitor_id: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	start_at: Optional[str]
	"""(ISO-8601 / YYYY-MM-DDTHH:MM:SSZ format)"""
	end_at: Optional[str]
	duration_seconds: Optional[int]
	"""Session attributes"""
	landing_page: Optional[str]
	"""Session attributes"""
	exit_page: Optional[str]
	"""Session attributes"""
	page_views: Optional[int]
	"""Session attributes"""
	events_count: Optional[int]
	"""Acquisition"""
	source: Optional[str]
	medium: Optional[str]
	campaign: Optional[str]
	device: Optional[str]
	browser: Optional[str]
	os: Optional[str]
	country: Optional[str]
	city: Optional[str]
	"""Engagement"""
	is_bounce: Optional[bool]
	"""Engagement"""
	is_conversion: Optional[bool]
	metadata: Optional[PropertyAnalyticsSessionMetadata]
Are we missing anything? Let us know
Was this page helpful?