Skip to main content

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: The public API does not expose a separate analytics endpoint. Build reporting from campaign contacts, call records, and webhook events instead. What you typically get includes:
  • total_contacts
  • completed_contacts
  • successful_contacts
  • failed_contacts
  • voicemail_contacts
  • no_answer_contacts
  • total_cost_usd
  • average_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:
  1. Start with analytics (see totals)
  2. List contacts by status:
    • status=completed to inspect successful/answered outcomes
    • status=failed to investigate delivery failures
    • status=scheduled to see what’s still pending
  3. 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

If completed_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 high failed_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)
Then adjust:
  • agent prompt/tool behavior
  • telephony configuration
  • scheduling pacing (max_concurrent_calls, max_calls_per_day)

3) Cost efficiency

Use:
  • total_cost_usd and average_duration_seconds
to compare pacing strategies (more concurrency vs smaller windows).

Next steps