Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
a simple pixel tracker for node.js
branch: master

oops

latest commit 686400e93c
Thomas Blobaum authored
Failed to load latest commit information.
example express app example
test close the server properly
.gitignore update gitignore
.travis.yml update travis with v0.8
LICENSE remove /lib/
README.md update readme with maxAge option
index.js replace expires with maxAge
package.json
pixel.gif move pixel.gif out of /lib

README.md

pixel-tracker

A simple pixel-tracker for node.js

Build Status

Example

Collect some data with parameters, along with the defaults

var tracker = require('pixel-tracker')

tracker.use(function (error, result) {
  console.log(result)

  /*
  {
    "cookies": { "_tracker": "58f911166e6d31041eba8d06e11e3f77" },
    "host": "localhost:3000",
    "cache": { "max-age": "0" },
    "referer": "direct",
    "params": [],
    "decay": 1342597993859,
    "useragent": { "browser": "Chrome", "version": "20.0" },
    "language": [ "en-US", "en", { "q": "0.8" } ],
    "geo": { "ip": "127.0.0.1" },
    "domain": "localhost"
  }
  */

})

// ..

app.all('/pixel', tracker.middleware)

app.listen()

Methods

var tracker = require('pixel-tracker')

tracker.use(callback)

The callback function is called with error, result. Multiple callbacks can be used.

tracker.configure(options)

pixel-tracker has a few configurable options.

disable_cookies defaults to false maxAge defaults to 2 days, which may not be desirable based on your use case

tracker.middleware(request, response)

A function to be called for each http request which calls response.end with a 1x1 pixel for every request and then calls all the functions provided with tracker.use. This works out of the box with express and would also work with any vanilla http server as long as a cookies implementation is provided for the response object (or cookies are disabled)

var tracker = require('pixel-tracker')

tracker
  .use(function (error, result) {
    // do something with result
    // ...

  })
  .configure({ disable_cookies : true })

require('http').createServer(tracker.middleware).listen(3000)

Install

npm install pixel-tracker

Tests

npm install -g tap && npm test

License

MIT

Something went wrong with that request. Please try again.