Nerds Publishing Monstrosities

    @analytics/custify

    0.0.2 • Public • Published

    Custify plugin for analytics

    Integration with Custify for analytics

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

    View the docs

    Click to expand

    Installation

    Install analytics and @analytics/custify packages

    npm install analytics
    npm install @analytics/custify

    How to use

    The @analytics/custify package works in the browser and server-side in Node.js. 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 custifyPlugin from '@analytics/custify'
    
    const analytics = Analytics({
      app: 'awesome-app',
      plugins: [
        // This will load crazy egg on to the page
        custifyPlugin({
          accountId: '1234578'
        })
      ]
    })
    
    /* 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 custifyPlugin plugin, data will be sent into Custify whenever analytics.page, analytics.track, or analytics.identify are called.

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

    Platforms Supported

    The @analytics/custify package works in the browser and server-side in Node.js

    Browser usage

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

    Browser API

    import Analytics from 'analytics'
    import custifyPlugin from '@analytics/custify'
    
    const analytics = Analytics({
      app: 'awesome-app',
      plugins: [
        // This will load crazy egg on to the page
        custifyPlugin({
          accountId: '1234578'
        })
      ]
    })

    Configuration options for browser

    Option description
    accountId
    required - string
    custify account ID
    scriptInclude
    optional - boolean
    Load custify script into page
    options
    optional - object
    Custify script options

    Server-side usage

    The Custify server-side node.js plugin works with these analytic api methods:

    Server-side API

    import Analytics from 'analytics'
    import custifyPlugin from '@analytics/custify'
    
    const analytics = Analytics({
      app: 'awesome-app',
      plugins: [
        custifyPlugin({
          apiKey: 'abc123'
        })
      ]
    })

    Configuration options for server-side

    Option description
    apiKey
    required - string
    custify API key

    Additional examples

    Below are additional implementation examples.

    Server-side ES6
    import Analytics from 'analytics'
    import custifyPlugin from '@analytics/custify'
    
    const analytics = Analytics({
      app: 'awesome-app',
      plugins: [
        custifyPlugin({
          apiKey: 'abc123'
        })
        // ...other 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'
    })
    Server-side Node.js with common JS

    If using node, you will want to import the .default

    const analyticsLib = require('analytics').default
    const custifyPlugin = require('@analytics/custify').default
    
    const analytics = analyticsLib({
      app: 'my-app-name',
      plugins: [
        custifyPlugin({
          apiKey: 'abc123'
        })
      ]
    })
    
    /* 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'
    })
    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/custify in HTML</title>
        <script src="https://unpkg.com/analytics/dist/analytics.min.js"></script>
        <script src="https://unpkg.com/@analytics/custify/dist/@analytics/custify.min.js"></script>
        <script type="text/javascript">
          /* Initialize analytics */
          var Analytics = _analytics.init({
            app: 'my-app-name',
            plugins: [
              // This will load crazy egg on to the page
              analyticsCustify({
                accountId: '1234578'
              })
            ]
          })
    
          /* 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/custify in ESM modules.

    <!DOCTYPE html>
    <html>
      <head>
        <title>Using @analytics/custify 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 analyticsCustify from 'https://unpkg.com/@analytics/custify/lib/analytics-plugin-custify.browser.es.js?module'
          /* Initialize analytics */
          const Analytics = analytics({
            app: 'analytics-html-demo',
            debug: true,
            plugins: [
              // This will load crazy egg on to the page
              analyticsCustify({
                accountId: '1234578'
              })
              // ... 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/custify

    DownloadsWeekly Downloads

    8

    Version

    0.0.2

    License

    MIT

    Unpacked Size

    43.1 kB

    Total Files

    10

    Last publish

    Collaborators

    • davidwells