@shopana/ga
Version:
Type-safe Google Analytics 4 (GA4) tracking library for React and Next.js with ecommerce support, event batching, and SSR compatibility
169 lines • 5.08 kB
TypeScript
export interface PageEventParams extends Record<string, unknown> {
measurementId?: string;
title?: string;
path?: string;
location?: string;
referrer?: string;
language?: string;
}
export interface EngagementEventParams extends Record<string, unknown> {
measurementId?: string;
engagementType?: string;
value?: number;
method?: string;
metadata?: Record<string, unknown>;
}
export interface AuthEventParams extends Record<string, unknown> {
measurementId?: string;
method: string;
}
export interface CommerceItemInput extends Record<string, unknown> {
item_id: string;
item_name?: string;
currency?: string;
discount?: number;
item_variant?: string;
price?: number;
quantity?: number;
[key: string]: unknown;
}
export interface CommerceItem extends CommerceItemInput {
quantity: number;
price?: number;
}
export interface PurchaseEventParams extends Record<string, unknown> {
measurementId?: string;
transactionId: string;
currency?: string;
coupon?: string;
affiliation?: string;
value?: number;
tax?: number;
shipping?: number;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface CartEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface ViewCartEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface CheckoutEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
coupon?: string;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface PaymentInfoEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
coupon?: string;
payment_type: string;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface ShippingInfoEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
coupon?: string;
shipping_tier: string;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface ViewItemEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface ViewItemListEventParams extends Record<string, unknown> {
measurementId?: string;
item_list_id?: string;
item_list_name?: string;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface SelectItemEventParams extends Record<string, unknown> {
measurementId?: string;
item_list_id?: string;
item_list_name?: string;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface PromotionEventParams extends Record<string, unknown> {
measurementId?: string;
promotion_id?: string;
promotion_name?: string;
creative_name?: string;
creative_slot?: string;
location_id?: string;
items?: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface WishlistEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
items: CommerceItemInput[];
extraParams?: Record<string, unknown>;
}
export interface LeadEventParams extends Record<string, unknown> {
measurementId?: string;
currency?: string;
value?: number;
extraParams?: Record<string, unknown>;
}
export interface SearchEventParams extends Record<string, unknown> {
measurementId?: string;
search_term: string;
number_of_results?: number;
search_category?: string;
extraParams?: Record<string, unknown>;
}
export interface ShareEventParams extends Record<string, unknown> {
measurementId?: string;
content_type: string;
content_id: string;
method: string;
extraParams?: Record<string, unknown>;
}
export interface VideoEventParams extends Record<string, unknown> {
measurementId?: string;
video_title: string;
video_url: string;
video_duration?: number;
video_current_time?: number;
video_percent?: number;
video_provider?: string;
visible?: boolean;
extraParams?: Record<string, unknown>;
}
export interface ExceptionEventParams extends Record<string, unknown> {
measurementId?: string;
description: string;
fatal?: boolean;
extraParams?: Record<string, unknown>;
}
export interface TimingEventParams extends Record<string, unknown> {
measurementId?: string;
name: string;
value: number;
event_category: string;
event_label?: string;
extraParams?: Record<string, unknown>;
}
//# sourceMappingURL=events.d.ts.map