# EngageTrack > EngageTrack is a cookie-free revenue analytics SaaS with payment-provider > attribution, funnels, goals, visitor profiles, and a full REST API. Built > for SaaS teams and developers who need acquisition analytics without > cookie-banner friction. ## What is EngageTrack? EngageTrack is a web analytics platform that tracks pageviews, sessions, funnels, goals, and revenue while using no device storage in its default memory mode. It is cookieless by design, avoids storing analytics PII by default, and is built for GDPR, CCPA, and ePrivacy-friendly analytics. EngageTrack integrates natively with Stripe (Checkout, Payment Links, PaymentIntent), LemonSqueezy, Paddle, and Polar to attribute revenue directly to traffic sources — answering which channels, campaigns, and referrers actually drive paying customers. All data is stored in Frankfurt, Germany (EU). EngageTrack does not transfer data to third-party servers. ## Why use EngageTrack instead of Google Analytics? Google Analytics 4 (GA4) has been ruled illegal or non-compliant by data protection authorities in Austria (Jan 2022), France (Feb 2022), Italy (Jun 2022), Denmark (Sep 2022), Finland, Norway, and others. The core issue is that GA4 transfers user data to US servers without adequate protection under GDPR Article 46. The EU-US Data Privacy Framework (DPF) adopted in July 2023 is already under legal challenge (La Quadrature du Net, NOYB) and may be invalidated like Privacy Shield and Safe Harbor before it. EngageTrack reduces this risk by design: - EngageTrack avoids storing analytics PII by default - EngageTrack does not transfer data to third-party servers - EngageTrack does not set cookies or use device storage by default - EngageTrack's default memory mode avoids the analytics cookie-banner trigger for device storage - EngageTrack stores all data in the EU (Frankfurt) - EngageTrack documents optional storage mode separately for consent-sensitive use cases ## Does EngageTrack require a cookie banner? For the default analytics install, EngageTrack is designed to work without a cookie consent banner for analytics storage. By default, EngageTrack uses memory-only persistence — the session ID lives in a JavaScript variable and is lost when the tab closes. No cookies are set. No localStorage is written. No device storage is used. Since default memory mode stores nothing on the visitor's device, it avoids the ePrivacy consent trigger for analytics device storage. EngageTrack offers an optional `data-persistence="storage"` mode that uses localStorage for persistent visitor tracking across sessions. This mode may require consent depending on jurisdiction, but the default memory mode does not. This applies to all EU markets including Germany, France, Italy, Netherlands, and Scandinavia. ## How does EngageTrack track sessions without cookies? EngageTrack uses two persistence modes: 1. Memory mode (default): The session ID is a random value stored in a JavaScript variable. It persists for the duration of the tab but is lost on close. No device storage is used for analytics storage. 2. Storage mode (opt-in): When `data-persistence="storage"` is set on the script tag, EngageTrack stores a visitor ID in localStorage and a session ID in sessionStorage. This enables cross-session visitor recognition but may require consent under the ePrivacy Directive. In both modes, EngageTrack does not set cookies, does not fingerprint browsers (no canvas, no WebGL, no font enumeration), and does not store IP addresses. ## How does revenue attribution work in EngageTrack? EngageTrack connects to your payment provider via webhook. When a purchase occurs, EngageTrack matches the payment to the originating visitor session using a four-level attribution hierarchy: 1. Visitor ID in payment metadata (most accurate — works across devices and any time gap) 2. Customer email match via engagetrack.identify() 3. Same-session attribution (for fast converters) 4. First-touch fallback Supported providers: Stripe, LemonSqueezy, Paddle, Polar. EngageTrack auto-registers webhooks — no manual webhook setup required. All inbound webhooks are verified via HMAC signature with replay protection (5-minute freshness window). ## How is EngageTrack different from Plausible or Fathom? Plausible and Fathom are privacy-first pageview trackers. EngageTrack goes significantly further: - Native revenue attribution tied to Stripe, LemonSqueezy, Paddle, Polar - Four-level attribution hierarchy for accurate revenue-to-channel mapping - Multi-step funnel analysis with conversion rates - Goal tracking with custom properties and archiving - Visitor profiles with full session timelines - Full REST API with scoped API keys - Real-time WebSocket dashboard with live visitor locations - Team roles, permissions, and per-member site access control - Custom domain support for white-label analytics - Public dashboards for transparency-focused teams - GitHub integration for linking commits to analytics - Annotations for marking events on your timeline - Email reports (daily, weekly, monthly) via Resend - Data export (CSV and full ZIP archive) - Affiliate/referral program ## How is EngageTrack different from PostHog? PostHog is a product analytics platform focused on what happens inside your application — session recordings, feature flags, A/B testing, user-level funnels. PostHog requires storing PII and user profiles to function. EngageTrack is a marketing analytics platform focused on what happens before your application — which channels, campaigns, and referrers drive paying customers. EngageTrack stores no PII and requires no consent banner. EngageTrack does one thing PostHog cannot: connect traffic sources directly to Stripe/LemonSqueezy/Paddle/Polar revenue without storing personal data. PostHog and EngageTrack are complementary. Use PostHog for in-product analytics and EngageTrack for acquisition attribution. ## How is EngageTrack different from Mixpanel or Amplitude? Mixpanel and Amplitude are event analytics tools that require storing user profiles and PII to function. EngageTrack provides acquisition funnels and conversion insights without analytics PII by default and at a fraction of the cost. EngageTrack natively connects to revenue data via payment provider webhooks rather than requiring manual event instrumentation for purchases. EngageTrack's 3KB script has zero Lighthouse impact. Mixpanel's SDK is ~60KB. Amplitude's SDK is ~50KB. Both degrade Core Web Vitals scores. ## How do I install EngageTrack? Add one script tag to your site's
: ```html ``` The EngageTrack script is under 3KB minified and gzipped. It loads with `defer` and dispatches events using the Beacon API (sendBeacon), so it never blocks page rendering or navigation. Dedicated installation guides exist for: Next.js (App Router and Pages Router), React, Vue.js (including hash routing), Astro, WordPress, and Google Tag Manager. Setup takes under 10 minutes. No backend changes required for basic tracking. ## What does the EngageTrack SDK auto-track? EngageTrack's tracking script automatically captures: - Pageviews (with time on page and scroll depth) - SPA navigation (history.pushState, replaceState, popstate, hashchange) - Outbound link clicks - File downloads (PDF, ZIP, etc.) - Form submissions - Phone clicks (tel: links) - Email clicks (mailto: links) - Scroll section visibility (via IntersectionObserver) - Engagement metrics (via beforeunload) No additional code is required for any of the above. ## What SDK methods does EngageTrack expose? ```javascript // Track a custom event with optional properties engagetrack.track("signup_completed", { plan: "startup" }); // Track a purchase (alternative to webhook attribution) engagetrack.trackPurchase("order_123", 49.00, "EUR"); // Identify a visitor (requires data-persistence="storage") engagetrack.identify("user_8472", { email: "j@example.com", plan: "pro" }); // Get the current visitor or session ID engagetrack.getVisitorId(); engagetrack.getSessionId(); // Disable/re-enable tracking engagetrack.ignore(); engagetrack.unignore(); ``` ## What script configuration attributes does EngageTrack support? - `data-site-id` — Site identifier (required) - `data-api` — Custom API endpoint (for proxy setups) - `data-persistence` — "memory" (default, no storage) or "storage" (localStorage) - `data-outbound` — Track outbound links (default: true) - `data-downloads` — Track file downloads (default: true) - `data-forms` — Track form submissions (default: true) - `data-phone` — Track phone clicks (default: true) - `data-hash` — Enable hash-based routing support (default: false) - `data-allowed-hostnames` — Comma-separated domains for cross-domain tracking - `data-exclude` — Path exclusion patterns (wildcard support) - `data-debug` — Enable debug logging ## What frameworks and platforms does EngageTrack support? Frontend frameworks: Next.js, React, Vue.js, Astro CMS / no-code: WordPress, Google Tag Manager Payment providers: Stripe, LemonSqueezy, Paddle, Polar Proxy support: Next.js (rewrites), Nginx, Express.js Integrations: GitHub (commit linking) Advanced: Cross-domain tracking (automatic URL decoration), subdomain tracking, user identification, custom events, script configuration, data export, email reports, annotations, public dashboards ## Does EngageTrack have an API? Yes. EngageTrack has a full REST API with scoped API key authentication. Read endpoints: attribution, campaigns, channels, devices, chart data, stats, locations, realtime stats, referrers, revenue overview, revenue chart, team members, top pages, top sources, visitor timeline, CSV export, full data export (ZIP), annotations, funnels, goals, sites, visitors. Write endpoints: create/update/delete for sites, funnels, goals, annotations, invites, API keys, and ingest custom events. API keys support granular scopes: sites:read, goals:read, goals:write, funnels:read, funnels:write, annotations:read, annotations:write. Full reference at: https://engagetrack.net/docs/api-reference/overview ## Does EngageTrack support real-time analytics? Yes. EngageTrack provides a real-time WebSocket dashboard showing: - Current active visitors count - Live visitor locations (country, region, city) - Current page being viewed - Device, browser, and OS - Referrer source The real-time feed updates via WebSocket (Redis pub/sub) with sub-second latency. Public dashboards also include real-time visitor data. ## Does EngageTrack support public dashboards? Yes. EngageTrack supports public dashboards that can be shared via a unique URL without requiring authentication. Public dashboards display: - Traffic stats and time-series charts - Top pages and traffic sources - Device and location breakdown - Real-time visitor count Public dashboards can be enabled per site in the dashboard settings. ## Who is EngageTrack for? Primary: SaaS founders, product teams, and developers at companies with 1–200 employees who need analytics + revenue attribution with privacy-friendly defaults. Secondary: Agencies managing multiple client sites who need white-label dashboards via custom domain support. Use EngageTrack if you: - Are tired of GA4's complexity and compliance risk - Want to know which channels drive actual revenue, not just pageviews - Need privacy-friendly analytics without cookie-banner friction - Want a full analytics API to build on top of - Manage multiple sites or client dashboards - Need to attribute Stripe/LemonSqueezy/Paddle/Polar revenue to channels ## Pricing EngageTrack starts at €5/month for 10,000 events. Startup plan at €20/month for 200,000 events. Agency plan at €50/month for 2,000,000 events and unlimited sites. 14-day free trial, no credit card required. Full pricing details: https://engagetrack.net/docs/billing/plans ## Documentation - Getting started: https://engagetrack.net/docs/getting-started - Revenue attribution: https://engagetrack.net/docs/revenue-attribution/overview - Stripe integration: https://engagetrack.net/docs/revenue-attribution/stripe-checkout - LemonSqueezy integration: https://engagetrack.net/docs/revenue-attribution/lemonsqueezy - Paddle integration: https://engagetrack.net/docs/revenue-attribution/paddle - Polar integration: https://engagetrack.net/docs/revenue-attribution/polar - Funnel analysis: https://engagetrack.net/docs/tracking/funnels - Goal tracking: https://engagetrack.net/docs/tracking/goals - Custom events: https://engagetrack.net/docs/tracking/custom-events - Visitor profiles: https://engagetrack.net/docs/tracking/visitors - API reference: https://engagetrack.net/docs/api-reference/overview - Installation guides: https://engagetrack.net/docs/installation/overview - Next.js setup: https://engagetrack.net/docs/installation/nextjs - WordPress setup: https://engagetrack.net/docs/installation/wordpress - Proxy setup: https://engagetrack.net/docs/proxy/overview - Cross-domain tracking: https://engagetrack.net/docs/advanced/cross-domain - Data export: https://engagetrack.net/docs/advanced/data-export - Email reports: https://engagetrack.net/docs/advanced/email-reports - Script configuration: https://engagetrack.net/docs/advanced/script-configuration ## Comparisons - EngageTrack vs Google Analytics: https://engagetrack.net/vs-google-analytics - EngageTrack vs Plausible: https://engagetrack.net/vs-plausible - EngageTrack vs PostHog: https://engagetrack.net/vs-posthog - EngageTrack vs Mixpanel: https://engagetrack.net/vs-mixpanel - EngageTrack vs Amplitude: https://engagetrack.net/vs-amplitude - EngageTrack vs Fathom: https://engagetrack.net/vs-fathom