webtracking.org

Fullstory

Autocapture-first digital experience analytics that records and indexes every interaction for session replay, funnels, and frustration signals.

Pricing
enterprise
Open source
No
Self-hostable
No

INTEGRATES: segment · rudderstack · amplitude · mixpanel · bigquery · snowflake

ALTERNATIVES: logrocket · hotjar · microsoft-clarity · posthog

Fullstory captures the full DOM and every user interaction by default, then lets you define events retroactively — you can build a funnel on a button that was never explicitly instrumented and see its history. Frustration signals (rage clicks, dead clicks, error clicks) are derived automatically from the same capture, and warehouse export ships the structured interaction data to BigQuery or Snowflake for analysis outside the product.

Implementation is a small capture snippet or the @fullstory/browser npm package; Google Tag Manager, Segment, and Tealium installs are also supported. The Browser API v2 handles user identity with identify and anonymize, lets you send custom events and page properties on top of the autocapture (with property types inferred automatically — no more type suffixes), and exposes stop/restart for consent-gated capture. You can also generate session replay URLs at runtime to link a live session into an error tracker, and a rage-click hook lets you react to frustration events in the browser.

Capture-everything is also the thing to scrutinize. Fullstory’s privacy model has three levels: .fs-exclude drops an element entirely (nothing reaches Fullstory’s servers, and interactions on it are ignored), .fs-mask keeps interaction events but replaces text with irreversibly transformed placeholder text in the user’s browser before transmission, and .fs-unmask captures everything. Its “Private by Default” mode inverts the default — everything is masked until you explicitly unmask it — which is the sane starting point for anything touching regulated data. Either way, a default-on recorder demands a deliberate privacy review before it goes live on production traffic: masked fields show up as “Unknown” in analytics groupings, so over-masking has an analysis cost you should plan for.

For getting data out, Anywhere: Warehouse syncs structured event data hourly to BigQuery, Snowflake, or Redshift, and raw event data can land in S3, Google Cloud Storage, or Azure Blob Storage — useful both for BI and as an exit ramp if you later migrate. If you’re coming from a manually instrumented tool, expect the migration to run the other direction too: your existing event taxonomy maps onto Fullstory’s defined-events layer, but the autocaptured history only starts accruing from install day.

Use it when you want replay and behavioral analytics without maintaining an event taxonomy up front — the free tier (30,000 sessions/month) is enough to evaluate it seriously. Look past it when procurement needs published pricing for the paid tiers, your privacy posture rules out default-on DOM capture even with Private by Default, or a free tool like Clarity covers the replay basics you actually need.

Visit site → Docs