Get a list of contacts that forwarded 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/forwards endpoint to get a report listing each time a contact forwarded the specified email campaign activity from the forwarding link in the email footer. This report includes contact information, such as the contact’s email address and unique ID, and the date and time that the email campaign activity was forwarded. Forwards report data is sorted with the most recent activity listed first.

The following example shows the type of forwards reporting data that is returned:

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

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 forwards report. Optionally, you can choose to limit the number of forwards 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 forwards report created_time timestamp.

Example Get Email Forwards Report Call

This example GET call returns an email forwards 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_forwards",
           "email_address": "",
           "created_time": "2019-05-16T21:14:00.000Z"

Try it!