A class for adding metadata to event properties.
new pathing.Parameter( label: string, key: string, value: any )
Configuration object for customizing tracking behavior.
pathing.config({ trackPageviews: boolean, trackClicks: boolean, trackForms: boolean, respectDNT: boolean })
Tracks a purchase or conversion event.
pathing.send.purchase({ product: string | Parameter, price: number | Parameter, currency?: string | Parameter, quantity?: number | Parameter, category?: string | Parameter }): Promise<void>
Tracks media playback events (video/audio).
pathing.send.playback({ content: string | Parameter, duration: number | Parameter, progress: number | Parameter, // 0-1 ratio, action?: 'play' | 'pause' | 'seek' | 'complete' | string | Parameter }): Promise<void>
Tracks any custom event type.
pathing.send.raw( type: string, data: Record<string, any> ): Promise<void>
Bind purchase tracking to an element's click event.
pathing.link.purchase( element: HTMLElement, data: Record<string, any>, options?: { preventDefault?: boolean } ): HTMLElement
Bind playback tracking to a media element.
pathing.link.playback( element: HTMLMediaElement, data: Record<string, any> ): HTMLMediaElement
Bind any custom event to an element.
pathing.link.raw( element: HTMLElement, type: string, data: Record<string, any>, options?: { preventDefault?: boolean } ): HTMLElement
Using with React for automatic route tracking.
// components/PathingTracker.tsx 'use client'; import { useEffect } from 'react'; import { usePathname } from 'next/navigation'; export function PathingTracker() { const pathname = usePathname(); useEffect(() => { if (window.pathing && pathname) { window.pathing.send.raw("pageview", { path: pathname, title: document.title, isVirtualPageview: true }); } }, [pathname]); return null; } // Add <PathingTracker /> to your layout.tsx