Ask or search…

Version 7

Using experience metadata returned by Experience API

Major Changes

  • Introduces using the Experience API's returned experience data to select the appropriate experience and variant when using the Shared or JS SDK.
    • This change streamlines edge side rendering builds by allowing you to rely on the Experience API's response to select the correct experience and variant to show, rather than having to determine this yourself by replicating our React SDK code.
    • [BREAKING] As of 7.6 [currently in beta], the React, Next.js and Gatsby SDKs default to using the API response to select the correct experience and variant. To ensure compatibility with content sources that do not yet have Ninetailed Experiences IDs served over the Experience API, you should leverage the useSDKEvaluation property on the Ninetailed instance
  • Support for React Native through:
    • Removing incompatible polyfills (also a 33% reduction in package size 📉)
    • Ability to pass a custom storage and request context implementation on React and JavaScript SDKs
  • [BREAKING] profile is no longer a property of Ninetailed class instances or <NinetailedProvider> components.

Minor Changes

7.6 (Beta, subject to change)
  • [BREAKING] Variant selection using experience data from Experience API responses has been moved to the JavaScript SDK from the React SDK. Additionally, API-driven experience and variant selection replaces SDK-driven selection as the default. This makes non-React JavaScript implementations more accessible. However, non-Contentful implementations will need to designate useSDKEvaluation: true in the Ninetailed instance configuration options until their experience data are served over the Experience API
  • Adds the useSDKEvaluation and onSelectVariant configuration options to the Ninetailed instance supporting the above change
  • Adds the onRouteChange configuration option to the Next.js and Gatsby SDKs, allowing for declarative customization of Ninetailed route change events called within these frameworks
  • Adds the batch method to the Ninetailed instance
  • Adds the EventBuilder class and eventBuilder class instance to the Ninetailed instance
  • Adds a new onProfileInitId configuration option for Ninetailed instances.
  • 7.5.1
    • <MergeTag> components now accept a fallback property
  • 7.5.2
    • Typing for Ninetailed instance corrected
    • Preview Plugin uses an ExposedAudienceDefinition type for the audiences parameter


  • Adds a timeout option to all Node.js SDK requests


  • Adds a getProfile method to instances of NinetailedApiClient. This allows SDKs built on top of our shared SDK, like the Node.js SDK, to get profiles without having to send track or identify events


  • Adds the component event option to allowedEvents of the Privacy Plugin
Last modified 1mo ago