Campaign Analytics & Reporting
This guide helps you read campaign performance in a reliable way. Truedy exposes analytics both as:- a summary (aggregated stats)
- a per-contact view (campaign contact statuses and outcomes)
Who this is for
- Ops and founders who need to know “did it work?”
- Developers building dashboards and reporting pipelines.
Summary analytics endpoint
Use:GET /api/public/v1/batch-calls/{batch_call_id}/analytics
Docs:
What you typically get includes:
total_contactscompleted_contactssuccessful_contactsfailed_contactsvoicemail_contactsno_answer_contactstotal_cost_usdaverage_duration_seconds
Example response (shape)
Drill down: campaign contacts
Summary stats tell you what happened. To learn why, you need per-contact outcomes. Use the contacts endpoint: Common workflow:- Start with analytics (see totals)
- List contacts by status:
status=completedto inspect successful/answered outcomesstatus=failedto investigate delivery failuresstatus=scheduledto see what’s still pending
- For any failed/interesting contact, follow up using call records (and transcript/recording if needed)
Live vs completed stats
For scheduled/active campaigns, some stats may be approximations until calls finish and the provider events are reconciled. If you want the most up-to-date view, use:- the analytics endpoint regularly (dashboard behavior matches this model)
- webhooks (push) to update your own system as events land
What to watch operationally
1) Completion rate
Ifcompleted_contacts / total_contacts is low, your delivery or conversion pipeline may be failing:
- Check scheduling window and working days
- Confirm outbound numbers are correctly assigned
2) Failure buckets
If you have highfailed_contacts, use per-contact and/or call-level records to identify:
- provider errors (telephony failures)
- conversation-level failures (agent couldn’t place a successful interaction)
- agent prompt/tool behavior
- telephony configuration
- scheduling pacing (
max_concurrent_calls,max_calls_per_day)
3) Cost efficiency
Use:total_cost_usdandaverage_duration_seconds
Next steps
- If you want operational controls: Pause/Resume & Edit Campaigns
- If you want to understand scheduling inputs: Scheduling & Delivery Logic

