# Reports and Calls CSV

> Edesy call tracking reports - group calls by source, medium, campaign, website, day or match type, see unique and first-time callers, answered and missed calls, talk time and cost, and download the calls CSV.

Source: https://edesy.in/docs/call-tracking/data/reports

Open **Call tracking → Reports** in [forwarding.edesy.in](https://forwarding.edesy.in) to see calls by source, campaign, website and day. Pick a pool or all pools and a date range; the default is the last 30 days.

## Grouped report

Group by one dimension at a time:

| Group by | API value |
|---|---|
| Source | `utm_source` |
| Medium | `utm_medium` |
| Campaign | `utm_campaign` |
| Site | `site_host` |
| Day | `day` |
| Match | `match` |

Each row shows:

| Column | Meaning |
|---|---|
| Calls | Calls on tracking numbers |
| Unique callers | Distinct caller numbers |
| First-time callers | Callers who had never called the pool before |
| Answered, missed | Calls that connected, and calls that didn't |
| Talk time | Total connected seconds |
| Cost | What those calls cost from your wallet |

API:

```bash
curl "https://voice-api.edesy.in/v1/call-tracking/reports/calls?group_by=utm_campaign&pool_id=POOL_ID" \
  -H "Authorization: Bearer sk_your_api_key"
```

`from` and `to` take RFC3339 timestamps; a range can be up to 400 days.

## Calls list

Below the report, every tracked call is listed with its time, caller, tracking number, status, duration, match type and campaign.

```bash
curl "https://voice-api.edesy.in/v1/call-tracking/calls?pool_id=POOL_ID&page=1&per_page=50" \
  -H "Authorization: Bearer sk_your_api_key"
```

`per_page` is at most 100. You can also filter by `utm_campaign` and `site_host`.

## Calls CSV

Download the calls list as `call-tracking-calls.csv` from the reports page, or with `GET /v1/call-tracking/calls.csv`. It takes the same filters and holds up to 50,000 rows. Columns:

```
call_sid, started_at, caller, tracking_number, status, duration_sec, price,
connected_number, match, first_call, site_host, landing_url, referrer,
utm_source, utm_medium, utm_campaign, utm_term, utm_content, gclid, fbclid
```

`started_at` is in UTC. Cells are escaped so a spreadsheet cannot treat a value as a formula.

## Using the data elsewhere

- **Google Ads:** use the [Google Ads Export](https://edesy.in/docs/call-tracking/data/google-ads-export), a CSV you upload in Google Ads.
- **CRM or your own database:** subscribe to the [Call Completed Webhook](https://edesy.in/docs/call-tracking/data/webhook).
- **Google Analytics 4:** there is no built-in GA4 or `dataLayer` integration. Import the calls CSV, or send events from your webhook receiver.

## FAQ

**Why do some rows show no campaign?**
Those calls were unattributed, or the visit had no UTM tags (for example direct or organic traffic). Group by **Match** to see how many calls were attributed.

**What does Cost include?**
The per-minute charge for those calls at the forwarding rate (Rs 1.00/min). Number rental is billed separately. Prices exclude 18% GST.
