> ## Documentation Index
> Fetch the complete documentation index at: https://docs.explo.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Analytics Reporting

> Hook your embedded dashboards up to your own analytics endpoints or configure Javascript events to receive information about page views and clicks. 

## Configuring Analytics

On the settings page, there's a subsection in the Developers section for
Analytics. From here, you can supply a URL and, optionally, authorization token
for Explo to send information to and select the set of actions you want
reported.

Note that the url must be formatted as a valid url with `http://` or `https://`.

If you'd like to receive a Javascript Event when an Analytics Event is sent, set up an event listener for `analyticsEventFired`. Read about [javascript events](/general-features/custom-js-events).

<img src="https://mintcdn.com/explo/4Y9DMZyhe_6AAnca/images/dashboard-features/analytics-reporting-1.png?fit=max&auto=format&n=4Y9DMZyhe_6AAnca&q=85&s=9a4a638950268bc950efab90c049c8fb" alt="" width="751" height="398" data-path="images/dashboard-features/analytics-reporting-1.png" />

## Analytics Data

When, for example, your dashboard is viewed from a Share link, Explo will send a
request to the supplied URL with the following shape.

| Field | Type | Description |
| - | - | - |
| user\_id | string | Id of the user who triggered the event |
| name | string | The type of event triggered |
| properties | json | Metadata about the event |
| custom\_properties | json | Custom metadata passed in to embedded `web component` |

For javascript events, the metadata described above will be contained in the detail of the event message.

## Event Types

#### Shared Event Types

| Name |
| - |
| Portal Dashboard Page Viewed |
| Data Panel PDF Downloaded |
| CSV Downloaded |
| Table Sorted |
| Table Paged |
| Table Filtered |
| Dropdown Selected |
| Multiselect Selected |
| Datepicker Selected |

#### Explore Specific Event Types

| Name |
| - |
| Dashboard Page Viewed |
| Shared Dashboard Page Viewed |
| Shared Chart Viewed |
| Share Button Clicked |

## Metadata Properties

#### Shared Properties

| Field | Type |
| - | - |
| team\_id | int |
| team\_name | string |
| customer\_id | int |
| customer\_name | string |
| customer\_provided\_id | string |
| customer\_is\_demo | boolean |

#### Explore Properties

| Field | Type |
| - | - |
| dashboard\_template\_id | int |
| dashboard\_template\_name | string |

#### Page View Event Additional Properties

| Field | Type | Description |
| - | - | - |
| is\_production | bool | true if this is a production dashboard |
| environment | string | the environment tag supplied when the dashboard was embedded |
| is\_strict | bool | whether the dashboard was embedded in strict mode |
| embed\_source | string | share or iframe, depending on how the dashboard was embedded |

## Recommended Ways to Test

Internally, we use [Beeceptor](https://beeceptor.com/) to test these endpoints. It ensures the requests are sending and that the request body is structured as expected. All you need to do is launch a mock server and use that generated endpoint, like `garytesting.free.beeceptor.com`, in the `URL` field in the [Explo app](https://app.explo.co/settings/analytics).

Then, open your embedded dashboard and fire some events to see it flow to Beeceptor.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.