# Retreaver's Call & RTB Dashboards

# Utilizing Retreaver's Call & RTB Dashboards

The **Call Dashboard** and **RTB Dashboard** are the two reporting hubs in Retreaver. The Call Dashboard tells you what happened *after* a call connected — volume, revenue, buyer behavior, geography. The RTB Dashboard tells you what happened *before* the call connected — every inbound reservation request, whether it was claimed, rejected, expired, or had no available target.

Both dashboards share the same toolkit: **drilldowns**, **templates**, **CSV exports**, and a **customizable table**. Once you know how to bend one of them to your reporting needs, you know how to bend the other.

This guide walks through every field on both dashboards, how to customize each view, and how to save those views as reusable templates so your team isn't rebuilding the same report every Monday morning.

---

## Call Dashboard

The **Call Dashboard** is where you analyze completed call activity — calls received, calls connected, calls converted, revenue earned, and payouts owed. Everything here is scoped to the date range and filters at the top of the page.



<details>
<summary><b>Filter & Date Range</b></summary>

Every chart, drilldown, and log row obeys the **date range** and **filters** at the top of the page. Adjust these first; everything below updates immediately.

- **Filter** button — opens advanced filters (campaign, publisher, call buyer, tag, status, duration, etc.). Stack as many as you need.
- **Search Calls by UUID or Caller Number** — quick lookup for a specific call.
- **Date range picker** — defaults to today; click to pick a custom range, last 7 days, last 30 days, MTD, etc. Time zone (e.g., `EDT`) is shown to the right of the range.

> [!IMPORTANT]
> Filters apply to **every** widget on the page including the Call Drilldown and Call Log. If a chart looks empty, check the date range and active filters first.


</details>

<details>
<summary><b>Call Charts — Calls, Receivables, and Payables</b></summary>

The main chart at the top of the Call Dashboard plots three series across your selected date range:

- **Calls** (blue) — total calls received per time bucket.
- **Receivables** (pink) — what your call buyers owe *you* on those calls.
- **Payables** (yellow) — what *you* owe publishers for the traffic.

The X-axis auto-buckets by hour, day, or week depending on the range you selected. Hovering any bar surfaces the exact values for that bucket.

> Use this chart to spot daypart patterns — when do your most profitable hours actually happen, and are your payables tracking proportionally to receivables?


</details>

<details>
<summary><b>Call Buyer Behavior on Calls</b></summary>

A horizontal bar chart breaking down how each **Call Buyer** handled the calls routed to them:

- **Answers** — calls the buyer picked up.
- **No Answers** — calls the buyer didn't pick up.
- **Timeout** — calls the buyer let ring past the configured timeout.
- **Rescued** — calls that failed on one buyer and were successfully recovered by a fallback buyer.

Buyers are sorted by total volume, so your highest-traffic buyers sit at the top.

> Use this widget to spot buyers with poor answer rates or high timeouts — they're losing you revenue and burning publisher trust.


</details>

<details>
<summary><b>Revenue by State</b></summary>

A US choropleth (heatmap) showing total revenue earned per state for the selected date range. Darker shading = higher revenue. Hover a state to see the exact dollar amount and call count.

> Use this to identify geographic concentration — are you over-indexed in two states? Are there states where you have publisher volume but no buyer coverage?


</details>

<details>
<summary><b>Revenue by Publisher</b></summary>

A horizontal bar chart ranking publishers by total revenue contributed during the selected range. Top performers sit at the top with full bars; lower contributors taper off below.

Example rows:
- `Publisher_A` — $1,271.72
- `Publisher_B` — $391.74
- `Publisher_C` — $311.35

> Pair this with the Call Drilldown's `Payout` and `EPC` columns to evaluate publisher profitability, not just publisher volume.


</details>

<details>
<summary><b>Call Drilldown</b></summary>

The **Call Drilldown** is the most customizable widget on the dashboard. It lets you build a nested report by chaining together drilldown levels — Campaign → Call Buyer → Publisher → Number → and so on — to see exactly how each cohort performs.

