Event 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)
namestringNo
event_typeenumNoValues: PAGE_VIEW, SCREEN_VIEW, CLICK, FORM_SUBMIT, PURCHASE, SIGN_UP, LOGIN, LOGOUT, SEARCH, VIDEO_PLAY, VIDEO_COMPLETE, FILE_DOWNLOAD, SCROLL, SESSION_START, FIRST_VISIT, CUSTOM
visitor_idstringNopoints to AnalyticsVisitor
property_idstringNopoints to AnalyticsProperty
session_idstringNopoints to AnalyticsSession
page_urlstringNo
page_titlestringNo
page_referrerstringNo
devicestringNo
browserstringNo
osstringNo
countrystringNo
country_codestringNo
regionstringNo
citystringNo
metadatamap (string dictionary)No
valuenumberNo
currencystringNo
utm_sourcestringNo
utm_mediumstringNo
utm_campaignstringNo
utm_termstringNo
utm_contentstringNo

TypeScript

TypeScript
export type AnalyticsEvent = {
	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)
	name?: string;
	event_type?: 'PAGE_VIEW' | 'SCREEN_VIEW' | 'CLICK' | 'FORM_SUBMIT' | 'PURCHASE' | 'SIGN_UP' | 'LOGIN' | 'LOGOUT' | 'SEARCH' | 'VIDEO_PLAY' | 'VIDEO_COMPLETE' | 'FILE_DOWNLOAD' | 'SCROLL' | 'SESSION_START' | 'FIRST_VISIT' | 'CUSTOM';
	visitor_id?: string; // points to AnalyticsVisitor
	property_id?: string; // points to AnalyticsProperty
	session_id?: string; // points to AnalyticsSession
	page_url?: string;
	page_title?: string;
	page_referrer?: string;
	device?: string;
	browser?: string;
	os?: string;
	country?: string;
	country_code?: string;
	region?: string;
	city?: string;
	metadata?: Record<string, string dictionary>;
	value?: number;
	currency?: string;
	utm_source?: string;
	utm_medium?: string;
	utm_campaign?: string;
	utm_term?: string;
	utm_content?: string;
	raw?: any;
} 

Zod

Zod
import { z } from 'zod';

export const ZodAnalyticsEvent = 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)"),
	name: z.string().optional(),
	event_type: z.enum("PAGE_VIEW", "SCREEN_VIEW", "CLICK", "FORM_SUBMIT", "PURCHASE", "SIGN_UP", "LOGIN", "LOGOUT", "SEARCH", "VIDEO_PLAY", "VIDEO_COMPLETE", "FILE_DOWNLOAD", "SCROLL", "SESSION_START", "FIRST_VISIT", "CUSTOM").optional(),
	visitor_id: z.string().optional().describe("points to AnalyticsVisitor"),
	property_id: z.string().optional().describe("points to AnalyticsProperty"),
	session_id: z.string().optional().describe("points to AnalyticsSession"),
	page_url: z.string().optional(),
	page_title: z.string().optional(),
	page_referrer: z.string().optional(),
	device: z.string().optional(),
	browser: z.string().optional(),
	os: z.string().optional(),
	country: z.string().optional(),
	country_code: z.string().optional(),
	region: z.string().optional(),
	city: z.string().optional(),
	metadata: z.record(z.string(), z.string dictionary()).optional(),
	value: z.number().optional(),
	currency: z.string().optional(),
	utm_source: z.string().optional(),
	utm_medium: z.string().optional(),
	utm_campaign: z.string().optional(),
	utm_term: z.string().optional(),
	utm_content: z.string().optional(),

});

Python

Python
import dataclasses

@dataclasses.dataclass
class AnalyticsEventEvent_type(str, Enum):
	PAGE_VIEW = 'PAGE_VIEW'
	SCREEN_VIEW = 'SCREEN_VIEW'
	CLICK = 'CLICK'
	FORM_SUBMIT = 'FORM_SUBMIT'
	PURCHASE = 'PURCHASE'
	SIGN_UP = 'SIGN_UP'
	LOGIN = 'LOGIN'
	LOGOUT = 'LOGOUT'
	SEARCH = 'SEARCH'
	VIDEO_PLAY = 'VIDEO_PLAY'
	VIDEO_COMPLETE = 'VIDEO_COMPLETE'
	FILE_DOWNLOAD = 'FILE_DOWNLOAD'
	SCROLL = 'SCROLL'
	SESSION_START = 'SESSION_START'
	FIRST_VISIT = 'FIRST_VISIT'
	CUSTOM = 'CUSTOM'

@dataclasses.dataclass
class AnalyticsEvent:
	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]
	name: Optional[str]
	event_type: Optional[AnalyticsEventEvent_type]
	"""points to AnalyticsVisitor"""
	visitor_id: Optional[str]
	"""points to AnalyticsProperty"""
	property_id: Optional[str]
	"""points to AnalyticsSession"""
	session_id: Optional[str]
	page_url: Optional[str]
	page_title: Optional[str]
	page_referrer: Optional[str]
	device: Optional[str]
	browser: Optional[str]
	os: Optional[str]
	country: Optional[str]
	country_code: Optional[str]
	region: Optional[str]
	city: Optional[str]
	metadata: Optional[PropertyAnalyticsEventMetadata]
	value: Optional[int]
	currency: Optional[str]
	utm_source: Optional[str]
	utm_medium: Optional[str]
	utm_campaign: Optional[str]
	utm_term: Optional[str]
	utm_content: Optional[str]
Are we missing anything? Let us know
Was this page helpful?