UNPKG

@dotcms/analytics

Version:

Official JavaScript library for Content Analytics with DotCMS.

62 lines (61 loc) 2.2 kB
import { AnalyticsBaseParams, DotCMSAnalyticsConfig } from '../../shared/models'; /** * Identity Plugin for DotAnalytics * Handles user ID generation, session management, and activity tracking. * This plugin provides consistent identity context across all analytics events. * * Plugin execution order: * 1. Identity Plugin (this) - Injects context * 2. Enricher Plugin - Adds page/device/utm data * 3. Main Plugin - Sends to server * * @param {DotCMSAnalyticsConfig} config - Configuration object containing server URL, site key, and debug settings * @returns {Object} Plugin object with methods for initialization and event processing */ export declare const dotAnalyticsIdentityPlugin: (config: DotCMSAnalyticsConfig) => { name: string; /** * Initialize the identity plugin * Sets up activity tracking for session management */ initialize: () => Promise<void>; /** * Inject identity context into page events and updates session activity for session management * This runs BEFORE the enricher plugin */ pageStart: ({ payload }: AnalyticsBaseParams) => { context: import('../../shared/models').DotCMSAnalyticsEventContext; type: "page" | "track"; properties: Record<string, unknown>; options: Record<string, unknown>; userId: string; anonymousId: string; meta: { rid: string; ts: number; hasCallback: boolean; }; }; /** * Inject identity context into track events and updates session activity for session management * This runs BEFORE the enricher plugin */ trackStart: ({ payload }: AnalyticsBaseParams) => { context: import('../../shared/models').DotCMSAnalyticsEventContext; type: "page" | "track"; properties: Record<string, unknown>; options: Record<string, unknown>; userId: string; anonymousId: string; meta: { rid: string; ts: number; hasCallback: boolean; }; }; /** * Clean up on plugin unload * Sets up cleanup handlers for activity tracking */ loaded: () => boolean; };