**How to add or remove drilldown levels:**

1. Locate the **Drill down by:** row at the top of the widget.
2. Click the **+** button to open the **Add Drilldown Level** dropdown.
3. Pick from System levels (Campaign, Call Buyer, Number, Publisher, Buyer Group, Total Duration, IVR Duration, Hold Duration, Dialed Call Duration, Waiting Room Duration, Revenue, Payout, Payable, Receivable) or your custom Tag levels.
4. Click **Apply** to refresh the table.
5. To remove a level, click the **×** on its chip.


**Reading the table:**

Each row expands using the `>` arrow on the left, revealing the next drilldown level beneath it. Columns include:

| Column | What it means |
| --- | --- |
| **Total** | All calls received in this cohort |
| **Connected** | Calls that successfully reached a buyer |
| **Payable** | Calls that hit the payable trigger (e.g., 90-second qualifier) |
| **Payout** | Dollar amount owed to publishers for these calls |
| **EPC Total** | Earnings Per Call across the cohort |
| **CPC Total** | Cost Per Call across the cohort |

> [!IMPORTANT]
> A row showing high **Total** but low **Connected** means you have a routing or capacity problem on that cohort — buyers are missing the call. A row showing high **Connected** but low **Payable** means the calls are short or unqualified.


</details>

<details>
<summary><b>Templates — saving custom dashboard views</b></summary>

Every customization you make — drilldown levels, removed/reordered columns, applied filters — can be saved as a **Template** and reused across your team.

**Built-in template slot:** *Default Drilldown Template*
**Custom examples shown here:** *Buyer_report*, *Pub_view*

**Saving your own template:**

1. Customize the widget — add drilldown levels, remove columns you don't need (hover the column header and click **×**), reorder, etc.
2. Click the **pencil ✎** icon next to the Template dropdown.
3. Choose **Save as new template** and give it a name (e.g., `Weekly_Buyer_QBR`, `Publisher_Payout_Audit`).
4. The template is now selectable from the dropdown by anyone with access to the dashboard.

**Switching between templates:** open the Template dropdown and click any saved view. The widget rebuilds instantly with that template's drilldown levels, columns, and filters.


> [!IMPORTANT]
> Hovering any column header reveals an **×** to hide that column from the current view. Combine column-hiding with custom drilldown levels and save the result as a template — it's the fastest way to build clean exec-ready reports.

</details>

<details>
<summary><b>CSV Export</b></summary>

Every drilldown and log widget on the Call Dashboard has a **CSV Export** button (top-right of the widget).

- Exports the **currently visible view** — meaning whatever drilldown levels, columns, filters, and date range you have applied at that moment.
- Opens in Excel, Google Sheets, or any CSV-aware tool.
- Useful for sharing snapshots with stakeholders who don't have Retreaver access, or for combining Retreaver data with offline sources.


</details>

<details>
<summary><b>Call Log</b></summary>

The **Call Log** lives at the bottom of the Call Dashboard and shows every individual call within your filters. Each row is one call.

**Default columns:**

- **Via** — status indicator (green = connected, red = missed/no-answer)
- **UUID** — Retreaver's unique call ID
- **Call** — caller's phone number
- **Number** — the tracking number dialed (or `No Number` if not applicable)
- **Campaign** — the campaign the call belongs to
- **Publisher** — the publisher that drove the call

Click any UUID to open the full call detail view (recording, tags, routing trace, buyer response timeline).

**Customizing the Call Log:**

The Call Log uses the same template system as the drilldown. Hover any column to see an **×** for removal; add columns through the pencil/edit icon; save the customized layout as a template via the **Default Table Template** dropdown.

**AI Analyst:** the teal **AI Analyst** button at the top of the Call Log lets you ask natural-language questions across the calls in the current view (e.g., *"How many calls converted from `Publisher_A` after 5pm?"*).


</details>

---

## RTB Dashboard

