UNPKG

multi-platform-tracking-sdk

Version:

🚀 Professional Multi-Platform Tracking SDK for Facebook/Meta Pixel, Instagram Analytics & Google Tag Manager | Zero Dependencies | TypeScript Ready | Privacy Compliant GDPR/CCPA | Created by A. Z. M. Arif | Code Encover

111 lines (110 loc) • 3.32 kB
import { HybridTrackerConfig, ProductData, CheckoutData, PurchaseData, SearchData, RegistrationData } from './types'; /** * Hybrid tracker that combines client-side (Meta Pixel) and server-side tracking * Provides maximum tracking reliability and coverage */ export declare class HybridTracker { private config; private pixelTracker?; constructor(config: HybridTrackerConfig); /** * Send event to server endpoint for server-side tracking * @param eventData - Event data to send to server * @returns Promise with success status */ private sendToServer; /** * Track event on both client and server * @param clientTrackingFn - Function to execute client-side tracking * @param serverEventData - Data to send to server for server-side tracking */ private trackHybrid; /** * Track page view */ trackPageView(): Promise<void>; /** * Track product view * @param product - Product data */ trackProductView(product: ProductData): Promise<void>; /** * Track add to cart * @param product - Product data */ trackAddToCart(product: ProductData): Promise<void>; /** * Track initiate checkout * @param data - Checkout data */ trackInitiateCheckout(data: CheckoutData): Promise<void>; /** * Track purchase * @param data - Purchase data */ trackPurchase(data: PurchaseData): Promise<void>; /** * Track search * @param data - Search data */ trackSearch(data: SearchData): Promise<void>; /** * Track user registration * @param data - Registration data */ trackRegistration(data?: RegistrationData): Promise<void>; /** * Track add to wishlist * @param product - Product data */ trackAddToWishlist(product: ProductData): Promise<void>; /** * Track lead generation * @param data - Lead data */ trackLead(data?: Record<string, unknown>): Promise<void>; /** * Track custom event * @param eventName - Event name * @param parameters - Event parameters * @param eventId - Optional event ID */ trackCustomEvent(eventName: string, parameters?: Record<string, unknown>, eventId?: string): Promise<void>; /** * Get current configuration */ getConfig(): HybridTrackerConfig; /** * Update configuration * @param newConfig - New configuration */ updateConfig(newConfig: Partial<HybridTrackerConfig>): void; /** * Enable/disable client-side tracking * @param enabled - Whether to enable client-side tracking */ setClientTrackingEnabled(enabled: boolean): void; /** * Enable/disable server-side tracking * @param enabled - Whether to enable server-side tracking */ setServerTrackingEnabled(enabled: boolean): void; /** * Check if client-side tracking is ready */ isClientTrackingReady(): boolean; /** * Check if server-side tracking is configured */ isServerTrackingConfigured(): boolean; /** * Get tracking status */ getTrackingStatus(): { clientTracking: boolean; serverTracking: boolean; pixelReady: boolean; serverConfigured: boolean; }; } export default HybridTracker;