Plugins

Plugins extend the Experience SDK with additional capabilities. You add them to the NinetailedProvider via the plugins prop.

NOTE: Each plugin is instantiated once and active for the entire application.

1<NinetailedProvider
2 clientId={process.env.NEXT_PUBLIC_NINETAILED_CLIENT_ID ?? ''}
3 plugins={[
4 new NinetailedInsightsPlugin(),
5 new NinetailedSsrPlugin(),
6 ]}
7>

Which plugins do you need?

PluginWhen to use
InsightsAlmost always. Required for experiment results, component view tracking, and conversion measurement. Without it, experiments cannot produce statistically valid results.
SSRWhen using server-side or edge personalization with a client SDK. Provides profile continuity via cookies.
PreviewDevelopment and preview environments only. Provides a UI to test different audiences and experience variants. Do not enable in production.
PrivacyWhen you need GDPR consent management. Blocks events and SDK features until the visitor consents.
Google Tag ManagerWhen you want personalization impression events forwarded to GTM for downstream analytics.
SegmentWhen you want personalization events forwarded to Segment as track events.
ContentsquareWhen you use Contentsquare for digital experience analytics.

NOTE: The Insights plugin (@ninetailed/experience.js-plugin-insights) is different from the base analytics plugin (@ninetailed/experience.js-plugin-analytics). For built-in experiment measurement and component insights, use the Insights plugin.

Available plugins

The following plugins are available: