{"adoption": {"forks": 186, "observed_at": "2026-08-28T04:03:12.693722+00:00", "stars": 1008}, "canonical_url": "https://ross.abutalabs.com/products/angulartics2", "card": {"archived": false, "artifact_type": "library", "description": "Vendor-agnostic analytics for Angular2 applications.", "domain": ["web-development", "frontend", "analytics"], "enriched": true, "function": ["analytics"], "health_score": 65, "homepage": null, "language": "TypeScript", "license": "MIT", "license_family": "permissive", "maturity": "maintenance", "member_repos": ["angulartics/angulartics2"], "name": "angulartics/angulartics2", "platform": [], "pushed_at": "2026-01-13T11:52:49+00:00", "repo": "angulartics/angulartics2", "stars": 1008, "tags": ["angular", "google-analytics", "vendor-agnostic", "page-tracking", "event-tracking", "npm-package", "web-server", "nodejs", "typescript"], "topics": ["angular", "angular2", "google-analytics", "angulartics2", "analytics", "piwik", "baidu-analytics", "google-tag-manager", "mixpanel", "kissmetrics", "facebook-pixel", "application-insights", "angulartics", "segmentio", "ngx", "angular4", "angular5", "hack", "hacktoberfest"], "urls": [], "use_cases": ["add web analytics to an Angular app", "track pageviews automatically on route changes in Angular", "send custom event tracking from Angular components and templates", "switch analytics providers without rewriting tracking code", "integrate Google Tag Manager or Google Analytics with Angular", "exclude certain routes from analytics tracking", "track events in Angular templates with directives"], "what_it_is": "Angulartics2 is a vendor-agnostic analytics library for Angular applications that provides a unified API for tracking pageviews and events across many analytics providers. It integrates with the Angular router for automatic page tracking and supports providers like Google Analytics, Google Tag Manager, Matomo, Mixpanel, Segment, and Amplitude.", "when_to_avoid": ["your project is not built with Angular", "you need analytics for a React, Vue, or vanilla JS app", "you need a provider that angulartics2 does not support and cannot add via its plugin interface"], "when_to_choose": ["you have an Angular application and want analytics with minimal vendor lock-in", "you need automatic pageview tracking tied to the Angular router", "you want one consistent API across multiple analytics providers"]}, "data_as_of": "2026-08-30T08:39:29.467469+00:00", "members": [{"path": "/products/angulartics2", "repo": "angulartics/angulartics2", "role": "main", "score": 51}], "provenance": {"archived": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "artifact_type": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "description": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "domain": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "enriched": {"inputs": [], "kind": "computed", "method": "enrichment_status"}, "function": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "health_score": {"inputs": ["days_since_push", "days_since_release", "archived"], "kind": "computed", "method": "health_v1"}, "homepage": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "language": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "license": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "license_family": {"inputs": ["license"], "kind": "computed", "method": "license_family"}, "maturity": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "member_repos": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "name": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "platform": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "pushed_at": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "repo": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "stars": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "tags": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "topics": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "urls": {"kind": "observed", "observed_at": "2026-08-28T04:03:12.693722+00:00", "source": "github"}, "use_cases": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "what_it_is": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "when_to_avoid": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}, "when_to_choose": {"confidence": null, "enriched_at": "2026-08-30T07:12:08.051229+00:00", "kind": "inferred", "prompt_version": 1, "sources": [{"content_hash": "3eb2e7d69f2e428e6842e625e8de26357c3f20c69000590903b0767c83794e2f", "fetched_at": "2026-08-28T04:03:12.693722+00:00", "kind": "readme", "missing": false, "url": "https://github.com/angulartics/angulartics2"}, {"content_hash": "f1ba536828ccf2fb07d4cb81f43b72871db51f77e8a8aa7fcea4653135460321", "fetched_at": "2026-08-29T13:12:18.993168+00:00", "kind": "registry_npm", "missing": false, "url": "https://registry.npmjs.org/angulartics2"}], "taxonomy_version": 1}}, "score": {"components": {"activity": 62, "longevity": 100, "rhythm": 8}, "computed_at": "2026-09-03T02:20:16.233290+00:00", "flags": [], "formula": "round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)", "inputs": {"age_days": 3899, "days_push": 232, "days_rel": null, "gap_med": null, "n_releases_24m": 0}, "score": 51, "version": 2}, "staleness": {"enrichment_outdated": false, "low_confidence": false, "scrape_days": 9, "stale_scrape": false}}