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

## Introduction

CallRail is a call-tracking and lead-intelligence platform that assigns trackable phone numbers and forms to marketing sources, then attributes inbound calls and form submissions back to the channel, campaign, or keyword that drove them. A tracker (also called a swap source) is a pool of phone numbers tied to a particular marketing source — search ads, social ads, organic, offline — and dynamic number insertion swaps the number displayed on a website based on the visitor's referrer.

The connector exposes per-call and per-form-submission records alongside company and tracker configuration. Roughly 140 fields cover call core attributes, caller details, source attribution, click-ID passthroughs, CallScribe transcription and sentiment data, and form-capture payloads. Typical use cases include matching call volume to paid-search keywords, comparing form conversion across landing pages, and surfacing high-value calls next to ad-platform spend.

As a call-tracking connector, call and source-attribution fields are standardized so widgets can aggregate alongside ad-platform sources without additional configuration.

<Note>
  CallRail is currently in beta.
</Note>

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

## Data refresh strategy

### Architecture data

Company, tracker, form-submission, and tag catalogs refresh every four hours (at 0 minutes past the hour, in UTC) using an atomic-replace strategy — the entire dataset is replaced on each cycle rather than incrementally appended. Newly provisioned trackers and updated tracker configuration become available within four hours.

### Reports data

Call logs are cached daily and refreshed at 02:00 UTC. Each refresh re-fetches the last five days of calls to catch late-arriving recordings and transcriptions. On initial connection, 90 days of historical call data are backfilled. Form submissions follow the four-hour catalog cadence rather than the daily call refresh.

## Architecture levels

* **Account** — a single CallRail account, identified by its account ID.
* **Company** — a billing and configuration unit within the account.
* **Tracker** — a pool of trackable phone numbers tied to one marketing source (search, social, offline, etc.).
* **Call / Form submission** — an individual inbound call or web form submission attributed to a tracker.

Calls, form submissions, trackers, companies, and tags are exposed as separate selectable data types; a widget queries one data type at a time.

## Date range limits

Data is available for up to **2 years** from the current date. Adriel caps history at 2 years, so records older than two years are not accessible through this connector.

## Metrics

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

  Code style like `duration` is the literal CallRail API field name. *Italic text* describes how a value is produced when it doesn't map cleanly to a single CallRail field or when it's computed by Adriel.

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

### Calls & volume

| Metric                | Description                                           | Data type | API Key                 |
| --------------------- | ----------------------------------------------------- | --------- | ----------------------- |
| Call ID               | Unique call identifier.                               | Text      | `id`                    |
| Direction             | Inbound or outbound.                                  | Text      | `direction`             |
| Call type             | Type classification assigned by CallRail.             | Text      | `call_type`             |
| Answered              | Whether the call was answered.                        | Boolean   | `answered`              |
| Voicemail             | Whether the call reached voicemail.                   | Boolean   | `voicemail`             |
| First call            | Whether this is the caller's first call.              | Boolean   | `first_call`            |
| Total calls           | Cumulative calls from this caller.                    | Number    | `total_calls`           |
| Prior calls           | The caller's prior call count.                        | Number    | `prior_calls`           |
| Duration              | Call duration in seconds.                             | Duration  | `duration`              |
| Recording             | Audio playback link (served through an Adriel proxy). | URL       | `recording`             |
| Recording duration    | Recording length in seconds.                          | Duration  | `recording_duration`    |
| Start time            | Call start timestamp.                                 | Date      | `start_time`            |
| Created at            | Record creation timestamp.                            | Date      | `created_at`            |
| Device type           | Caller's device type.                                 | Text      | `device_type`           |
| Agent email           | Email of the agent who handled the call.              | Text      | `agent_email`           |
| Business phone number | Destination business number.                          | Text      | `business_phone_number` |
| Tracking phone number | Tracking number that received the call.               | Text      | `tracking_phone_number` |

### Conversions & value

| Metric              | Description                             | Data type | API Key               |
| ------------------- | --------------------------------------- | --------- | --------------------- |
| Value               | Estimated lead value.                   | Currency  | `value`               |
| Lead status         | Lead-status label.                      | Text      | `lead_status`         |
| Good-lead call ID   | Reference to a qualifying earlier call. | Text      | `good_lead_call_id`   |
| Good-lead call time | Timestamp of the qualifying call.       | Date      | `good_lead_call_time` |
| Note                | Free-text note attached to the call.    | Text      | `note`                |
| Call summary        | AI-generated call summary (CallScribe). | Text      | `call_summary`        |
| Transcription       | Full call transcript (CallScribe).      | Text      | `transcription`       |
| Sentiment           | Sentiment classification (CallScribe).  | Text      | `sentiment`           |

### Call sources & attribution

