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

161 lines (160 loc) • 4.29 kB
export interface ProductData { id: string; name?: string; price: number; quantity?: number; currency?: string; category?: string; brand?: string; variant?: string; } export interface UserData { email?: string; phone?: string; firstName?: string; lastName?: string; clientIpAddress?: string; clientUserAgent?: string; fbp?: string; fbc?: string; externalId?: string; loginId?: string; zipCode?: string; city?: string; state?: string; country?: string; dateOfBirth?: string; gender?: 'M' | 'F' | 'm' | 'f'; subscriptionId?: string; fbLoginId?: string; leadId?: string; f5first?: string; f5last?: string; fi?: string; dobd?: string; dobm?: string; doby?: string; madid?: string; anonId?: string; appUserId?: string; ctwaClid?: string; pageId?: string; } export interface CustomData { value?: number; currency?: string; contentName?: string; contentCategory?: string; contentIds?: string[]; contents?: Array<{ id: string; quantity: number; itemPrice?: number; title?: string; category?: string; brand?: string; }>; contentType?: string; orderId?: string; searchString?: string; status?: string; numItems?: number; deliveryCategory?: string; customProperties?: { [key: string]: unknown; }; } export interface EventData { eventName: string; eventTime?: number; eventId?: string; eventSourceUrl?: string; actionSource?: 'website' | 'email' | 'app' | 'phone_call' | 'chat' | 'physical_store' | 'system_generated' | 'other'; userData?: UserData; customData?: CustomData; testEventCode?: string; } export interface ServerEventData extends EventData { eventSourceUrl: string; userData: UserData; optOut?: boolean; dataProcessingOptions?: string[]; dataProcessingOptionsCountry?: number; dataProcessingOptionsState?: number; } export interface MetaPixelConfig { pixelId: string; debug?: boolean; autoInit?: boolean; testEventCode?: string; version?: string; agent?: string; } export interface ConversionAPIConfig { accessToken: string; pixelId: string; debug?: boolean; testEventCode?: string; apiVersion?: string; appSecret?: string; partnerAgent?: string; namespaceId?: string; uploadId?: string; uploadTag?: string; uploadSource?: string; } export interface HybridTrackerConfig { pixelId: string; serverEndpoint?: string; debug?: boolean; testEventCode?: string; enableClientTracking?: boolean; enableServerTracking?: boolean; } export interface PurchaseData { orderId: string; value: number; currency: string; products: ProductData[]; eventId?: string; customData?: CustomData; } export interface CheckoutData { value: number; currency: string; products: ProductData[]; eventId?: string; customData?: CustomData; } export interface SearchData { searchTerm: string; eventId?: string; customData?: CustomData; } export interface RegistrationData { method?: string; status?: string; eventId?: string; customData?: CustomData; } export interface EventResponse { eventsReceived?: number; messages?: string[]; fbtrace_id?: string; id?: string; numProcessedEntries?: number; events_received?: number; } export interface TrackingError extends Error { code?: string; fbtrace_id?: string; details?: unknown; } export interface ValidationResult { isValid: boolean; errors: string[]; warnings: string[]; } export type EventName = 'PageView' | 'ViewContent' | 'Search' | 'AddToCart' | 'AddToWishlist' | 'InitiateCheckout' | 'AddPaymentInfo' | 'Purchase' | 'Lead' | 'CompleteRegistration' | 'Contact' | 'CustomizeProduct' | 'Donate' | 'FindLocation' | 'Schedule' | 'StartTrial' | 'SubmitApplication' | 'Subscribe' | string; export type Currency = 'USD' | 'EUR' | 'GBP' | 'CAD' | 'AUD' | 'JPY' | 'CNY' | 'INR' | 'BDT' | 'PKR' | 'NGN' | 'KES' | 'ZAR' | 'EGP' | string; export type ContentType = 'product' | 'product_group' | 'destination' | 'flight' | 'hotel' | 'vehicle' | string;