---
title: "Show Webinar Traffic Breakdown"
method: GET
path: "/analytics/webinars/{webinarId}/traffic"
tags: ["Analytics:Webinar"]
---

# Show Webinar Traffic Breakdown

`GET /analytics/webinars/{webinarId}/traffic`

## Request

- Base URL: `https://api.wistia.com/modern`
- URL: `https://api.wistia.com/modern/analytics/webinars/{webinarId}/traffic`
- Auth: HTTP bearer

Retrieve traffic breakdown analytics for a webinar, grouped by a specified dimension
such as UTM campaign, UTM source, UTM medium, or referrer domain.


## Requires api token with one of the following permissions
```
Read detailed stats
```

Tokens with the "Act with a team member's permissions" permission
(`all:delegate_to_contact_permissions` scope) can also be used. Requests
made with such a token are authorized using the permissions of the
contact assigned to the token.

An [expiring access token](https://docs.wistia.com/reference/post_expiring-token)
created with the `all:delegate_to_contact_permissions` scope and an
authorization granting the `view-stats` permission on this webinar can also
be used.

## Path parameters

- `webinarId` string, required: The hashed ID of the webinar (e.g., "abc123xyz")

## Query parameters

- `group_by` 'utm_campaign' | 'utm_source' | 'utm_medium' | 'referrer_domain', required
- `sort_by` 'registrations' | 'attendees' | 'impressions'
- `sort_direction` 'asc' | 'desc'

## Headers

- `X-Wistia-API-Version` string, required

## Response `200`

Success response with traffic breakdown data.

- object[]
  - `utm_campaign` string, nullable: The UTM campaign value (present when group_by is utm_campaign).
  - `utm_source` string, nullable: The UTM source value (present when group_by is utm_source).
  - `utm_medium` string, nullable: The UTM medium value (present when group_by is utm_medium).
  - `referrer_domain` string, nullable: The referrer domain (present when group_by is referrer_domain).
  - `registrations` integer, nullable: The number of registrations from this traffic source.
  - `attendees` integer, nullable: The number of attendees from this traffic source.
  - `impressions` integer, nullable: The number of registration page impressions from this traffic source.

## Other responses

- `400`: Bad request
- `401`: Unauthorized, invalid or missing token
- `403`: Forbidden, token is valid but account does not have access to feature
- `404`: Webinar not found or does not belong to account
- `500`: Internal server error
- `503`: Analytics service is temporarily unavailable

---

[API](https://skmtc.dev/wistia/apis/analytics-api.md) - [All operations](https://skmtc.dev/wistia/apis/analytics-api/llms.txt) - [OpenAPI document](https://skmtc.dev/wistia/apis/analytics-api/revisions/51b37cd3d37c?raw)