The **RTB Dashboard** shows every inbound reservation request from the Real-Time Bidding API — the activity that happens *before* a call connects. This page only displays **Rejected**, **No-target**, and **Reserved/Expired** reservations. Once a reservation is claimed and a call is placed, it leaves this page and appears in the Call Log.



<details>
<summary><b>Realtime vs Historical tabs</b></summary>

Two tabs at the top of the RTB Dashboard switch the data source:

- **Realtime** — live ping activity, updates as new requests arrive. Use this for active monitoring during a campaign launch or when investigating live issues.
- **Historical** — aggregated, queryable reporting over your selected date range. Use this for analysis, QBRs, and trend detection.

The **filter row**, **search**, and **date range** below the tabs behave identically to the Call Dashboard.


</details>

<details>
<summary><b>RTB Charts — Inbound Requests</b></summary>

A line chart plotting total inbound RTB request volume across the selected date range. Bucketing follows the date range (hour, day, week). Use it to:

- Spot ping-volume spikes that don't translate to claims.
- Correlate publisher-side ping behavior with your `no-target` rates.
- Validate that a publisher is sending the volume they claim to be sending.


</details>

<details>
<summary><b>Why am I getting 'no-target' and 'rejected'?</b></summary>

A pie chart breaking down the **reasons** behind your `no-target` and `rejected` reservations. Slice categories include:

- **undialable_expression** — the caller number didn't pass campaign filters (state, area code, dialable pattern).
- **target_disqualified** — buyer was technically available but didn't match the caller's profile (e.g., wrong state).
- **targets_closed** — buyer caps hit or buyer is paused on schedule.
- **targets_paused** — buyer manually paused.
- **rejected** — buyer's RTB endpoint actively rejected the ping (price, profile, or own logic).

> [!IMPORTANT]
> If **undialable_expression** dominates, the problem is upstream — your publishers are sending traffic that doesn't match your campaign's targeting. If **targets_closed** dominates, you have a capacity problem and should add buyer coverage.


</details>

<details>
<summary><b>Types of inbound requests by Postback Keys</b></summary>

A horizontal stacked bar chart breaking each **Postback Key** (publisher integration endpoint) into four request outcomes:

- **claimed** — request was successfully claimed and converted into a call.
- **expired** — reservation was made but the publisher never delivered the caller before timeout.
- **no-target** — no buyer was available.
- **rejected** — request was rejected by a buyer.

Each Postback Key gets its own row, so you can see at a glance which publisher integrations are healthy and which are over-pinging.


</details>

<details>
<summary><b>How many Inbound Requests have been limited per Postback Key?</b></summary>

A bar chart showing how often each Postback Key was throttled by **Retreaver Ping Shield** — the feature that protects buyers from duplicate, rate-limited, or spammy ping traffic.

A `Limited Data` flag on a key means Ping Shield is actively rate-limiting that publisher's pings. High limited counts on one key usually point to:

- A publisher with broken ping logic (re-pinging the same caller repeatedly).
- A publisher exceeding their agreed ping ceiling.
- A duplicate-lead flooding scenario.

> Pair this widget with the **Why am I getting 'no-target' / 'rejected'** chart to diagnose ping-quality issues at the source.


</details>

<details>
<summary><b>RTB Drilldown</b></summary>

The **RTB Drilldown** mirrors the Call Drilldown — same nesting model, same template behavior — but with RTB-specific levels.

**How to add or remove drilldown levels:**

1. Click the **+** button next to the **Drill down by:** chips at the top of the widget.
2. Pick a level. Available System levels:

   - **Type** (inbound vs outbound)
   - **Campaign**
   - **Status**
   - **Publisher**
   - **Call Buyer**
   - **Postback Key**
   - **Caller Number**, **Caller State**, **Caller City**, **Caller ZIP**, **Caller Country**
   - **Daily**, **Hourly**, **Day Of Week**, **Hour Of Day**
   - **Tag** (your custom tags)

3. Click **Apply**.
4. Remove any level by clicking the **×** on its chip.

