Note: This method is only for use with primary_email
and resend
role email campaign activities.
Make a GET call to the /reports/email_reports/{campaign_activity_id}/tracking/optouts
endpoint to get a report listing each contact that clicked the unsubscribe link in the email campaign activity to opt-out from receiving emails sent from your Constant Contact account. This report includes contact information, such as the contact’s email address, unique ID, and the opt-out date and time. Opt-out report data is sorted with the most recent activity listed first.
The following example shows the type of reporting data that is returned for each contact that chose to opt-out:
{
"tracking_activities": [
{
"contact_id": "4399f5a0-5b89-11e7-ba80-00163e498a37",
"campaign_activity_id": "c8cdf384-15ca-4dcc-9b6f-4c91121fdc22",
"tracking_activity_type": "em_optouts",
"email_address": "jake_dodge@jakedodgepancakes.com",
"first_name": "Maddie",
"last_name": "Brown",
"opt_out_reason": "The content is not what I expected",
"created_time": "2019-05-16T21:14:00.000Z"
}
]
}
Non-required contact properties, such as the contact’s first_name
and last_name
or opt_out_reason
, do not display in the results if they are undefined (null).
If you have not sent the email campaign activity to any contacts, this method returns a 200 response code and an empty array for tracking_activities
:
{
"tracking_activities": []
}
You can confirm that Constant Contact successfully sent an email campaign activity by making a GET call to /emails/activities/{campaign_activity_id}
and checking that the email campaign activity has a status of Done
. For more information, see the Get an Email Campaign Activity topic.
Parameters
This method requires the campaign_activity_id
URL parameter of the email campaign activity for which you want to get an email opt-outs report. Optionally, you can choose to limit the number of opt-out activities to return on each page by using the limit
query parameter.
Query Parameters
This method does not currently support filtering results using the email opt-outs report created_time
timestamp.
Example Get Email Opt-outs Report Call
This example GET call returns an email opt-outs report for a specified email campaign activity.
GET https://api.cc.email/v3/reports/email_reports/c8cdf384-15ca-4dcc-9b6f-4c91121fdc22/tracking/optouts
Endpoint Requirements
User privileges: ui:campaign:metrics
Authorization scopes: campaign_data
<?php
$request = new HttpRequest();
$request->setUrl('https://api.cc.email/v3/reports/email_reports/c8cdf384-15ca-4dcc-9b6f-4c91121fdc22/tracking/optouts');
$request->setMethod(HTTP_METH_GET);
$request->setHeaders(array(
'cache-control' => 'no-cache',
'Connection' => 'keep-alive',
'Accept-Encoding' => 'gzip, deflate',
'Host' => 'your_host.com',
'Postman-Token' => '352198d0-1015-4c9f-8b37-51ec2485bffe,1e49a4d7-fad3-459a-bc55-545b1baaa3bc',
'Cache-Control' => 'no-cache',
'User-Agent' => 'PostmanRuntime/7.15.2',
'Authorization' => 'Bearer {access token}',
'Accept' => '*/*',
'Content-Type' => 'application/json'
));
try {
$response = $request->send();
echo $response->getBody();
} catch (HttpException $ex) {
echo $ex;
}
OkHttpClient client = new OkHttpClient();
Request request = new Request.Builder()
.url("https://api.cc.email/v3/reports/email_reports/c8cdf384-15ca-4dcc-9b6f-4c91121fdc22/tracking/optouts")
.get()
.addHeader("Content-Type", "application/json")
.addHeader("Accept", "*/*")
.addHeader("Authorization", "Bearer {access token}")
.addHeader("User-Agent", "PostmanRuntime/7.15.2")
.addHeader("Cache-Control", "no-cache")
.addHeader("Postman-Token", "352198d0-1015-4c9f-8b37-51ec2485bffe,a2f233a6-b72e-48a7-a7ba-28874f9cc635")
.addHeader("Host", "your_host.com")
.addHeader("Accept-Encoding", "gzip, deflate")
.addHeader("Connection", "keep-alive")
.addHeader("cache-control", "no-cache")
.build();
Response response = client.newCall(request).execute();
curl -X GET \
https://api.cc.email/v3/reports/email_reports/c8cdf384-15ca-4dcc-9b6f-4c91121fdc22/tracking/optouts \
-H 'Accept: */*' \
-H 'Accept-Encoding: gzip, deflate' \
-H 'Authorization: Bearer {access token}' \
-H 'Cache-Control: no-cache' \
-H 'Connection: keep-alive' \
-H 'Content-Type: application/json' \
-H 'Host: your_host.com' \
-H 'Postman-Token: 352198d0-1015-4c9f-8b37-51ec2485bffe,aafecbd4-040e-44ea-a701-18e809222ea1' \
-H 'User-Agent: PostmanRuntime/7.15.2' \
-H 'cache-control: no-cache'
Response
{
"tracking_activities": [
{
"contact_id": "4399f5a0-5b89-11e7-ba80-00163e498a37",
"campaign_activity_id": "c8cdf384-15ca-4dcc-9b6f-4c91121fdc22",
"tracking_activity_type": "em_optouts",
"email_address": "jake_dodge@jakedodgepancakes.com",
"created_time": "2019-05-16T21:14:00.000Z"
}
]
}