Skip to main content

Get Campaign Stats

Retrieve delivery, read, click and conversion stats for a WhatsApp campaign.

Totals are lifetime. Unique counts can lag event counts by up to 15 minutes. Before the campaign is sent, counts are 0 and rates are null.

Finding the campaign ID

WhatsApp campaigns are created in the dashboard. The ID is the last part of the campaign's URL.

Endpoint​

GET /whatsapp/campaigns/:id/stats

Returns: 200 OK

Headers​

HeaderValueRequired
AuthorizationBearer <your-api-key>Yes

Path Parameters​

ParameterTypeRequiredDescription
idstringYesThe campaign ID.

Response​

{
"object": "whatsapp_campaign_stats",
"campaign_id": "0192a1b2-c3d4-7e5f-9000-abcdef123456",
"sent": 3100,
"delivered": 3020,
"read": 2410,
"failed": 80,
"clicks": 560,
"unique_reads": 2290,
"unique_clicks": 498,
"delivery_rate": 0.9742,
"read_rate": 0.7583,
"click_rate": 0.1649,
"conversions": {
"enabled": true,
"tracking_since": "2026-09-01T00:00:00.000Z",
"total": 42,
"revenue": [{ "currency": "SAR", "amount": 18350 }],
"by_event": [
{
"event_id": "0192a1b2-eeee-7fff-8000-111111111111",
"event_name": "order_completed",
"tracks_revenue": true,
"conversions": 42,
"revenue": [{ "currency": "SAR", "amount": 18350 }]
}
]
}
}

Response fields​

FieldTypeDescription
sentnumberAccepted by WhatsApp
deliverednumberDelivered to the recipient's device
readnumberRead receipts. Depends on the recipient's privacy settings.
failednumberCould not be delivered
clicksnumberTotal button taps
unique_readsnumberContacts who read
unique_clicksnumberContacts who tapped a button
delivery_ratenumber | nulldelivered / sent
read_ratenumber | nullunique_reads / delivered
click_ratenumber | nullunique_clicks / delivered
conversions.enabledbooleanfalse when the organization has no conversion events
conversions.tracking_sincestring | nullWhen the first conversion event was enabled (ISO 8601)
conversions.totalnumberConversions attributed to the campaign
conversions.revenuearrayAttributed revenue as { currency, amount }, one entry per currency
conversions.by_eventarrayThe same breakdown per conversion event

Rates are fractions from 0 to 1, rounded to four decimals, and null when the denominator is 0.


Examples​

curl "https://api.arsel.sa/v1/whatsapp/campaigns/0192a1b2-c3d4-7e5f-9000-abcdef123456/stats" \
-H "Authorization: Bearer $ARSEL_API_KEY"

Error Responses​

{
"status_code": 404,
"name": "not_found",
"message": "Campaign not found"
}