**Default columns** include `Average Time To Resolve` and `Percentage Of Total Resolutions` — useful for spotting buyers or campaigns that are responding slowly to pings and dragging down your overall RTB performance.

> [!IMPORTANT]
> Drilling **Type → Campaign → Status** is the fastest way to see which campaigns are bleeding `no-target` and which are healthy. Save it as a template so it's always one click away.


</details>

<details>
<summary><b>RTB Log</b></summary>

The **RTB Log** at the bottom of the dashboard lists every individual reservation request matching your filters.

**Default columns:**

- **Postback Key** — the integration endpoint that received the ping
- **UUID** — the reservation ID
- **Call UUID** — the call ID, if the reservation was claimed and converted
- **Caller Number** — the originating phone number on the ping
- **Publisher**
- **Inbound Number** — the number reserved for the call
- **Campaign**

Click any row to open the full reservation detail (raw ping payload, buyer responses, decision trace).

Customize columns the same way as the Call Log — hover the header, click **×** to hide; use the pencil ✎ icon next to the **Default Table Template** dropdown to save your trimmed layout as a new template.


</details>

<details>
<summary><b>Templates & CSV Export (RTB)</b></summary>

The template and CSV export controls on the RTB Dashboard are identical to the Call Dashboard:

- **Template dropdown** — save and switch between drilldown layouts (e.g., *Publisher_Health_Daily*, *Postback_Audit_Weekly*).
- **Pencil ✎ icon** — opens the template editor to rename, save-as-new, or delete.
- **CSV Export** — exports the current view of the drilldown or RTB Log, including whatever drilldown levels and filters you have applied.


</details>

---

## Practical workflows

Once you're comfortable navigating the widgets, the real value comes from chaining them into repeatable workflows. A few patterns to start with:

<details>
<summary><b>Weekly buyer QBR</b></summary>

1. Open the **Call Dashboard**, set date range to last 7 days.
2. In the Call Drilldown, set levels to **Campaign → Call Buyer**.
3. Hide any columns you don't need (e.g., IVR Duration, Hold Duration).
4. Save as a template called `Weekly_Buyer_QBR`.
5. Export to CSV before each Monday QBR — or just open the template live during the meeting.

</details>

<details>
<summary><b>Diagnosing a publisher complaining about 'no-target'</b></summary>

1. Open the **RTB Dashboard → Historical**.
2. Filter to the publisher's Postback Key and the affected date range.
3. Look at **Why am I getting 'no-target' and 'rejected'?** — what's the dominant reason?
4. Drill **Type → Campaign → Status** in the RTB Drilldown to see which campaigns are responsible.
5. If `targets_closed` dominates, you need more buyer coverage on those campaigns. If `undialable_expression` dominates, the publisher needs to fix their traffic mix.

</details>

<details>
<summary><b>Spotting publisher payout leakage</b></summary>

1. Open the **Call Dashboard**.
2. In Call Drilldown, set levels to **Publisher → Campaign**.
3. Compare `Total` vs `Connected` vs `Payable` for each publisher.
4. Publishers with high `Total` but low `Payable` are sending unqualified or short calls — your payout-to-revenue ratio is at risk.
5. Save as `Publisher_Payout_Audit` template.

</details>

---

## Key takeaways

- The **Call Dashboard** is post-connection reporting; the **RTB Dashboard** is pre-connection reporting. Together they cover the full call lifecycle.
- Every widget supports **drilldown nesting**, **column hide/reorder**, **templates**, and **CSV export** — the same five controls everywhere.
- Hover any column header to find the **×** that removes it. Hover any chip in the **Drill down by:** row to find the **×** that removes the level.
- Save your customized views as **templates** so the team isn't rebuilding the same report every week.
- Use **Realtime** on the RTB Dashboard for live debugging, **Historical** for analysis and QBRs.

> [!IMPORTANT]
> The single biggest unlock for most Retreaver accounts is committing to two or three saved templates per role (sales, account management, publisher ops) and exporting them on the same cadence each week. Reporting consistency drives optimization speed.