Get a list of contacts that unsubscribed using the specified email campaign activity.

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": "",
            "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.


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.


Endpoint Requirements

User privileges: ui:campaign:metrics

Authorization scopes: campaign_data


$request = new HttpRequest();

  'cache-control' => 'no-cache',
  'Connection' => 'keep-alive',
  'Accept-Encoding' => 'gzip, deflate',
  'Host' => '',
  '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()
  .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", "")
  .addHeader("Accept-Encoding", "gzip, deflate")
  .addHeader("Connection", "keep-alive")
  .addHeader("cache-control", "no-cache")

Response response = client.newCall(request).execute();

curl -X GET \ \
  -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:' \
  -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'


   "tracking_activities": [
           "contact_id": "4399f5a0-5b89-11e7-ba80-00163e498a37",
           "campaign_activity_id": "c8cdf384-15ca-4dcc-9b6f-4c91121fdc22",
           "tracking_activity_type": "em_optouts",
           "email_address": "",
           "created_time": "2019-05-16T21:14:00.000Z"

Try it!