React JS wrapper for Facebook's Pixel
npm install --save react-facebook-pixel
or
yarn add react-facebook-pixel
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
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.
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>.
...npm run start
Default dev server runs at localhost:8080 in browser. You can set IP and PORT in webpack.config.dev.js
npm run bundle