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
TypeScript
import * as neverthrow from 'neverthrow';
import * as facebook_nodejs_business_sdk from 'facebook-nodejs-business-sdk';
import { Facebook } from './types.js';
/**
* 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 };