> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://contentful.com/developers/docs/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://contentful.com/developers/docs/_mcp/server.

# Plugins

> Extend the capabilities of Contentful Personalization SDKs.

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

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

```tsx
<NinetailedProvider
  clientId={process.env.NEXT_PUBLIC_NINETAILED_CLIENT_ID ?? ''}
  plugins={[
    new NinetailedInsightsPlugin(),
    new NinetailedSsrPlugin(),
  ]}
>
```

## Which plugins do you need?

| Plugin                                                           | When to use                                                                                                                                                                  |
| ---------------------------------------------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [Insights](/personalization/insights-plugin)                     | **Almost always.** Required for experiment results, component view tracking, and conversion measurement. Without it, experiments cannot produce statistically valid results. |
| [SSR](/personalization/edge-and-server-side-rendering)           | When using server-side or edge personalization with a client SDK. Provides profile continuity via cookies.                                                                   |
| [Preview](/personalization/preview-plugin)                       | Development and preview environments only. Provides a UI to test different audiences and experience variants. Do not enable in production.                                   |
| [Privacy](/personalization/privacy-plugin)                       | When you need GDPR consent management. Blocks events and SDK features until the visitor consents.                                                                            |
| [Google Tag Manager](/personalization/google-tag-manager-plugin) | When you want personalization impression events forwarded to GTM for downstream analytics.                                                                                   |
| [Segment](/personalization/segment-plugin)                       | When you want personalization events forwarded to Segment as track events.                                                                                                   |
| [Contentsquare](/personalization/contentsquare-plugin)           | When you use Contentsquare for digital experience analytics.                                                                                                                 |

> **Info**
>
> **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:

* [Insights plugin](/personalization/insights-plugin): viewport-based component view, click, and hover tracking via the Beacon API.
* [Preview plugin](/personalization/preview-plugin): audience and experience assignment UI for content preview.
* [Privacy plugin](/personalization/privacy-plugin): granular consent control for events and features.
* [Google Tag Manager plugin](/personalization/google-tag-manager-plugin): forwards impression events to GTM.
* [Segment plugin](/personalization/segment-plugin): forwards events to Twilio Segment.
* [Contentsquare plugin](/personalization/contentsquare-plugin): forwards events to Contentsquare.