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
TypeScript
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;