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

106 lines (105 loc) • 2.82 kB
import { MetaPixelConfig, ProductData, CheckoutData, PurchaseData, SearchData, RegistrationData, EventName } from './types'; declare global { interface Window { fbq: FacebookPixelFunction; fbevents?: Record<string, unknown>; } } interface FacebookPixelFunction { (...args: unknown[]): void; callMethod?: ((...args: unknown[]) => void) | null; queue?: unknown[]; loaded?: boolean; version?: string | undefined; agent?: string | undefined; } /** * Meta Pixel (Facebook Pixel) client-side tracker * Handles client-side tracking using the Facebook Pixel */ export declare class MetaPixelTracker { private config; private isInitialized; constructor(config: MetaPixelConfig); /** * Initialize the Meta Pixel */ init(): void; /** * Set up the Meta Pixel script and initialize fbq */ private setupPixel; /** * Enable debug mode for development */ private enableDebugMode; /** * Load the Facebook Pixel script */ private loadPixelScript; /** * Track a custom event * @param eventName - Name of the event * @param parameters - Event parameters * @param eventId - Optional event ID for deduplication */ trackEvent(eventName: EventName, parameters?: Record<string, unknown>, eventId?: string): void; /** * Track page view */ trackPageView(): void; /** * Track product view * @param product - Product data */ trackProductView(product: ProductData): void; /** * Track add to cart * @param product - Product data */ trackAddToCart(product: ProductData): void; /** * Track initiate checkout * @param data - Checkout data */ trackInitiateCheckout(data: CheckoutData): void; /** * Track purchase * @param data - Purchase data */ trackPurchase(data: PurchaseData): void; /** * Track search * @param data - Search data */ trackSearch(data: SearchData): void; /** * Track user registration * @param data - Registration data */ trackRegistration(data?: RegistrationData): void; /** * Track add to wishlist * @param product - Product data */ trackAddToWishlist(product: ProductData): void; /** * Track lead generation * @param data - Lead data */ trackLead(data?: Record<string, unknown>): void; /** * Get current configuration */ getConfig(): MetaPixelConfig; /** * Check if pixel is initialized */ isReady(): boolean; /** * Update configuration (requires re-initialization) * @param newConfig - New configuration */ updateConfig(newConfig: Partial<MetaPixelConfig>): void; } export default MetaPixelTracker;