React Facebook Pixel
React JS wrapper for Facebook's Pixel
Install
npm install --save react-facebook-pixel
or
yarn add react-facebook-pixel
Sponsors
React Facebook Pixel is being sponsored by the following tool; please help to support us by taking a look and signing up to a free trial
How to use
import ReactPixel from 'react-facebook-pixel';
const advancedMatching = { em: '[email protected]' }; // optional, more info: https://developers.facebook.com/docs/facebook-pixel/advanced/advanced-matching
const options = {
autoConfig: true, // set pixel's autoConfig. More info: https://developers.facebook.com/docs/facebook-pixel/advanced/
debug: false, // enable logs
};
ReactPixel.init('yourPixelIdGoesHere', advancedMatching, options);
ReactPixel.pageView(); // For tracking page view
ReactPixel.track(event, data); // For tracking default events. More info about standard events: https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking#standard-events
ReactPixel.trackSingle('PixelId', event, data); // For tracking default events.
ReactPixel.trackCustom(event, data); // For tracking custom events. More info about custom events: https://developers.facebook.com/docs/facebook-pixel/implementation/conversion-tracking#custom-events
ReactPixel.trackSingleCustom('PixelId', event, data); // For tracking custom events.
if you're bundling in CI
...
componentDidMount() {
const ReactPixel = require('react-facebook-pixel');
ReactPixel.default.init('yourPixelIdGoesHere');
}
...
otherwise CI will complain there's no window
.
GDPR Compliance
To be GDPR compliant, revoke the consent right after init and grant it when the user accepts to be tracked
...
ReactPixel.init('yourPixelIdGoesHere', advancedMatching, options);
ReactPixel.revokeConsent();
...
...
<button onClick={ReactPixel.grantConsent}>Accept cookies</button>.
...
Dev Server
npm run start
Default dev server runs at localhost:8080 in browser. You can set IP and PORT in webpack.config.dev.js
Production Bundle
npm run bundle