chart_with_upwards_trend Record install information for your npm packages in Google Analytics.

License: LGPL-3.0

Language: JavaScript

Keywords: analytics, google-analytics, install, npm, stats, tracking


Record install information for your npm packages in Google Analytics.

Inspired by install analytics provided by Homebrew, PyPI and Cocoapods.

install-stats helps you find out:

  • installed versions of your package
  • which versions of node.js are used to install your packages
  • which versions of npm are used to install your packages
  • which operating systems your packages installed on
  • which architectures (x86, x64 etc) your packages installed on
  • other names your package may be published under
  • plus most of the features of Google Analytics



First, if you haven't already got one, setup a Google Analytics account:

Create a new property and copy the tracking id, it should look like: UA-XXXXXX-XX

Next you need to create four custom dimensions within the google analytics property settings, the order is important:

Index Name Scope
1 node version Hit
2 npm version Hit
3 operating system Hit
4 architecture Hit

More detailed instructions here:

note: Due to a bug in npm@5 this can't be reliably loaded as a dependency so the script needs to be included within your module for now.

Copy and paste the contents of index.js into scripts/install-stats.js within your module.

Then add the postinstall script to the package.json file, including your Google Analytics property tracking id:

"scripts": {
  "postinstall": "TID=UA-XXXXXX-XX script/install-stats.js || exit 0"

Then publish a new version to npm and install data will begin to show up in Google Analytics under the Event sections.

Exporting data

This package does not provide any interface for exporting data directly but Google Analytics has an advanced API for generate reports that you can use to export data:

Installs are stored in Google Analytics as events (rather than traditional pageviews) with custom dimensions for each attribute of the system it was install in.


To disable stats tracking with the --ignore-scripts flag in npm, for a one time install:

npm install --ignore-scripts

Or permanently disable scripts with the following command:

npm config set ignore-scripts true


LGPL-3.0 © 2018 Andrew Nesbitt.

Project Statistics

Sourcerank 5
Repository Size 16.6 KB
Stars 7
Forks 0
Watchers 1
Open issues 0
Dependencies 0
Contributors 1
Tags 3
Last updated
Last pushed

Top Contributors See all

Andrew Nesbitt

Packages Referencing this Repo

Record install stats for npm modules
Latest release 1.0.6 - Updated - 7 stars

Recent Tags See all

v1.0.6 February 10, 2018
v1.0.5 February 10, 2018
v1.0.4 February 10, 2018

Something wrong with this page? Make a suggestion

Last synced: 2018-07-23 15:41:05 UTC

Login to resync this repository