﻿---
title: Vercel OpenTelemetry Integration
description: Vercel is a cloud platform for deploying and hosting frontend applications on a globally distributed edge network. This integration explains how to send...
url: https://docs-v3-preview.elastic.dev/elastic/integration-docs/tree/main/reference/vercel
products:
  - Elastic integrations
applies_to:
  - Serverless Observability projects: Preview
  - Serverless Security projects: Preview
  - Elastic Stack: Preview since 9.4
---

# Vercel OpenTelemetry Integration
|                                                                                                                               |                                                                   |
|-------------------------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------|
| **Version**                                                                                                                   | 0.1.2 <applies-to>: Preview</applies-to> ([View all](#changelog)) |
| **Subscription level**[What's this?](https://www.elastic.co/subscriptions)                                                    | Basic                                                             |
| **Developed by**[What's this?](https://docs-v3-preview.elastic.dev/elastic/integration-docs/tree/main/reference/developed-by) | Elastic                                                           |
| **Minimum Kibana version(s)**                                                                                                 | 9.4.0                                                             |

<admonition title="The Vercel (OpenTelemetry) integration v0.1.2 is in technical preview">
  To use pre-release integrations, go to the **Integrations** page in Kibana, scroll down, and toggle on the _Display beta integrations_ option.
</admonition>

Vercel is a cloud platform for deploying and hosting frontend applications on a globally distributed edge network.
This integration explains how to send Vercel logs, audit logs, Web Analytics, and Speed Insights to Elastic using [Vercel Drains](https://vercel.com/docs/drains) and the Elastic Cloud [managed endpoint](https://www.elastic.co/docs/reference/opentelemetry/managed-inputs). Elastic operates the endpoint, so there is nothing to deploy on your side: no Elastic Agent, no OpenTelemetry Collector, and no agent policy to configure. Follow the setup steps below in your Elastic Cloud project or deployment and in Vercel.
Once data starts flowing, the **Vercel OpenTelemetry Assets** package provides dashboards for the resulting data streams.

## Compatibility

This integration has been tested with Vercel Drains delivering to the Vercel path (`/inputs/vercel/_default_`) of the Elastic Cloud managed endpoint.

## Requirements

You need Elasticsearch for storing and searching your data and Kibana for visualizing and managing it. You can use our hosted Elasticsearch Service on Elastic Cloud, which is recommended, or self-manage the Elastic Stack on your own hardware.
<note>
  The managed endpoint used by this integration is available on Elastic Cloud Serverless and Elastic Cloud Hosted. It is not available for self-managed, ECE, or ECK clusters. Refer to [Managed inputs](https://www.elastic.co/docs/reference/opentelemetry/managed-inputs).
</note>


## Setup

Vercel data reaches Elasticsearch through a [Vercel drain](https://vercel.com/docs/drains/using-drains) that posts to an Elastic Cloud [managed endpoint](https://www.elastic.co/docs/reference/opentelemetry/managed-inputs).
Do the following steps in order:
1. Enable the Vercel features you want to collect.
2. Gather two values from Elastic: a **managed endpoint URL** and an **API key**.
3. Create the drains in Vercel using those two values.
4. Validate that data is arriving in Elastic.


### Step 1: Enable the Vercel features you want to collect

- **Logs** and **Audit Log**: available through [Vercel Drains](https://vercel.com/docs/drains/using-drains). Log drains require a Pro or Enterprise plan. Audit Log drains require an Enterprise plan.
- **Web Analytics**: install and enable the [@vercel/analytics](https://vercel.com/docs/analytics) SDK in your application so page views and custom events are emitted.
- **Speed Insights**: install and enable the [@vercel/speed-insights](https://vercel.com/docs/speed-insights) SDK in your application so Web Vitals are collected in the browser.


### Step 2: Gather the managed endpoint URL and API key from Elastic

You need an Elastic Cloud Serverless project or an Elastic Cloud Hosted deployment.

#### Managed endpoint URL for Vercel

Find your Elastic Cloud public endpoint:
1. Log in to the [Elastic Cloud Console](https://cloud.elastic.co/).
2. Open your project or deployment and select **Manage**.
3. In **Application endpoints, cluster and component IDs**, select the Vercel endpoint, then copy the public endpoint value.

The managed endpoint URL for Vercel is that public endpoint plus `/inputs/vercel/_default_`, which is the path that accepts Vercel drain payloads:
```text
https://<managed-endpoint>/inputs/vercel/_default_
```

For example, if your public endpoint is `https://abc123.ingest.us-east-1.aws.elastic.cloud`, then the managed endpoint URL for Vercel is:
```text
https://abc123.ingest.us-east-1.aws.elastic.cloud/inputs/vercel/_default_
```

Every project and deployment has its own host, so always build the managed endpoint URL for Vercel from the endpoint shown in your own Elastic Cloud project or deployment. Refer to [Find your endpoint](https://www.elastic.co/docs/reference/opentelemetry/managed-inputs/managed-otlp-endpoint#find-your-elastic-cloud-managed-otlp-endpoint) for more detail.

#### API key

Create an API key by following the [Send data to Elastic Cloud](https://www.elastic.co/docs/solutions/observability/get-started/quickstart-elastic-cloud-otel-endpoint) quickstart, then copy the encoded value. Vercel sends it in an `Authorization` header that must use the `ApiKey` scheme, as described in [Authentication](https://www.elastic.co/docs/reference/opentelemetry/managed-inputs/managed-otlp-endpoint#authentication).
Alternatively, in your Elastic Cloud Serverless project, go to **Add data** → **Applications** → **OpenTelemetry**. That wizard shows the endpoint and generates a pre-configured API key for you.

### Step 3: Create the drains in Vercel

A Vercel drain carries a single data type, so create a separate drain for each of Logs, Audit Log, Web Analytics, and Speed Insights that you want in Elastic. All of them use the same managed endpoint URL and API key.
For each data type, in Vercel:
1. Open your team **Drains** settings and create a drain for that data type.
2. Choose **Custom Endpoint** as the destination.
3. Set the **Endpoint URL** to the managed endpoint URL for Vercel, for example `https://abc123.ingest.us-east-1.aws.elastic.cloud/inputs/vercel/_default_`.
4. Under **Custom Headers**, add a header named `Authorization` with the value `ApiKey <your-api-key>`, for example `Authorization: ApiKey abc123`.
5. Save the drain.

For Logs drains, you can also narrow which sources, environments, and sampling rates are forwarded under **Additional configuration for logs**. Refer to [Log Drains reference](https://vercel.com/docs/drains/reference/logs).
<note>
  The managed endpoint URL for Vercel is always your Elastic Cloud public endpoint plus `/inputs/vercel/_default_`. Do not point the drain at a self-hosted collector; the supported path is the Elastic Cloud managed endpoint.
</note>


### Step 4: Validate that data is arriving

In Kibana, open **Discover** and query the data streams listed in *Reference*, for example `logs-vercel.logs.otel-*`. Vercel delivers drain payloads in batches, so allow a few minutes after saving a drain and generating traffic before the first documents appear.

## Reference

Vercel drain payloads are decoded by the Elastic Cloud managed endpoint and written to the data streams below. Each data type has its own payload schema, documented by Vercel, and those fields are what you query in Elastic. For drain configuration on the Vercel side, see [Using drains](https://vercel.com/docs/drains/using-drains). For managed endpoint behavior, see [Managed inputs](https://www.elastic.co/docs/reference/opentelemetry/managed-inputs).

### Metrics


| Signal         | Data stream                              | Fields                                                                                     |
|----------------|------------------------------------------|--------------------------------------------------------------------------------------------|
| Speed Insights | `metrics-vercel.speedinsights.v1.otel-*` | [Speed Insights Drains reference](https://vercel.com/docs/drains/reference/speed-insights) |

Speed Insights carries Web Vitals (LCP, INP, CLS, TTFB) and their related attributes, such as route, device, and country.

### Logs


| Signal        | Data stream                       | Fields                                                                            |
|---------------|-----------------------------------|-----------------------------------------------------------------------------------|
| Logs          | `logs-vercel.logs.otel-*`         | [Log Drains reference](https://vercel.com/docs/drains/reference/logs)             |
| Audit logs    | `logs-vercel.auditlog.v1.otel-*`  | [Audit Log Drains reference](https://vercel.com/docs/drains/reference/audit-logs) |
| Web Analytics | `logs-vercel.analytics.v2.otel-*` | [Analytics Drains reference](https://vercel.com/docs/drains/reference/analytics)  |

The Logs data stream holds every source selected on the drain, so it covers build output and static asset requests alongside function output from the `lambda` and `edge` runtimes.
To see how a payload field is indexed, open the data stream in **Discover** and inspect a document, or check the data stream mappings in **Stack Management** → **Index Management**.

## Dashboards

Dashboards for this data are shipped separately in the **Vercel OpenTelemetry Assets** package, which is installed automatically once Vercel data is detected in your cluster.

| Dashboard                        | Description                                                                                                                       |
|----------------------------------|-----------------------------------------------------------------------------------------------------------------------------------|
| **[Vercel OTel] Logs**           | Server-side health overview covering request volume, error rates, HTTP status distribution, log sources, regions, and top routes. |
| **[Vercel OTel] Audit Logs**     | Governance and security overview of audit event volume, actors, top event types, user activity, and sensitive operations.         |
| **[Vercel OTel] Web Analytics**  | Traffic and engagement overview covering page views, geography, devices, top pages, and custom events.                            |
| **[Vercel OTel] Speed Insights** | Web Vitals performance overview tracking LCP, INP, CLS, and TTFB at the p75 benchmark over time and per page.                     |


## Changelog

<dropdown title="Changelog">
  | Version   | Details                                                                                                                                                                                                | Minimum Kibana version |
  |-----------|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|------------------------|
  | **0.1.2** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/20723))Rename package title to "Vercel (OpenTelemetry)" to clarify the integration's OpenTelemetry-based collection. | 9.4.0                  |
  | **0.1.1** | **Bug fix** ([View pull request](https://github.com/elastic/integrations/pull/20651))Update managed endpoint path                                                                                      | 9.4.0                  |
  | **0.1.0** | **Enhancement** ([View pull request](https://github.com/elastic/integrations/pull/20475))Initial release of the Vercel OpenTelemetry integration                                                       | 9.4.0                  |
</dropdown>