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

# Data reference

> Metrics, breakdowns, refresh cadence, and limits for the Piano Analytics data source in Adriel.

## Introduction

Piano Analytics is a European web and content analytics platform, formerly known as AT Internet and rebranded under the Piano family. It measures visits, unique visitors, page views, engagement, and conversion goals across tracked websites and applications, with a strong focus on first-party data, privacy-conscious tracking, and content consumption. Data is scoped per Site within a Space (organization).

The connector reads from the Piano Analytics v3 Data API (the original AT Internet `getData` endpoint, retained under the Piano brand). One data source is created per tracked Site, and metrics and breakdowns come from a fixed catalog of approximately 115 metrics and 304 breakdown properties. Custom indicators defined inside a Piano Analytics workspace are not currently exposed as additional fields.

As an analytics connector, session, event, and breakdown data are standardized so widgets can aggregate alongside ad-platform sources without additional configuration. To connect this data source, see [How to connect Piano Analytics to Adriel](/data-sources/o-z/piano-analytics/how-to-connect).

## Data refresh strategy

### Architecture data

Architecture covers the Space → Site hierarchy and the static catalog of metrics and breakdown properties exposed by Piano Analytics v3. The catalog is fixed in the connector and does not depend on a per-account discovery call, so new fields do not appear as they would with a dynamic-metadata connector. Field metadata is cached for 12 hours per data source.

### Reports data

Reports data is fetched on demand. Each dashboard load issues a live POST to the Piano Analytics `v3/data/getData` endpoint for the selected date range, columns, and filters — there is no nightly snapshot or daily cache. Returned numbers reflect Piano Analytics' current processing state at request time.

## Architecture levels

Space → Site → Page / Event

A Space is the Piano Analytics organization; a Site is the tracked property that each data source reads from; Pages and Events are the content and interaction units measured within a Site.

## Metrics

<Note>
  **How to read the columns**

  Code style like `m_visits` is the literal Piano Analytics field key. *Italic text* describes how a value is produced when it doesn't map cleanly to a single Piano Analytics field or when it's computed by Adriel.

  **Data type vocabulary**: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean.

  Time metrics are normalized to seconds. Three of the four Piano time metrics arrive from the API in milliseconds and are converted to seconds; the loads metric already arrives in seconds and is passed through unchanged.
</Note>

### Users & sessions

| Metric             | Description                                 | Data type | API Key                |
| ------------------ | ------------------------------------------- | --------- | ---------------------- |
| Visits             | Total visit count.                          | Number    | `m_visits`             |
| Unique visitors    | Distinct visitors over the selected period. | Number    | `m_unique_visitors`    |
| New visitors       | First-time visitors in the period.          | Number    | `m_new_visitors`       |
| Returning visitors | Visitors seen before the period start.      | Number    | `m_returning_visitors` |

### Engagement

| Metric                     | Description                         | Data type  | API Key                      |
| -------------------------- | ----------------------------------- | ---------- | ---------------------------- |
| Page views                 | Total page views.                   | Number     | `m_page_views`               |
| Page views per visit       | Average page views per visit.       | Ratio      | `m_page_views_per_visit`     |
| Bounce rate                | Share of single-page visits.        | Percentage | `m_bounce_rate`              |
| Average time spent (visit) | Mean visit duration.                | Duration   | `m_time_spent_per_visit`     |
| Average time spent (page)  | Mean time per page view.            | Duration   | `m_time_spent_per_page_view` |
| Time spent on loads        | Total time spent across page loads. | Duration   | `m_time_spent_loads`         |

### Events & conversions

| Metric           | Description               | Data type  | API Key       |
| ---------------- | ------------------------- | ---------- | ------------- |
| Goal completions | Number of goal events.    | Number     | `m_goals`     |
| Goal rate        | Goals divided by visits.  | Percentage | `m_goal_rate` |
| Events           | Total custom-event count. | Number     | `m_events`    |

### Ecommerce

