# DavidWells/analytics

Lightweight analytics abstraction layer for tracking page views, custom events, & identifying visitors

Repository: https://github.com/DavidWells/analytics
Canonical: https://ross.abutalabs.com/products/analytics
Homepage: https://getanalytics.io
Language: JavaScript
License: MIT
License Family: permissive
Topics: analytics, telemetry, metrics, analytics-utils, gdpr-compliant, wired
Last push: 2026-06-27T21:25:44+00:00

## Health v2 (maintenance only)
Score: 72/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 89, release rhythm 35, longevity 100
- inputs: {"age_days": 2871, "days_push": 67, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 2662, forks 266 (observed 2026-08-28T04:07:08.857367+00:00)

## What it is
A lightweight, isomorphic JavaScript analytics abstraction library for tracking page views, custom events, and identifying visitors. It uses a pluggable architecture to route tracking calls to any third-party analytics provider or your own backend, avoiding vendor lock-in.

## Use cases
- track page views and custom events in a web app
- swap analytics providers without rewriting tracking code
- send analytics to my own backend endpoint
- add gdpr-compliant opt-out tracking to a site
- unify google analytics, mixpanel, and segment behind one api
- track events in both browser and node.js
- build a custom analytics plugin for a javascript app

## When to choose
- you want a vendor-agnostic analytics layer with a plugin system
- you need isomorphic tracking that works in browser and server
- you value small bundle size (~13kb) and offline queuing
- you need lifecycle hooks to customize or cancel tracking calls

## When to avoid
- you need server-side data warehousing or multi-language SDKs like full Segment
- you want a hosted analytics dashboard out of the box
- you need non-JavaScript ecosystems

## Facets
- artifact type: library
- maturity: active
- function: analytics, middleware, plugin-system, sdk
- domain: analytics, web-development, frontend, developer-tools, privacy
- platform: browser, cross-platform
- tags: event-tracking, page-views, telemetry, gdpr-compliant, isomorphic, segment-alternative, lifecycle-hooks, offline-support, nodejs, javascript

## Member repositories
- DavidWells/analytics (main) score 72

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:07:08.857367+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T02:18:21.192268+00:00, confidence not recorded.
  - readme: https://github.com/DavidWells/analytics (fetched 2026-08-28T04:07:08.857367+00:00, sha 05972c9a7df7)
  - homepage: https://getanalytics.io (fetched 2026-08-29T10:01:31.160263+00:00, sha f9a737f76760)
  - site_page: https://getanalytics.io/tutorials/getting-started (fetched 2026-08-29T10:01:31.169502+00:00, sha 90b55df8bb49)
  - registry_npm: https://registry.npmjs.org/analytics (fetched 2026-08-29T10:01:31.176761+00:00, sha c3c4f0ce7268)
  - site_page: https://getanalytics.io/resources/faq (fetched 2026-08-29T10:01:31.171502+00:00, sha 88b584fbdd96)
  - site_page: https://getanalytics.io/api (fetched 2026-08-29T10:01:31.173189+00:00, sha d26ae9802cbc)
  - site_page: https://getanalytics.io/lifecycle (fetched 2026-08-29T10:01:31.174953+00:00, sha 4c0688f255eb)
- Data as of 2026-08-30T08:39:29.467469+00:00.
