> For clean Markdown content of this page, append .md to this URL. For the complete documentation index, see https://buildwithfern.com/learn/llms.txt.

# Analytics and integrations

> Connect analytics and support tools to your Fern documentation. Set up PostHog, Segment, FullStory, Intercom, and Postman collections.

Fern's [built-in web analytics](/learn/dashboard/metrics/web-analytics) reports aggregated site usage without configuration. The integrations on this page connect your documentation to external analytics, session recording, support, and developer tools. Fern forwards a set of [analytics events](/learn/docs/integrations/analytics/events) to the providers you configure.

## Supported providers

### Analytics

#### [PostHog](/learn/docs/integrations/analytics/posthog)

#### [Google Analytics](/learn/docs/integrations/analytics/google)

#### [Segment](/learn/docs/integrations/analytics/segment)

#### [Mixpanel](/learn/docs/integrations/analytics/mixpanel)

### Session recording and support

#### [FullStory](/learn/docs/integrations/analytics/fullstory)

#### [Intercom](/learn/docs/integrations/support/intercom)

### Developer tools

#### [Postman](/learn/docs/integrations/postman)

#### [Context7](/learn/docs/integrations/context7)

## Configure providers

Define your provider configuration in `docs.yml`. Include only the providers you want to connect.

```yaml docs.yml
analytics:
  posthog:
    api-key: ${POSTHOG_API_KEY}
    endpoint: https://self.hosted.posthog.com/
  segment:
    write-key: ${SEGMENT_WRITE_KEY}
  intercom:
    app-id: ${INTERCOM_APP_ID}
    endpoint: https://intercom.custom-instance.com/
  fullstory:
    org-id: ${FULLSTORY_ORG_ID}
```

### Environment variables

If your docs configuration is public, don't add secret values directly to `docs.yml`.
Instead, reference an environment variable by using the syntax `${VARIABLE_NAME}`.

If you use GitHub Workflows to trigger docs generation, the environment variables must be available during the workflow run.

```yaml {4}
- name: Publish Docs
  env:
    FERN_TOKEN: ${{ secrets.FERN_TOKEN }}
    POSTHOG_API_KEY: ${{ secrets.POSTHOG_PROJECT_API_KEY }}
  run: |
    npm install -g fern-api
    fern generate --docs
```

## Connect other integrations via custom JavaScript

#### Enterprise feature

This feature is available only for the [Enterprise plan](https://buildwithfern.com/pricing). To get started, reach out to [support@buildwithfern.com](mailto:support@buildwithfern.com).

You can integrate third-party tools that Fern doesn't natively support in `docs.yml` using [custom JavaScript](/learn/docs/customization/custom-css-js#custom-javascript), as long as they support HTML tag-based installation. This works with tools like:

* **Analytics:** Amplitude, Heap, Plausible
* **Session recording:** Hotjar, LogRocket, Microsoft Clarity
* **Support and chat:** Zendesk, Crisp, Drift
* **Tag managers:** Adobe Launch, Tealium

Paste the vendor's `<script>` snippet into a custom JS file and reference it in your `docs.yml`:

#### docs.yml

```yaml
js: ./custom.js
```