Socket
Book a DemoInstallSign in
Socket

@forked-prs/nuxt-facebook-pixel-module

Package Overview
Dependencies
Maintainers
1
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@forked-prs/nuxt-facebook-pixel-module

Nuxt plugin for Facebook pixel

1.5.1
latest
Source
npmnpm
Version published
Maintainers
1
Created
Source

nuxt-facebook-pixel-module

A NuxtJS module thats injects Facebook Pixel code

Table of Contents

  • Requirements
  • Install
  • Getting Started
  • License

Requirements

  • npm or yarn
  • NuxtJS
  • NodeJS

Install

  • Add @forked-prs/nuxt-facebook-pixel-module dependency to your project
yarn add --dev @forked-prs/nuxt-facebook-pixel-module # or npm install --save-dev @forked-prs/nuxt-facebook-pixel-module

Getting Started

  • Add @forked-prs/nuxt-facebook-pixel-module to the buildModules section of nuxt.config.js
export default {
  buildModules: [
    ['@forked-prs/nuxt-facebook-pixel-module', {
      track: 'PageView',
      pixelId: 'FACEBOOK_PIXEL_ID',
      disabled: false,
      debug: false,
    }]
  ]
}

:warning: If you are using Nuxt < v2.9 you have to install the module as a dependency (No --dev or --save-dev flags) and use modules section in nuxt.config.js instead of buildModules.

Using top level options

export default {
  buildModules: [
    '@forked-prs/nuxt-facebook-pixel-module'
  ],
  facebook: {
    track: 'PageView',
    pixelId: 'FACEBOOK_PIXEL_ID',
  }
}

Runtime Config

You can use runtime config if need to use dynamic environment variables in production. Otherwise, the options will be hardcoded during the build and won't be read from nuxt.config anymore.

export default {
  buildModules: [
    '@forked-prs/nuxt-facebook-pixel-module'
  ],

  facebook: {
    pixelId: '123456789012345', // Used as fallback if no runtime config is provided
  },

  publicRuntimeConfig: {
    facebook: {
      /* module options */
      pixelId: process.env.FB_PIXEL_ID || 'some-staging-key',
      disabled: false,
      debug: !!process.env.FB_PIXEL_DEBUG,
    }
  },
}

Disabling the pixel (for GDPR)

If you'd like to install the pixel disabled, and enable it later after the user has consented to its use, you can do so by setting disabled: true in the pixel configuration:

{
  buildModules: [
    '@forked-prs/nuxt-facebook-pixel-module',
  ],
  facebook: {
    ...
    disabled: true
  },
}

By Default it is disabled in development mode you can set debug: true

to enable while in dev or if using conjuction with runtimeconfig you can set FB_PIXEL_DEBUG=true in your .env

Now, in your component, you can call the following in order to start the pixel and track the current page.

this.$fb.enable()

Module options

List of possible options in the module:

OptionDefaultRequiredDescription
pixelIdnulltrueThe unique pixel identifier provided by Facebook.
trackPageViewfalseDefault tracking event.
version2.0falseTracking version.
disabledfalsefalseDisable the Pixel by default when initialized. Can be enabled later through $fb.enable().

Facebook pixel instance

The tracking pixel instance is available on all vue component instances as $fb. It has the following methods:

MethodPurposeEquivalent to
enable()If you had previously set disabled: true in config, enables the pixel and tracks the current page view$fb.init(), $fb.track()
init()Initialises the pixelfbq('init', <options.pixelId>)
track(event, parameters)Sends a track event with optional parameters. It's PageView by default if the event is not defined.fbq('track', <options.track>, parameters)
query(key, value, parameters)Call the underlying fbq instance with anything else. The parameters attribute is optional.fbq(key, value, parameters)

License

MIT License

Keywords

nuxtjs

FAQs

Package last updated on 10 Aug 2020

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.