Version 6

New functionality for Insights on all supported platforms.

Today we are releasing version 6.0 to support our new Insights capabilities.

Major Changes

  • [BREAKING] By default, an element must be present within the viewport for 2 seconds before any connected Ninetailed tracking plugins will fire. Previously, plugins would fire events as soon as an element entered the viewport. The timing is customizable using a new componentTrackingViewThreshold property available on the NinetailedProvider that accepts a value in milliseconds. Use a value of 0 to emulate the old behavior.

  • [BREAKING] The internal mechanism by which plugins fire off tracking events is now agnostic to your choice of JavaScript UI library (previously, this logic was React-specific). All plugins and SDKs should be on the same major version to ensure compatibility.

  • [BREAKING] The useExperience hook returns variant as either the variant or baseline to render. Previously, this hook would return variant: null if the baseline was selected.

  • [BREAKING] Renames ninetailed.trackHasSeenExperience to ninetailed.trackComponentView to indicate that this can function as a tracker of both Ninetailed Experience and non-Ninetailed Experience content. In the latter case, supplying the experience ID and variant index are optional.

Minor Changes


  • Adds an onOpenAudienceEditor callback function to the Preview Plugin.

  • Removes unused @analytics/google-analytics dependency.


  • The experiments and maximumActiveExperiments prop on the NinetailedProvider are deprecated.

  • Profiles are no longer assigned nt_experiment_ traits to indicate their participation in experiments.

  • Profiles are assigned a stableId property that persists through aliasing identify events.

Last updated