@shopana/ga
Version:
Type-safe Google Analytics 4 (GA4) tracking library for React and Next.js with ecommerce support, event batching, and SSR compatibility
66 lines • 3.01 kB
TypeScript
import { type AnalyticsClient } from '../core/AnalyticsClient';
import { type CartEventParams, type PurchaseEventParams, type ViewCartEventParams, type CheckoutEventParams, type PaymentInfoEventParams, type ShippingInfoEventParams, type ViewItemEventParams, type ViewItemListEventParams, type SelectItemEventParams, type PromotionEventParams, type WishlistEventParams, type LeadEventParams, type CommerceItemInput } from '../types/events';
export declare class CommerceTracker {
private readonly client;
private readonly onDuplicateWarning;
private readonly transactionRegistry;
constructor(client: AnalyticsClient, onDuplicateWarning?: (message: string) => void);
purchase(params: Omit<PurchaseEventParams, 'measurementId'> & {
measurementId?: string;
transactionId: string;
items: CommerceItemInput[];
}): Promise<void>;
addToCart(params: Omit<CartEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
removeFromCart(params: Omit<CartEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
viewCart(params: Omit<ViewCartEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
beginCheckout(params: Omit<CheckoutEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
addPaymentInfo(params: Omit<PaymentInfoEventParams, 'measurementId'> & {
measurementId?: string;
payment_type: string;
items: CommerceItemInput[];
}): Promise<void>;
addShippingInfo(params: Omit<ShippingInfoEventParams, 'measurementId'> & {
measurementId?: string;
shipping_tier: string;
items: CommerceItemInput[];
}): Promise<void>;
viewItem(params: Omit<ViewItemEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
viewItemList(params: Omit<ViewItemListEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
selectItem(params: Omit<SelectItemEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
viewPromotion(params: Omit<PromotionEventParams, 'measurementId'> & {
measurementId?: string;
}): Promise<void>;
selectPromotion(params: Omit<PromotionEventParams, 'measurementId'> & {
measurementId?: string;
}): Promise<void>;
addToWishlist(params: Omit<WishlistEventParams, 'measurementId'> & {
measurementId?: string;
items: CommerceItemInput[];
}): Promise<void>;
generateLead(params: Omit<LeadEventParams, 'measurementId'> & {
measurementId?: string;
}): Promise<void>;
destroy(): void;
}
//# sourceMappingURL=CommerceTracker.d.ts.map