| Metric                       | Description                                  | Data type | API Key              |
| ---------------------------- | -------------------------------------------- | --------- | -------------------- |
| Source                       | Attributed marketing source.                 | Text      | `source`             |
| Source name                  | Friendly source label.                       | Text      | `source_name`        |
| Medium                       | Marketing medium.                            | Text      | `medium`             |
| Campaign                     | Campaign attributed to the call.             | Text      | `campaign`           |
| Keyword                      | Keyword that drove the visit.                | Text      | `keywords`           |
| Landing page URL             | Page where the number swap was triggered.    | URL       | `landing_page_url`   |
| Last requested URL           | Most recent page in the session.             | URL       | `last_requested_url` |
| Referrer domain              | Domain that referred the session.            | Text      | `referrer_domain`    |
| Referring URL                | Full referring URL.                          | URL       | `referring_url`      |
| Session UUID                 | Session identifier.                          | Text      | `session_uuid`       |
| UTM source                   | `utm_source` captured on the landing page.   | Text      | `utm_source`         |
| UTM medium                   | `utm_medium` captured on the landing page.   | Text      | `utm_medium`         |
| UTM campaign                 | `utm_campaign` captured on the landing page. | Text      | `utm_campaign`       |
| UTM content                  | `utm_content` captured on the landing page.  | Text      | `utm_content`        |
| UTM term                     | `utm_term` captured on the landing page.     | Text      | `utm_term`           |
| Google click ID (gclid)      | Google Ads click identifier.                 | Text      | `gclid`              |
| Meta click ID (fbclid)       | Meta click identifier.                       | Text      | `fbclid`             |
| Microsoft click ID (msclkid) | Microsoft Ads click identifier.              | Text      | `msclkid`            |

### Form & lead activity

| Metric           | Description                                         | Data type | API Key            |
| ---------------- | --------------------------------------------------- | --------- | ------------------ |
| Form submissions | Count of form submissions.                          | Number    | `form_submissions` |
| Form data        | Submitted form fields (JSON).                       | Text      | `form_data`        |
| Form URL         | Page where the form was submitted.                  | URL       | `form_url`         |
| First form       | Whether this is the caller's first form submission. | Boolean   | `first_form`       |
| Submitted at     | Submission timestamp.                               | Date      | `submitted_at`     |

### Caller & geography

| Metric           | Description                  | Data type | API Key                 |
| ---------------- | ---------------------------- | --------- | ----------------------- |
| Customer name    | Caller name when available.  | Text      | `customer_name`         |
| Customer phone   | Caller phone number.         | Text      | `customer_phone_number` |
| Customer email   | Caller email when available. | Text      | `customer_email`        |
| Customer city    | Caller city.                 | Text      | `customer_city`         |
| Customer state   | Caller state or region.      | Text      | `customer_state`        |
| Customer country | Caller country.              | Text      | `customer_country`      |

Tracker- and company-level configuration columns (swap settings, feature flags, phone-number pools) and pre-formatted display variants of the fields above are also available, but are typically reserved for diagnostic widgets.

## Breakdowns

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

  Code style like `id` is the literal CallRail API field name. *Italic text* describes a grouping produced by Adriel rather than returned by CallRail.
</Note>

### Record identity

| Breakdown  | Description                         | API Key      |
| ---------- | ----------------------------------- | ------------ |
| Call ID    | Group by unique record identifier.  | `id`         |
| Created at | Group by record creation timestamp. | `created_at` |

### Record grouping

<Note>
  These groupings are provided by Adriel rather than returned by CallRail.
</Note>

| Breakdown       | Description                                      |
| --------------- | ------------------------------------------------ |
| No Grouping     | Return a single total with no grouping applied.  |
| Datasource Name | Group by the name of the Adriel data source.     |
| Updated At      | Group by the time Adriel last synced the record. |
| Raw Data        | Group by the full underlying record payload.     |

## Limitations

Based on the current connector, CallRail has:

* **Beta status** — behavior and available fields may change.
* **A 2-year history cap** — Adriel limits queries to the last 2 years, so data older than two years cannot be fetched through this connector. (CallRail itself retains communication records for 25 months before deletion — [CallRail Support](https://support.callrail.com).)
* **A 29-character column-key limit** — call and form-submission columns whose key exceeds 29 characters are silently dropped during parsing.
* **Separate call and form-submission record types** — the two are stored in different caches and queried through different views; combining call-level and form-level metrics in one widget requires the connector to fan out across both.
* **Asynchronous recordings and transcripts** — audio recordings, transcriptions, and sentiment are produced by CallRail after the call ends. The 5-day incremental refresh window exists to backfill them; recording links are served through a proxy and expire shortly after generation.
* **Attribution gaps on default numbers** — calls placed without an active tracker session fall back to a default number and may carry no source, campaign, or keyword attribution.
* **Flattened tracker source** — a tracker's `source` object is split into `source__type`, `source__search_engine`, and `source__search_type` before storage, and the raw `tracker_source` field is not exposed.

## API references

* [CallRail API v3 documentation](https://apidocs.callrail.com/)
* [Calls endpoint](https://apidocs.callrail.com/#calls)
* [Form submissions endpoint](https://apidocs.callrail.com/#form-submissions)
* [Trackers endpoint](https://apidocs.callrail.com/#trackers)
* [Companies endpoint](https://apidocs.callrail.com/#companies)

## See also

* [How to connect CallRail](/data-sources/a-f/callrail/how-to-connect) (paired how-to)
* [HubSpot data reference](/data-sources/g-n/hubspot/data-reference) — for tying call leads to downstream deal pipeline
* [Google Ads data reference](/data-sources/g-n/google-ads/data-reference) — for joining calls to paid-search spend on the same click IDs
