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

## Introduction

<Note>
  Singular is in beta.
</Note>

Singular is a mobile measurement partner (MMP) that consolidates attribution, marketing, and SKAdNetwork postback data across mobile ad networks. It supports iOS, Android, web, and CTV through the Singular SDK and exposes data through asynchronous report APIs.

Each data source maps to one app and one of two **mutually exclusive** report modes: **SKAN** (Apple's privacy-preserving SKAdNetwork attribution) or **Unified** (standard cross-network attribution). The mode is chosen when the data source is created and is permanent — switching modes requires creating a new data source.

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

To connect this data source, see [How to connect Singular to Adriel](/data-sources/o-z/singular/how-to-connect).

## Data refresh strategy

### Architecture data

Architecture covers the app inventory and the mode-specific catalogs (SKAN events, cohort metrics, conversion metrics). At connection time the connector reads the available apps from Singular and, based on the selected mode, populates the relevant pickers: the SKAN event picker, the cohort-metrics picker, and the conversion-metrics picker.

### Reports data

Reports contain daily attribution and performance data for the connected app.

**Daily cache.** Singular is a daily-cache data source with day-by-day granularity: each calendar day is fetched and cached separately, and cached days are skipped on re-query.

**Initial fetch.** After connection, the last **60 days** of daily data are retrieved.

**Refresh schedule.** At **5:00 PM UTC**, the most recent **30 days** of data are refreshed.

**Async reports.** Singular processes reports asynchronously. The connector creates a report job and polls until it is ready, so the first sync of a long date range can take a few minutes. Queries that span dates earlier than the cached window trigger a backfill through additional async report jobs.

## Architecture levels

App → Source (ad network) → Campaign → Ad set / Creative → Keyword

The levels available depend on the selected report mode and the breakdowns chosen in the data source form.

## Attribution windows

Attribution windows are configured per app inside Singular; the connector reports whatever windows Singular returns. SKAN attribution additionally follows Apple's SKAdNetwork postback timer — Postback 2 and Postback 3 counts are exposed as separate metrics (`skan_p2_postbacks`, `skan_p3_postbacks`).

For cohort measurement, SKAN mode uses three fixed cohort periods, and each selected cohort metric or SKAN event is reported per period:

| Cohort period | Window         | Value |
| ------------- | -------------- | ----- |
| P1            | Day 0 – Day 2  | `P1`  |
| P2            | Day 3 – Day 7  | `P2`  |
| P3            | Day 8 – Day 35 | `P3`  |

In Unified mode, cohort periods are not fixed — they are read dynamically from the account's Singular cohort-metrics configuration.

## 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 `skan_installs` is the literal Singular report field name. *Italic text* describes a value derived by Adriel rather than mapping to a single Singular field.
</Note>

<Note>
  The metrics available depend on the data source's mode. **SKAN** exposes five fixed metrics plus optional SKAN events. **Unified** exposes twenty-one fixed metrics plus optional cohort and conversion metrics. Because the two modes are mutually exclusive, the two metric sets never appear together in one data source.
</Note>

### Installs & app events

**SKAN mode**

| Metric                               | Description                                              | Data type | API Key                                |
| ------------------------------------ | -------------------------------------------------------- | --------- | -------------------------------------- |
| SKAN installs                        | SKAdNetwork-reported installs.                           | Number    | `skan_installs`                        |
| SKAN conversion values count         | Count of fine-grained SKAN conversion values.            | Number    | `skan_conversion_values_count`         |
| Modeled SKAN conversion values count | Count of modeled (fill-rate adjusted) conversion values. | Number    | `modeled_skan_conversion_values_count` |
| SKAN P2 postbacks                    | Postback 2 count (coarse value).                         | Number    | `skan_p2_postbacks`                    |
| SKAN P3 postbacks                    | Postback 3 count (coarse value).                         | Number    | `skan_p3_postbacks`                    |

SKAN events — the in-app conversions configured in Singular's SKAN setup — are available as optional metrics. Each event also has a Modeled (fill-rate adjusted) variant. Selecting any SKAN event requires at least one cohort period (P1, P2, or P3).

**Unified mode**

| Metric                 | Description                       | Data type | API Key                 |
| ---------------------- | --------------------------------- | --------- | ----------------------- |
| Ad-network installs    | Network-reported installs.        | Number    | `adn_installs`          |
| Tracker installs       | SDK-tracked installs.             | Number    | `tracker_installs`      |
| Custom installs        | Custom-tracked installs.          | Number    | `custom_installs`       |
| Tracker conversions    | SDK-tracked conversion events.    | Number    | `tracker_conversions`   |
| Tracker re-engagements | SDK-tracked re-engagement events. | Number    | `tracker_reengagements` |
| Daily active users     | Daily active users (DAU).         | Number    | `daily_active_users`    |

### Clicks & impressions

Available in Unified mode.

| Metric                 | Description                   | Data type | API Key               |
| ---------------------- | ----------------------------- | --------- | --------------------- |
| Ad-network impressions | Network-reported impressions. | Number    | `adn_impressions`     |
| Ad-network clicks      | Network-reported clicks.      | Number    | `adn_clicks`          |
| Tracker impressions    | SDK-tracked impressions.      | Number    | `tracker_impressions` |
| Tracker clicks         | SDK-tracked clicks.           | Number    | `tracker_clicks`      |
| Custom impressions     | Custom-tracked impressions.   | Number    | `custom_impressions`  |
| Custom clicks          | Custom-tracked clicks.        | Number    | `custom_clicks`       |

### Video

Available in Unified mode.

| Metric                    | Description                                | Data type  | API Key                     |
| ------------------------- | ------------------------------------------ | ---------- | --------------------------- |
| Video views               | Total video views.                         | Number     | `video_views`               |
| Video views 25%           | Views reaching 25% completion.             | Number     | `video_views_25pct`         |
| Video views 50%           | Views reaching 50% completion.             | Number     | `video_views_50pct`         |
| Video views 75%           | Views reaching 75% completion.             | Number     | `video_views_75pct`         |
| Completed video views     | Views reaching 100% completion.            | Number     | `completed_video_views`     |
| Completed video view rate | Completed views as a share of total views. | Percentage | `completed_video_view_rate` |

### Cost

Available in Unified mode.

| Metric                       | Description                                 | Data type | API Key                 |
| ---------------------------- | ------------------------------------------- | --------- | ----------------------- |
| Ad-network cost              | Reported spend.                             | Currency  | `adn_cost`              |
| Ad-network original cost     | Cost in the network's original currency.    | Currency  | `adn_original_cost`     |
| Ad-network original currency | Source currency code for the original cost. | Text      | `adn_original_currency` |

### In-app revenue & cohorts

<Note>
  Available in Unified mode. Cohort and conversion metrics are configured per Singular account, so the exact list varies by workspace.
</Note>

Cohort metrics (such as revenue, ROAS, and retention measured over a cohort window) are read dynamically from Singular's cohort-metrics catalog and reported per cohort period. Conversion metrics are read from Singular's conversion-metrics catalog and reported under their display names. Because both are account-specific, they appear as separate pickers in the data source form rather than as a fixed metric list.

## Breakdowns

<Note>
  Available breakdowns depend on the data source's mode. SKAN and Unified expose different fixed breakdown sets, and the two never appear together in one data source.
</Note>

### SKAN breakdowns

<Note>
  The `app` breakdown is always added automatically as the first breakdown, even when it is not selected. The SKAN API does not support an app filter, so Adriel fetches data for all apps and then keeps only the rows for the configured app.
</Note>

| Breakdown             | Description                               | API Key                 |
| --------------------- | ----------------------------------------- | ----------------------- |
| Source                | Ad network or source.                     | `source`                |
| Country               | Country code.                             | `country_field`         |
| SKAN redownloads      | Whether the install is a SKAN redownload. | `skan_redownloads`      |
| SKAN validated        | Whether the SKAN postback was validated.  | `skan_validated`        |
| Unified campaign ID   | Singular's unified campaign identifier.   | `unified_campaign_id`   |
| Unified campaign name | Singular's unified campaign name.         | `unified_campaign_name` |

### Unified breakdowns

| Breakdown | Description                        | API Key         |
| --------- | ---------------------------------- | --------------- |
| Date      | Daily reporting date.              | `date`          |
| App       | App identifier.                    | `app`           |
| Source    | Ad network or source.              | `source`        |
| Campaign  | Campaign name.                     | `campaign_name` |
| Country   | Country code.                      | `country`       |
| OS        | Operating system (iOS or Android). | `os`            |
| Platform  | Platform identifier.               | `platform`      |

<Note>
  Unified mode exposes a wider superset of breakdowns (creative, publisher, keyword, asset, and similar). The full list available in the data source form depends on the account's Singular configuration.
</Note>

## Limitations

* **Beta** — the Singular connector is in beta.
* **One app per data source** — each data source maps to a single Singular app.
* **Mode is permanent** — the SKAN or Unified mode is locked at data source creation; switching modes requires creating a new data source.
* **SKAN app filtering** — the SKAN API does not accept an app filter, so the connector fetches data for all apps and post-filters by app. This consumes more of Singular's daily row quota (3M rows per day).
* **SKAdNetwork postback latency** — SKAN installs and conversion values arrive on Apple's postback timer, so the most recent days continue to settle as Postback 2 and Postback 3 data lands.
* **Async report latency** — reports are generated asynchronously; the first sync of a long date range, or a backfill of older dates, can take a few minutes.
* **Attribution windows set in Singular** — attribution-window logic is configured per app in Singular, not in Adriel.
* **Account-dependent catalogs** — cohort and conversion metrics (Unified) and SKAN events (SKAN) are read from the account's Singular configuration and vary by workspace.

## API references

The connector calls Singular's asynchronous report APIs:

* `POST /api/v2.0/create_async_report` — Unified reports
* `POST /api/v2.0/create_async_skadnetwork_report` — SKAN reports
* `GET /api/v2.0/skan_events` — SKAN event catalog
* `GET /api/cohort_metrics` — cohort-metrics catalog (also used for connection validation)
* `GET /api/conversion_metrics` — conversion-metrics catalog

For field-level details, see the [Singular Reporting API reference](https://support.singular.net/hc/en-us/articles/205046069-Reporting-API-Reference).

## See also

* [How to connect Singular to Adriel](/data-sources/o-z/singular/how-to-connect) (paired how-to)
* [AppsFlyer data reference](/data-sources/a-f/appsflyer/data-reference) — alternative mobile measurement partner
* [Adjust data reference](/data-sources/a-f/adjust/data-reference) — alternative mobile measurement partner
