Analytics
/

CrazyEgg

Using the CrazyEgg plugin


Integration with crazy egg for analytics

Crazy Egg adds heat mapping, A/B testing, and session recording functionality to websites and applications. This allows developers, marketers, and product owners to see what is working and what areas of an application might need improvements.

This analytics plugin will load Crazy Egg into your application.

Click to expand

Installation

Install analytics and @analytics/crazy-egg packages

npm install analytics
npm install @analytics/crazy-egg

How to use

The @analytics/crazy-egg 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 crazyEgg from '@analytics/crazy-egg'

const analytics = Analytics({
  app: 'awesome-app',
  plugins: [
    // This will load crazy egg on to the page
    crazyEgg({
      accountNumber: '1234578'
    })
  ]
})

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

Platforms Supported

The @analytics/crazy-egg package works in the browser

Browser usage

See below from browser API

Browser API

import Analytics from 'analytics'
import crazyEgg from '@analytics/crazy-egg'

const analytics = Analytics({
  app: 'awesome-app',
  plugins: [
    // This will load crazy egg on to the page
    crazyEgg({
      accountNumber: '1234578'
    })
  ]
})

Configuration options for browser

Optiondescription
accountNumber
required - string
crazy egg account ID

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/crazy-egg in HTML</title>
    <script src="https://unpkg.com/analytics/dist/analytics.min.js"></script>
    <script src="https://unpkg.com/@analytics/crazy-egg/dist/@analytics/crazy-egg.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
          analyticsCrazyEgg({
            accountNumber: '1234578'
          })
        ]
      })
    </script>
  </head>
  <body>
    ....
  </body>
</html>
Using in HTML via ES Modules

Using @analytics/crazy-egg in ESM modules.

<!DOCTYPE html>
<html>
  <head>
    <title>Using @analytics/crazy-egg 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 analyticsCrazyEgg from 'https://unpkg.com/@analytics/crazy-egg/lib/analytics-plugin-crazy-egg.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
          analyticsCrazyEgg({
            accountNumber: '1234578'
          })
          // ... add any other third party analytics plugins
        ]
      })
    </script>
  </head>
  <body>
    ....
  </body>
</html>

Usage

Include analytics and @analytics/crazy-egg in the source code of your project.

Initialize analytics with the crazy-egg plugin and the crazy-egg heat mapping script will be automatically loaded into the page.

import Analytics from 'analytics'
import crazyEgg from '@analytics/crazy-egg'

const analytics = Analytics({
  app: 'awesome-app',
  plugins: [
    crazyEgg({
      accountNumber: '12345678'
    }),
  ]
})

// Crazy Egg is now loaded!

See the full list of analytics provider plugins in the main repo.