Nearly Picked Makefiles

    @analytics/mixpanel

    0.4.0 • Public • Published

    Mixpanel plugin for analytics

    Integration with Mixpanel for analytics

    This analytics plugin will load Mixpanel's client side tracking script into your application and send custom events, page views, and identify visitors inside Mixpanel.

    View the docs

    Click to expand

    Installation

    Install analytics and @analytics/mixpanel packages

    npm install analytics
    npm install @analytics/mixpanel

    How to use

    The @analytics/mixpanel package works in the browser. To use, install the package, include in your project and initialize the plugin with analytics.

    Below is an example of how to use the browser plugin.

    import Analytics from 'analytics'
    import mixpanelPlugin from '@analytics/mixpanel'
    
    const analytics = Analytics({
      app: 'awesome-app',
      plugins: [
        mixpanelPlugin({
          token: 'abcdef123'
        })
      ]
    })
    
    /* Track a page view */
    analytics.page()
    
    /* Track a custom event */
    analytics.track('cartCheckout', {
      item: 'pink socks',
      price: 20
    })
    
    /* Identify a visitor */
    analytics.identify('user-id-xyz', {
      firstName: 'bill',
      lastName: 'murray'
    })

    After initializing analytics with the mixpanelPlugin plugin, data will be sent into Mixpanel whenever analytics.identify, analytics.page, or analytics.track are called.

    See additional implementation examples for more details on using in your project.

    Platforms Supported

    The @analytics/mixpanel package works in the browser

    Browser usage

    The Mixpanel client side browser plugin works with these analytic api methods:

    Browser API

    import Analytics from 'analytics'
    import mixpanelPlugin from '@analytics/mixpanel'
    
    const analytics = Analytics({
      app: 'awesome-app',
      plugins: [
        mixpanelPlugin({
          token: 'abcdef123'
        })
      ]
    })

    Configuration options for browser

    Option description
    token
    required - string
    The mixpanel token associated to a mixpanel project
    pageEvent
    optional - string
    Event name to use for page() events (default to page path)
    customScriptSrc
    optional - string
    Load mixpanel script from custom source

    Additional examples

    Below are additional implementation examples.

    Using in HTML

    Below is an example of importing via the unpkg CDN. Please note this will pull in the latest version of the package.

    <!DOCTYPE html>
    <html>
      <head>
        <title>Using @analytics/mixpanel in HTML</title>
        <script src="https://unpkg.com/analytics/dist/analytics.min.js"></script>
        <script src="https://unpkg.com/@analytics/mixpanel/dist/@analytics/mixpanel.min.js"></script>
        <script type="text/javascript">
          /* Initialize analytics */
          var Analytics = _analytics.init({
            app: 'my-app-name',
            plugins: [
              analyticsMixpanel({
                token: 'abcdef123'
              })
            ]
          })
    
          /* Track a page view */
          analytics.page()
    
          /* Track a custom event */
          analytics.track('cartCheckout', {
            item: 'pink socks',
            price: 20
          })
    
          /* Identify a visitor */
          analytics.identify('user-id-xyz', {
            firstName: 'bill',
            lastName: 'murray'
          })
        </script>
      </head>
      <body>
        ....
      </body>
    </html>
    Using in HTML via ES Modules

    Using @analytics/mixpanel in ESM modules.

    <!DOCTYPE html>
    <html>
      <head>
        <title>Using @analytics/mixpanel in HTML via ESModules</title>
        <script>
          // Polyfill process.
          // **Note**: Because `import`s are hoisted, we need a separate, prior <script> block.
          window.process = window.process || { env: { NODE_ENV: 'production' } }
        </script>
        <script type="module">
          import analytics from 'https://unpkg.com/analytics/lib/analytics.browser.es.js?module'
          import analyticsMixpanel from 'https://unpkg.com/@analytics/mixpanel/lib/analytics-plugin-mixpanel.browser.es.js?module'
          /* Initialize analytics */
          const Analytics = analytics({
            app: 'analytics-html-demo',
            debug: true,
            plugins: [
              analyticsMixpanel({
                token: 'abcdef123'
              })
              // ... add any other third party analytics plugins
            ]
          })
    
          /* Track a page view */
          analytics.page()
    
          /* Track a custom event */
          analytics.track('cartCheckout', {
            item: 'pink socks',
            price: 20
          })
    
          /* Identify a visitor */
          analytics.identify('user-id-xyz', {
            firstName: 'bill',
            lastName: 'murray'
          })
        </script>
      </head>
      <body>
        ....
      </body>
    </html>

    Install

    npm i @analytics/mixpanel

    DownloadsWeekly Downloads

    17,541

    Version

    0.4.0

    License

    MIT

    Unpacked Size

    42.2 kB

    Total Files

    10

    Last publish

    Collaborators

    • davidwells