Outbound Campaign Metrics Discrepancy in Performance Dashboard

Stuck on reconciling the call outcome metrics between the Outbound Campaign dashboard and the Agent Performance views. The organization is configured in the Europe/Paris region, and the discrepancy appears consistently across multiple campaigns using the same dialer profile. Specifically, the “Answered” count in the Campaign Summary view is significantly lower than the sum of answered calls attributed to agents in the Agent Performance dashboard for the same time window (UTC+1, 08:00-18:00). This gap affects our service level calculations and agent productivity reports.

The Architect flow handling the outbound dialer is standard, utilizing the “Make Outbound Call” action with a basic IVR menu before transfer. No custom data actions are involved in the call routing logic itself. The dialer profile is set to “Progressive” with a maximum concurrency of 50. Despite verifying the flow version history, the issue persists after the latest deployment.

The payload used to trigger the campaign start via the Admin API (POST /api/v2/outbound/campaigns/{campaignId}/start) is straightforward, as shown below:

{
 "campaignId": "c123-456-789",
 "startType": "immediate"
}

The expectation is that the campaign-level metrics should align with the aggregated agent-level metrics, excluding any calls that were abandoned before agent connection. However, the difference suggests that some calls are being counted in one view but not the other, or there is a latency in metric aggregation that exceeds the standard refresh interval. The dashboard filters are set to “Last 24 hours” and include all statuses. Assistance is required to identify whether this is a known limitation of the performance views or a configuration error in the campaign settings. Clarification on the metric calculation logic for answered calls in the context of progressive dialing would be beneficial.

Make sure you are aligning the time zones correctly before comparing the metrics, as this is the most common cause of discrepancy. The Campaign Summary view typically uses the organization’s local time, which is Europe/Paris (UTC+1) in this case, while the Agent Performance dashboard often defaults to UTC or the individual agent’s configured time zone. If the agents are working in different time zones or if the dashboard is set to UTC, the 08:00-18:00 window will not match the campaign’s local reporting period. To verify this, use the Genesys Cloud API to pull the raw call data for the specific campaign and time range. You can use the /api/v2/analytics/outbound/calls/query endpoint with a timeRange object that explicitly sets the startTime and endTime in ISO 8601 format with the correct timezone offset. For example, set "timeRange": { "startTime": "2023-10-01T08:00:00+02:00", "endTime": "2023-10-01T18:00:00+02:00" } to match the Paris summer time. Then, compare the count of calls with outcome: "ANSWERED" from this API response against the dashboard numbers. If the API returns a count that matches the Campaign Summary but not the Agent Performance view, it confirms a timezone mismatch in the agent view. Additionally, check if any calls were answered by IVR or voicemail and excluded from agent attribution, as these may be counted in the campaign total but not in the agent-specific metrics. This discrepancy often resolves once the time ranges are strictly synchronized across all views.

The best way to fix this is to verify the dialer_profile settings for call_disposition_sync. Misaligned timezone_offset values often cause this split between campaign-level and agent-level reporting. Ensure the reporting_timezone in the campaign config matches the agent’s local setting, or standardize everything to UTC for consistency.