| Metric              | Description                       | Data type | API Key           |
| ------------------- | --------------------------------- | --------- | ----------------- |
| Revenue             | Revenue attributed to the site.   | Currency  | `m_revenue`       |
| Transactions        | Number of completed transactions. | Number    | `m_transactions`  |
| Average order value | Mean transaction value.           | Currency  | `m_average_order` |

## Breakdowns

<Note>
  **How to read the columns**

  Code style like `device_type` is the literal Piano Analytics property key. *Italic text* describes how a value is produced when it doesn't map cleanly to a single Piano Analytics field or when it's produced by Adriel.
</Note>

### Traffic acquisition

| Breakdown     | Description                                          | API Key        |
| ------------- | ---------------------------------------------------- | -------------- |
| Source        | Traffic source.                                      | `src`          |
| Source type   | Channel grouping (search, social, direct, referrer). | `src_type`     |
| Search engine | Originating search engine.                           | `src_se`       |
| Keyword       | Search keyword.                                      | `src_kw`       |
| Campaign      | Marketing campaign identifier.                       | `src_campaign` |

### Pages & events

| Breakdown    | Description                | API Key         |
| ------------ | -------------------------- | --------------- |
| Page         | Page name.                 | `page`          |
| Page chapter | First-level page chapter.  | `page_chapter1` |
| Page URL     | Full URL of the page.      | `page_url`      |
| Event name   | Name of the tracked event. | `event_name`    |

### Device & platform

| Breakdown        | Description                | API Key       |
| ---------------- | -------------------------- | ------------- |
| Device type      | desktop / mobile / tablet. | `device_type` |
| Operating system | OS name.                   | `os`          |
| Browser          | Browser name.              | `browser`     |

### Geography

| Breakdown | Description      | API Key       |
| --------- | ---------------- | ------------- |
| Country   | Visitor country. | `geo_country` |
| Region    | Visitor region.  | `geo_region`  |
| City      | Visitor city.    | `geo_city`    |

### Time

| Breakdown | Description      | API Key |
| --------- | ---------------- | ------- |
| Date      | Calendar date.   | `date`  |
| Year      | Calendar year.   | `year`  |
| Month     | Calendar month.  | `month` |
| Hour      | Hour of the day. | `hour`  |

### Date grouping

<Note>
  Adriel groups Piano Analytics' daily-granularity results into these standard views for reporting alongside other connectors.
</Note>

| Breakdown | Description                      |
| --------- | -------------------------------- |
| Daily     | Split reports by day.            |
| Weekly    | Split reports by week.           |
| Monthly   | Split reports by calendar month. |

## Limitations

Based on the current connector, Piano Analytics has:

* **Beta status** — the connector is exposed under the label "Piano Analytics (beta)"; functionality and field coverage may change as the integration matures.
* **A fixed metric and breakdown catalog** — available fields come from a static catalog of approximately 115 metrics and 304 breakdown properties. Custom indicators defined inside a Piano Analytics workspace are not exposed as additional fields.
* **A 50-column cap per query** — a single Data API call accepts at most 50 columns (combined breakdowns plus metrics). Queries that exceed the cap surface a `TOO_MUCH_DATA_REQUESTED` error.
* **A 200,000-row hard cap per query** — results return in pages of up to 10,000 rows, and a single call returns at most 10,000 rows; the absolute ceiling is 200,000 rows (20 pages). The connector does not stitch pages automatically, so wide queries should be narrowed by date range or breakdowns.
* **A rate limit of 20 concurrent calls per organization and 5 per user** — exceeding these limits returns HTTP 429, and there is no built-in automatic retry.
* **Credential verification on save only** — credentials are checked when the data source is created or updated. Subsequent connectivity probes always report healthy, so a permission or key issue surfaces the next time a query runs.

## API references

* Piano Analytics Data API v3 (`getData`) endpoint: `https://api.atinternet.io/v3/data/getData` (POST)
* [Piano Analytics developer documentation](https://developers.atinternet-solutions.com/piano-analytics-api)

## See also

* [How to connect Piano Analytics](/data-sources/o-z/piano-analytics/how-to-connect) (paired how-to)
* [Google Analytics 4 (GA4) data reference](/data-sources/g-n/google-analytics-4/data-reference) — for the alternative web analytics connector
