A tiny utility for working with analytics ids
on the server and in the browser.
Install with npm:
npm install --save analytics-idOr with yarn:
yarn add analytics-idimport analyticsId from 'analytics-id'
// generate or pull id from cookie/localStorage
analyticsId()
// call the function with string or number to set as id, otherwise pass in options
analyticsId('exampleId')import { get, set } from 'analytics-id'
set({ key: 'my_anon_id' }) // ajs-C1E42A94-FCE2-4851-87DD-695F576C5368 -> cookie or localStorage
get({ key: 'my_anon_id' }) // cookie or localStorage -> ajs-C1E42A94-FCE2-4851-87DD-695F576C5368These are the base options that can be passed in to both get and set functions:
analyticsId({
debug: true, // log operations to stdout
preset: String, // prefix/generateId/stores to use
cookie: String, // cookie string to use (browser default is document.cookie)
localStorage: Object // Storage object to use (browser default is window.localStorage)
})For setting analytics ids, you can specify an id field which will pass the options to setAnalyticsId(). If you don't set the id option, then getAnalyticsId() will be called with the options:
const id = await promptEmailFromUser()
analyticsId({ id })And for getting analytics ids, you can pass control if the preset tries to persist data:
console.log(document.cookie) // 'a=true'
const { cookie } = analyticsId({ persist: false })
console.log(document.cookie) // 'a=true'
console.log(cookie) // 'a=true; session_id=ajs-B31C9E91-D741-4146-913B-0E80199648D0'All contributions are super welcome! analytics-id is MIT-licensed.
