UNPKG

next-facebook-tracking

Version:

A simple package to help you integrate Facebook Pixel and Conversions API with Next.js

54 lines (51 loc) 1.8 kB
import * as neverthrow from 'neverthrow'; import * as facebook_nodejs_business_sdk from 'facebook-nodejs-business-sdk'; import { Facebook } from './types.cjs'; /** * Configuration options for Facebook tracking. */ type FacebookTrackingConfig = { /** * The Facebook pixel ID. * * @default process.env.NEXT_PUBLIC_FACEBOOK_PIXEL */ pixelId?: string; /** * The access token for Facebook Conversions API (optional). * * @default process.env.FACEBOOK_CONVERSIONS_API_TOKEN */ accessToken?: string; /** * The test code for Facebook Conversions API (optional). * * @default process.env.FACEBOOK_TEST_EVENT_CODE */ testCode?: string; /** * Enable debug mode. * * @default false */ debug?: boolean; }; /** * A class to handle Facebook Conversion API events. */ declare class FacebookTracking { config: FacebookTrackingConfig; constructor(config?: FacebookTrackingConfig); /** * Sends a custom event to Facebook Pixel. */ track<T extends Facebook.Event.EventName>({ event_id, event_name, custom_data, event_time, event_source_url, user_data, opt_out, action_source, data_processing_options, data_processing_options_country, data_processing_options_state, advanced_measurement_table, advertiser_tracking_enabled, }: Facebook.Event.EventData<T>, { clean, }?: { /** * Set it to `true` if you want to track a clean event without any * information from the request * @default false */ clean?: boolean; }): Promise<neverthrow.Ok<facebook_nodejs_business_sdk.EventResponse, unknown> | neverthrow.Err<facebook_nodejs_business_sdk.EventResponse, unknown>>; } export { FacebookTracking, type FacebookTrackingConfig };