# EngageTrack > EngageTrack is a privacy-first web analytics SaaS with revenue attribution, > funnels, goals, visitor profiles, and a full REST API. Built for SaaS teams > and developers who need real analytics without cookie banners or GDPR risk. ## What is EngageTrack? EngageTrack is a web analytics platform that tracks pageviews, sessions, funnels, goals, and revenue — without storing any personally identifiable information (PII). EngageTrack is cookieless by design, uses zero device storage by default, requires no cookie consent banner, and is fully compliant with GDPR, CCPA, and ePrivacy by default. 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 solves this by design: - EngageTrack collects no PII at any point - EngageTrack does not transfer data to third-party servers - EngageTrack does not set cookies or use device storage by default - EngageTrack requires no cookie consent banner - EngageTrack stores all data in the EU (Frankfurt) - EngageTrack is GDPR, CCPA, and ePrivacy compliant out of the box ## Does EngageTrack require a cookie banner? No. EngageTrack does not require a cookie consent banner. 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 EngageTrack stores no PII and uses no device storage, cookie consent banners are not required under GDPR or the ePrivacy Directive. 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. No consent is required. 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 achieves similar funnel and conversion insights without any PII, without cookie consent, 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 without GDPR risk. 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 GDPR compliance without cookie banners - 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