IN THIS ARTICLE:
Reports give you a detailed information about your campaign performance in a given time period. You can check:
general statistics per campaign,
number of messages sent on each level in your campaigns,
open rate per campaign.
API Key is a part of an API Key and Integrations add-on, click here to learn how to get it on Marketplace »
Types of reports
Depending on the type of data you want to get, use the right endpoint:
general statistics per campaign
POST https://api.woodpecker.co/rest/v2/reports/campaigns
number of messages sent on each level in your campaigns
POST https://api.woodpecker.co/rest/v2/reports/messages
open rate per campaign
POST https://api.woodpecker.co/rest/v2/reports/open_rate
How to make a request for report
First part of generating your report is making the following request:
POST https://api.woodpecker.co/rest/v2/reports/campaigns
with the following request body:
{
"from": "YYYY-MM-DD",
"to": "YYYY-MM-DD"
}
where:
from - is the beginning of time period you want to generate stats for
to - is the end of that time period.
IMPORTANT! You can generate reports only for the last 30 days. Also, bear in mind that we will generate a report for the given dates in relation to the UTC timezone.
As a result, you'll get a hashed number of your report.
{
"hash": "123456789abcdefghijkl9876543210oplkmnadquicaiajdhia"
}
To see the stats, use this hashed number in the following request:
GET https://api.woodpecker.co/rest/v2/reports/{{hash}}
Sample payloads
General statistics per campaign:
{
"status": "READY",
"report": {
"description": "General_statistics_per_campaign_2022-09-15-2022-10-14",
"data": [ {
"id": 1234567,
"name": "The best campaign ever",
"status": "RUNNING",
"sent_from": "[email protected]",
"contacted_prospects": 172,
"bounced": 9,
"bounced_rate": "5.2%",
"opened": 117,
"open_rate": "71.8%",
"clicked": 0,
"opt_out": 0,
"delivered": 163,
"responded": 45,
"response_rate": "27.6%",
"interested": 38,
"maybe_later": 3,
"not_interested": 1
},
{
"id": 1345678,
"name": "SaaS in America",
"status": "COMPLETED",
"sent_from": "[email protected]",
"contacted_prospects": 227,
"bounced": 10,
"bounced_rate": "4.4%",
"opened": 163,
"open_rate": "75.1%",
"clicked": 0,
"opt_out": 0,
"delivered": 217,
"responded": 43,
"response_rate": "19.8%",
"interested": 33,
"maybe_later": 4,
"not_interested": 1
} ]
}
}
Response data type:
status - string, indicates whether your report is ready. Other statuses: FAILED, WAITING, PENDING, IN_PROGRESS.
report - a JSON object, contains information about the report.
description - string, shows type of the report and chosen time period.
data - a JSON object, contains detailed stats.
id - number, campaign ID.
name - string, campaign name.
status - string, campaign status.
sent_from - string, an email campaign was sent from.
sent - number, number of emails sent from this campaign.
bounced - number, number of bounces.
bounced_rate - string, bounce rate.
opened - number, number of opens.
open_rate - string, open rate.
clicked - number, number of clicks.
opt_out - number, number of unsubscribes.
delivered - number, number of emails delivered.
responded - number, number of responses.
response_rate - string, response rate.
interested - number, number of interested prospects.
maybe_later - number, number of prospects that may be interested in your offer.
not_interested - number, number of not interested prospects.
Number of messages sent on each level in your campaigns:
{
"status": "READY",
"report": {
"description": "Number_of_messages_sent_from_each_level_in_campaigns_2022-09-15-2022-10-14",
"data": [ {
"id": 1234567,
"name": "The best campaign ever",
"sent_date": "2022-10-05",
"path": "",
"step": 1,
"version": "A",
"sent": "10"
},
{
"id": 1234567,
"name": "The best campaign ever",
"sent_date": "2022-10-07",
"path": "",
"step": 1,
"version": "B",
"sent": "13"
},
{
"id": 1345678,
"name": "SaaS in America",
"sent_date": "2022-10-05",
"path": "Path YES",
"step": 1,
"version": "A",
"sent": "22"
} ]
}
}
Response data type:
status - string, indicates whether your report is ready. Other statuses: FAILED, WAITING, PENDING, IN_PROGRESS.
report - a JSON object, contains information about the report.
description - string, shows type of the report and chosen time period.
data - a JSON object, contains detailed stats.
id - number, campaign ID.
name - string, campaign name.
sent_date - string, a date of sending emails from a specific step.
path - string, indicates from which path the emails were sent. Check Note for more information.
step - number, number of step a message was sent from.
version - string, email version. Check Note for more information.
sent - number, number of described emails sent on a given date.
Note:
Path parameter indicates whether your email was sent after fulfilling (or not) a condition:
empty parameter "" - means that there's no condition in this campaign,
PATH YES - means that condition was fulfilled for that prospect and this email was sent from the dedicated path,
PATH NO - means that condition wasn't fulfilled for that prospect and this email was sent from the dedicated path,,
PATH YES/NO - means that condition is added after a different step in this campaign.
Version parameter is specifically helpful when you use A/B tests in your campaign. If you don't, the only version you'll see in your stats will be version A.
Data is sort in the following order: campaign ID, sent date, step, version.
Open rate per campaign:
{
"status": "READY",
"report": {
"description": "Open_rate_per_campaign_2022-09-15-2022-10-14",
"data": [ {
"id": 1234567,
"name": "The best campaign ever",
"sent_date": "2022-10-05",
"sent_from": "[email protected]",
"path": "",
"step": 1,
"version": "A",
"sent": 10,
"delivered": 10,
"opened": 8,
"open_rate": "80.0%"
},
{
"id": 1234567,
"name": "The best campaign ever",
"sent_date": "2022-10-06",
"sent_from": "[email protected]",
"path": "",
"step": 1,
"version": "A",
"sent": 21,
"delivered": 21,
"opened": 11,
"open_rate": "52.4%"
},
{
"id": 1345678,
"name": "SaaS in America",
"sent_date": "2022-09-15",
"sent_from": "[email protected]",
"path": "Path YES/NO",
"step": 1,
"version": "A",
"sent": 12,
"delivered": 12,
"opened": 5,
"open_rate": "41.7%"
} ]
}
}
Response data type:
status - string, indicates whether your report is ready. Other statuses: FAILED, WAITING, PENDING, IN_PROGRESS.
report - a JSON object, contains information about the report.
description - string, shows type of the report and chosen time period.
data - a JSON object, contains detailed stats.
id - number, campaign ID.
name - string, campaign name.
sent_date - string, a date of sending emails from a specific step.
path - string, indicates from which path the emails were sent. Check Note for more information.
step - number, number of step a message was sent from.
version - string, email version. Check Note for more information.
sent - number, number of described emails sent on a given date.
delivered - number, number of messages delivered on a given date from a specific step.
opened - number of emails opened on a given date from a specific step.
open_rate - open rate for a specific step on a given date.
Note:
Data is sort in the following order: campaign ID, sent date, step, version.