# Chartbeat

[Chartbeat](https://chartbeat.com/) is the industry leader for real-time content and web analytics, based on JavaScript.

RudderStack supports sending your events to Chartbeat from the web native SDK by calling RudderStack's APIs.

## Connection compatibility

{{< destination-config >}}

## Get started

Once you have ascertained that the platform is supported by Chartbeat, please follow these steps:

- From your [RudderStack dashboard](https://app.rudderlabs.com/), add the source and Chartbeat as a destination.
- In the Connection Settings page, please enter the relevant information in the fields shown in the following screen:

{{< image src="images/image (18).webp"  >}}<span class="imageTitle">Connection Settings for Chartbeat</span>

Each field is as explained below:

- **Domain** - Enter the domain name with which your Chartbeat account was configured. Don't append any extra url parameters to it. For example: `rudderstack-test.com`
- **UID -** Enter your Chartbeat UID here. You can find the UID on the Chartbeat [Adding The Code](https://chartbeat.com/docs/adding_the_code/) page.
- **Send Name and Category as Title** - Enable this setting if you want the RudderStack `page` API to send the page title as visible in Chartbeat dashboard as `page category` + `page name` .

{{< info >}}

If this setting is enabled and the category is not set, RudderStack only sends the name as the page title.

{{< /info >}}

- **Use Chartbeat video script** - Enable this setting if you want the RudderStack SDK to download `chartbeat_video.js` . This file is provided by Chartbeat to track and capture video interactions. Once the setting is enabled, the script will start capturing the play and pause events of mainly the HTML5 videos from the `<video ... </video>` tag.

## Page

Making a call to the `page` API will send out an object to Chartbeat containing the information of your page and its related properties.

A sample `page` call is shown below:

```javascript
rudderanalytics.page("section-name", "home", {
  path: "path",
  url: "url",
  title: "title",
  search: "search",
  referrer: "referrer",
  author: "author-name",
});
```

The above code snippet populates the following properties along with the associated values:

| Property   | Value        |
| :--------- | :----------- |
| `category` | section-name |
| `name`     | home         |
| `author`   | author-name  |
| `path`     | path         |
| `url`      | url          |
| `title`    | title        |
| `search`   | search       |
| `referrer` | referrer     |

### Single Page Applications

For Single Page Applications \(SPAs\), the first `page` call asynchronously loads `chartbeat.js` \(or `chartbeat_video.js`\) with the properties specified in the `page` call. All further `page` calls are sent to Chartbeat by calling Chartbeat's virtual `page` API with the same properties that were passed to the initial `page` call.

## FAQ

#### Where do I find the Chartbeat UID?

You can find your Chartbeat UID on Chartbeat's [Adding The Code](https://chartbeat.com/docs/adding_the_code/) page.
