@dotcms/analytics
Version:
Official JavaScript library for Content Analytics with DotCMS.
46 lines (44 loc) • 1.75 kB
TypeScript
import { DotCMSAnalyticsPayload } from '../../shared/dot-content-analytics.model';
/**
* Plugin that enriches the analytics payload data based on the event type.
* Uses Analytics.js lifecycle events to inject context before processing.
* The identity plugin runs FIRST to inject context: { session_id, site_key, user_id }
* This enricher plugin runs SECOND to add page/device/utm data.
*
* OPTIMIZED: Uses existing payload.properties data to avoid duplication
*/
export declare const dotAnalyticsEnricherPlugin: () => {
name: string;
/**
* PAGE VIEW ENRICHMENT - Runs after identity context injection
* Uses optimized enrichment that leverages analytics.js payload data
*/
'page:dot-analytics': ({ payload }: {
payload: DotCMSAnalyticsPayload;
}) => {
local_time: string;
utm?: import('../../shared/dot-content-analytics.model').DotCMSUtmData | undefined;
page: import('../../shared/dot-content-analytics.model').DotCMSPageData;
device: import('../../shared/dot-content-analytics.model').DotCMSDeviceData;
event: string;
properties: Record<string, unknown>;
options: Record<string, unknown>;
context?: import('../../shared/dot-content-analytics.model').DotCMSAnalyticsContext | undefined;
};
/**
* TRACK EVENT ENRICHMENT - Runs after identity context injection
* Creates structured track events with pre-injected context
*/
'track:dot-analytics': ({ payload }: {
payload: DotCMSAnalyticsPayload;
}) => {
events: {
event_type: "track";
local_time: string;
data: {
src: string;
event: string;
};
}[];
};
};