@betterlytics/tracker
v0.2.0
Published
Privacy-focused, cookieless analytics for your website
Maintainers
Readme
@betterlytics/tracker
Privacy-focused, cookieless analytics for your website. Simple integration with just a few lines of code.
Installation
Install the package using your preferred package manager:
# npm
npm install @betterlytics/tracker
# yarn
yarn add @betterlytics/tracker
# pnpm
pnpm add @betterlytics/tracker
# bun
bun add @betterlytics/trackerUsage
Import and initialize Betterlytics in your application:
import betterlytics from "@betterlytics/tracker";
// Initialize Betterlytics
betterlytics.init("your-site-id");
// Track custom events
betterlytics.event("newsletter-signup");
betterlytics.event("button-click", { button: "cta-header" });You can also initialize Betterlytics with optional parameters like this:
import betterlytics from "@betterlytics/tracker";
// Initialize Betterlytics with optional configurations
betterlytics.init("your-site-id", {
dynamicUrls: ["/users/*", "/products/*"], // optional
});Custom Events
Track user interactions and conversions with custom events. Learn more about custom events in our documentation.
// Track conversions
betterlytics.event("purchase", {
product: "premium-plan",
value: 29.99,
currency: "USD",
});
// Track engagement
betterlytics.event("video-play", {
video: "onboarding-tutorial",
duration: 120,
});Dynamic URLs
Dynamic URLs contain variable segments that change based on user context, making them difficult to analyze collectively. Betterlytics supports single (*) and double (**) wildcards to normalize these URLs. Learn more about dynamic URLs in our documentation.
betterlytics.init("your-site-id", {
dynamicUrls: ["/users/*", "/products/*/reviews", "/blog/**"],
});Web Vitals
Web Vitals tracking is disabled by default. Web Vitals in our documentation.
To enable tracking of Core Web Vitals:
betterlytics.init("your-site-id", {
enableWebVitals: true,
});Outbound Links
Outbound Links are the external links your users click on on your site.
Only the domain of these links are tracked by default. Outbound Links in our documentation.
To track the full Outbound Links, and not just the domain:
betterlytics.init("your-site-id", {
outboundLinksMode: "full",
});To disable Outbound Link tracking:
betterlytics.init("your-site-id", {
disableOutboundLinks: true,
});Session Replay
Session Replay is disabled by default. Session Replay in our documentation.
To enable Session Replay:
betterlytics.init("your-site-id", {
enableSessionReplay: true,
});You can also configure the replay settings:
betterlytics.init("your-site-id", {
enableSessionReplay: true,
replaySample: 20,
consentReplay: true,
});Configuration
Required Options
siteId: Your unique site identifier from your Betterlytics Dashboard
Optional Options
dynamicUrls: Array of URL patterns to normalize (e.g.,['/users/*', '/products/*'])serverUrl: Custom tracking server URL (defaults tohttps://betterlytics.io/event)scriptUrl: Custom analytics script URL (defaults tohttps://betterlytics.io/analytics.js)enableWebVitals: Boolean value for enabling Web Vitals tracking (defaults tofalse)disableOutboundLinks: Boolean value for disabling Outbound Link tracking (defaults tofalse)outboundLinksMode: Mode for what is being tracked for Outbound Links (Options:"domain" | "full"defaults to"domain")enableSessionReplay: Boolean value for enabling Session Replay (defaults tofalse)consentReplay: Boolean value. Indicates consent is already granted (defaults tofalse)replaySample: Number (0-100). Percent of eligible sessions to record (defaults to5)replayMinDuration: Number (seconds). Minimum recording length required to upload/finalize (defaults to15)replayIdleCutoff: Number (seconds). Auto‑stop after this many seconds of inactivity (defaults to600)replayMaxDuration: Number (seconds). Hard cap on total recording length (defaults to1200)disableReplayOnUrls: Array of URL patterns where recording is disabled (defaults to[])debug: Boolean value for console warnings (defaults tofalse)
Links
License
MIT
