UNPKG

@ima/plugin-analytic-google

Version:

Seznam IMA.js google analytic plugin

70 lines 2.11 kB
import type { Dependencies } from '@ima/core'; import { AbstractAnalytic } from '@ima/plugin-analytic'; type ConsentSettings = { ad_storage?: 'denied' | 'granted'; analytics_storage?: 'denied' | 'granted'; personalization_storage?: 'denied' | 'granted'; }; export interface AnalyticGoogleSettings { consentSettings?: ConsentSettings; service: string; waitForUpdateTimeout?: number; } export interface PageViewData { page_location: string; page_path: string; page_referrer: string; page_route: string; page_status?: string; page_title: string; } /** * Google analytic 4 class */ export declare class GoogleAnalytics4 extends AbstractAnalytic { #private; _consentSettings?: ConsentSettings; static get $dependencies(): Dependencies; set _ga4Script(value: Gtag.Gtag); get _ga4Script(): Gtag.Gtag; get config(): AnalyticGoogleSettings; /** * Initializes the Google Analytics 4 plugin. */ constructor(config: AnalyticGoogleSettings, ...rest: ConstructorParameters<typeof AbstractAnalytic>); /** * Hits custom event of given with given data */ hit(eventName: string, eventData: Record<string, any>): void; /** * Hit page view event to analytic with defined data. */ hitPageView(pageData: Record<string, any>): void; /** * Updates user consents in Google Analytics script * * @param purposeConsents Purpose Consents of TCModel, see: https://www.npmjs.com/package/@iabtcf/core#tcmodel */ updateConsent(purposeConsents: Record<string, any>): void; /** * @override * @inheritdoc */ _applyPurposeConsents(purposeConsents: Record<string, any>): void; /** * @override * @inheritdoc */ _configuration(): void; /** * Returns page view data derived from pageData param. */ _getPageViewData(pageData: Record<string, any>): PageViewData; /** * @override * @inheritdoc */ _createGlobalDefinition(window: globalThis.Window): void; } export {}; //# sourceMappingURL=GoogleAnalytics4.d.ts.map