> ## 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 Basis data source in Adriel.

## Introduction

Basis (formerly Centro) is a programmatic advertising platform from Basis Technologies. The connector pulls daily delivery data from Basis through either a Snowflake data share or an Amazon S3 export, depending on how the Basis account is provisioned. Two report types are supported out of the box: a creative-level report and a line-item-level report.

Basis is a schema-flexible source: the fields available in Adriel mirror the columns Basis includes in the share or export. The tables on this page cover the standard delivery fields present in most Basis accounts. Reports are normalized and stored in a daily cache, so dashboards read from the cache rather than running live queries against Basis.

As a marketing connector, metrics, breakdowns, and currencies are standardized so widgets can aggregate across sources without additional configuration.

To connect this data source, see [How to connect Basis to Adriel](/data-sources/a-f/basis/how-to-connect).

## Data refresh strategy

### Architecture data

Architecture covers the advertiser account and the campaigns, line items, and creatives discovered through the Snowflake share or S3 export. It refreshes alongside the report cache. New entities appear after the next scheduled refresh.

### Reports data

Reports include daily delivery data for advertisers, campaigns, line items, and creatives. This is a daily-cache connector, so dashboards read from cached daily performance rather than live queries against Basis.

* **Initial fetch.** After connection, the last **180 days** of daily data are retrieved.
* **Refresh schedule.** Once per day at **14:00 UTC**, the latest **15 days** of data are refreshed in place. Because each refresh re-fetches the trailing 15 days, late-arriving or restated conversions within that window are picked up without a manual reconnection.

## Architecture levels

Advertiser → Campaign → Line item → Creative

## Date range limits

There are no fixed date-range caps on queries. The cache retains rolling daily data per the schedule above, and queries are bounded only by the history Basis exposes through its data share or export.

## Metrics

<Note>
  **How to read the columns**
  **Data type** uses this vocabulary: Number, Currency, Percentage, Ratio, Duration, Date, Text, URL, Array, Boolean.
  **API Key** in code style like `impressions` is the literal field name delivered by Basis. *Italic text* describes how a value is produced when it doesn't map cleanly to a single delivered field.

  Basis is a free-format source, so an individual account may expose more numeric fields than those listed here, depending on what its export includes.
</Note>

### Delivery

| Metric      | Description                         | Data type  | API Key                                |
| ----------- | ----------------------------------- | ---------- | -------------------------------------- |
| Impressions | Ad displays.                        | Number     | `impressions`                          |
| Clicks      | Ad clicks.                          | Number     | `clicks`                               |
| Spend       | Reported spend in account currency. | Currency   | `spend`                                |
| CTR         | Click-through rate.                 | Percentage | *Computed from clicks and impressions* |

### Conversions

| Metric      | Description                               | Data type | API Key       |
| ----------- | ----------------------------------------- | --------- | ------------- |
| Conversions | Attributed conversions reported by Basis. | Number    | `conversions` |

### Viewability

| Metric               | Description                                                  | Data type | API Key                |
| -------------------- | ------------------------------------------------------------ | --------- | ---------------------- |
| Viewable impressions | Impressions counted as viewable per the configured standard. | Number    | `viewable_impressions` |

### Video

| Metric            | Description                | Data type | API Key             |
| ----------------- | -------------------------- | --------- | ------------------- |
| Video starts      | Video plays initiated.     | Number    | `video_starts`      |
| Video completions | Video plays reaching 100%. | Number    | `video_completions` |

## Breakdowns

### Standard hierarchy

| Breakdown  | Description                        | API Key     |
| ---------- | ---------------------------------- | ----------- |
| Advertiser | Group by Basis advertiser account. | `adAccount` |
| Campaign   | Group by Basis campaign.           | `campaign`  |
| Line item  | Group by Basis line item (ad set). | `adSet`     |
| Creative   | Group by Basis creative.           | `ad`        |

### Time grouping

<Note>
  Basis delivers daily records; Adriel aggregates them into these time views for reporting.
</Note>

| Breakdown | Description                      |
| --------- | -------------------------------- |
| Day       | Split reports by day.            |
| Week      | Split reports by week.           |
| Month     | Split reports by calendar month. |

## Limitations

* **Free-format schema.** The connector never adds, removes, or renames fields; the available metrics and breakdowns mirror the columns Basis includes in the share or export. Keeping column names and types consistent across exports is the account owner's responsibility.
* **Two separate report types.** The creative-level and line-item-level reports are fetched and cached independently. Widgets that span both levels see them combined through the standard marketing hierarchy.
* **No deleted-data exclusion.** Once an element is deleted on the Basis side, its data is no longer provided.
* **SDK-level credentials only.** There is no HTTP API key or OAuth token. Snowflake JWT authentication and AWS S3 signing handle every request directly, so rotating credentials means editing the connection rather than refreshing a token.
* **Amazon S3 export access required** for accounts provisioned in S3 mode.

## API references

Basis does not expose a public reporting API. Data is delivered through a Snowflake data share (queried with JWT key-pair authentication) or an Amazon S3 CSV export, so the relevant references are the underlying access surfaces:

* [Snowflake key-pair authentication](https://docs.snowflake.com/en/user-guide/key-pair-auth)
* [Amazon S3 documentation](https://docs.aws.amazon.com/s3/)

## See also

* [How to connect Basis to Adriel](/data-sources/a-f/basis/how-to-connect) (paired how-to)
* [The Trade Desk data reference](/data-sources/o-z/the-trade-desk/data-reference) — for another programmatic (DSP) source
