# Campaign Monitor

### CampaignMonitor

| Features                        | Details                                                  |
| ------------------------------- | -------------------------------------------------------- |
| Release Status                  | Released                                                 |
| Source API Version              | 2.0                                                      |
| Table Selection                 | Yes                                                      |
| Column Selection                | Yes                                                      |
| Edit Integration                | Yes                                                      |
| Replication Type Selection      | No                                                       |
| Authentication Parameters       | <p>campaignmonitor email<br>campaignmonitor password</p> |
| Replication Type                | <p>Full Replication<br>Key based replication</p>         |
| Replication Key                 | DATE                                                     |
| Suggested Replication Frequency | 24 hrs                                                   |

| Tables/APIs Supported |               |
| --------------------- | ------------- |
| Account               | Countries     |
| Campaigns             | Bounce        |
| Clients               | TimeZone      |
| Journeys              | Reciepient    |
| Lists                 | Templates     |
| Segments              | Rules         |
| Subscribers           | Transactional |
| Webhooks              | Event         |

### Integrate CampaignMonitor with Daton

1. Signin to Daton
2. Select CampaignMonitor from Integrations page
3. Provide Integration Name Replication Frequency and History. Integration name would be used in creating tables for the integration and cannot be changed later
4. Provide your CampaignMonitor email and password to authorize Daton to periodically extract data CampaignMonitor.
5. Post successful authentication you will be prompted to choose from the list of available tables
6. Then select all required fields for each table
7. Submit the integration

### Workflow

1. Integrations would be in Pending state initially and will be moved to Active state as soon as the first job loads data successfully on to the configured warehouse
2. Users would be able to edit/pause/re-activate/delete integration anytime
3. Users can view job status and process logs from the integration details page by clicking on the integration name from the active list

### CampaignMonitor Data

**CampaignOpens**

Purpose: Retrieves a paged result representing all subscribers who opened a given campaign, including the date/time and IP address from which they opened the campaign. When possible, the latitude, longitude, city, region, country code, and country name as geocoded from the IP address, are also returned. You have complete control over how results should be returned including page size, sort order and sort direction.

Source API Documentation <https://www.campaignmonitor.com/api/campaigns/#campaign-opens>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name           | Target Datatype |
| -------------- | --------------- |
| email\_address | STRING          |
| list\_id       | STRING          |
| date           | TIMESTAMP       |
| ipaddress      | STRING          |
| latitude       | STRING          |
| longitude      | STRING          |
| city           | STRING          |
| region         | STRING          |
| country\_code  | STRING          |
| country\_name  | STRING          |

**ListDeletedSubscribers**

Purpose: Contains a paged result representing all the deleted subscribers for a given list. This includes their email address, name, date deleted (in the client’s timezone) and any custom field data. You have complete control over how results should be returned including page sizes, sort order and sort direction.

Source API Documentation <https://www.campaignmonitor.com/api/lists/#deleted-subscribers>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name               | Target Datatype |
| ------------------ | --------------- |
| email\_address     | STRING          |
| name               | STRING          |
| date               | TIMESTAMP       |
| state              | STRING          |
| custom\_fields     | RECORD          |
| reads\_email\_with | STRING          |
| consent\_to\_track | STRING          |

**ListActiveSubscribers**

Purpose: Contains a paged result representing all the active subscribers for a given list. This includes their email address, name, date subscribed (in the client’s timezone), and any custom field data. You have complete control over how results should be returned including page sizes, sort order and sort direction.

Source API Documentation <https://www.campaignmonitor.com/api/lists/#active-subscribers>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name               | Target Datatype |
| ------------------ | --------------- |
| email\_address     | STRING          |
| name               | STRING          |
| date               | TIMESTAMP       |
| state              | STRING          |
| custom\_fields     | RECORD          |
| reads\_email\_with | STRING          |
| consent\_to\_track | STRING          |

**ListBouncedSubscribers**

Purpose: Contains a paged result representing all the bounced subscribers for a given list. This includes their email address, name, date bounced (in the client’s timezone), and any custom field data. You have complete control over how results should be returned including page sizes, sort order and sort direction.

Source API Documentation <https://www.campaignmonitor.com/api/lists/#bounced-subscribers>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name               | Target Datatype |
| ------------------ | --------------- |
| email\_address     | STRING          |
| name               | STRING          |
| date               | TIMESTAMP       |
| state              | STRING          |
| custom\_fields     | RECORD          |
| reads\_email\_with | STRING          |
| consent\_to\_track | STRING          |

**ListUnconfirmedSubscribers**

Purpose: Contains a paged result representing all the unconfirmed subscribers (those who have subscribed to a confirmed-opt-in list, but have not confirmed their subscription) for a given list. This includes their email address, name, date subscribed (in the client’s timezone), and any custom field data. You have complete control over how results should be returned including page sizes, sort order and sort direction.

Source API Documentation <https://www.campaignmonitor.com/api/lists/#unconfirmed-subscribers>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name               | Target Datatype |
| ------------------ | --------------- |
| email\_address     | STRING          |
| name               | STRING          |
| date               | TIMESTAMP       |
| state              | STRING          |
| custom\_fields     | RECORD          |
| reads\_email\_with | STRING          |
| consent\_to\_track | STRING          |

**ListUnsubscribedSubscribers**

Purpose: Contains a paged result representing all the unsubscribed subscribers for a given list. This includes their email address, name, date unsubscribed (in the client’s timezone), and any custom field data. You have complete control over how results should be returned including page sizes, sort order and sort direction.

Source API Documentation <https://www.campaignmonitor.com/api/lists/#unsubscribed-subscribers>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name               | Target Datatype |
| ------------------ | --------------- |
| email\_address     | STRING          |
| name               | STRING          |
| date               | TIMESTAMP       |
| state              | STRING          |
| custom\_fields     | RECORD          |
| reads\_email\_with | STRING          |
| consent\_to\_track | STRING          |

**GettingSubscriberLists**

Purpose: Returns all the subscriber lists that belong to that client, including the list name and ID.

Source API Documentation <https://www.campaignmonitor.com/api/clients/#getting-subscriber-lists>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name     | Target Datatype |
| -------- | --------------- |
| list\_id | STRING          |
| name     | STRING          |

**GettingYourClients**

Purpose: Gives you access to core account information such as the clients available in your account and helper procedures when creating a client including available countries, time zones and the current date and time in your account.

Source API Documentation <https://www.campaignmonitor.com/api/account/>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name     | Target Datatype |
| -------- | --------------- |
| list\_id | STRING          |
| name     | STRING          |

**GettingJourneys**

Purpose: Contains a list of all journeys belonging to a particular client. The results include journey ID, status, name, and the ID of the list the journey is attached to.

Source API Documentation <https://www.campaignmonitor.com/api/journeys/>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name        | Target Datatype |
| ----------- | --------------- |
| list\_id    | STRING          |
| journey\_id | STRING          |
| name        | STRING          |
| status      | STRING          |

**ClientDetails**

Purpose: Get the complete details for a client including their API key, access level, contact details and billing settings.

Source API Documentation <https://www.campaignmonitor.com/api/clients/#getting-clients-details>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name             | Target Datatype |
| ---------------- | --------------- |
| api\_key         | STRING          |
| basic\_details   | RECORD          |
| billing\_details | RECORD          |

**CampaignSummaries**

Purpose: Provides a basic summary of the results for any sent campaign such as the number of recipients, opens, clicks, unsubscribes, etc to date. Also includes the web version URL, and the public Worldview URL for the campaign.

Source API Documentation <https://www.campaignmonitor.com/api/campaigns/#campaign-summary>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                    | Target Datatype |
| ----------------------- | --------------- |
| recipients              | NUMERIC         |
| total\_opened           | NUMERIC         |
| clicks                  | NUMERIC         |
| unsubscribed            | NUMERIC         |
| bounced                 | NUMERIC         |
| unique\_opened          | NUMERIC         |
| spam\_complaints        | NUMERIC         |
| web\_version\_url       | STRING          |
| web\_version\_text\_url | STRING          |
| world\_view\_url        | STRING          |
| forwards                | NUMERIC         |
| likes                   | NUMERIC         |
| mentions                | NUMERIC         |

**CampaignClicks**

Purpose: Retrieves a paged result representing all subscribers who clicked a link in a given campaign, including the date/time and IP address from which they clicked the link.

Source API Documentation <https://www.campaignmonitor.com/api/campaigns/#campaign-clicks>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name           | Target Datatype |
| -------------- | --------------- |
| email\_address | STRING          |
| url            | STRING          |
| list\_id       | STRING          |
| date           | TIMESTAMP       |
| ip\_address    | STRING          |
| latitude       | STRING          |
| longitude      | STRING          |
| city           | STRING          |
| region         | STRING          |
| country\_code  | STRING          |
| country\_name  | STRING          |

**CampaignBounces**

Purpose: Retrieves a paged result representing all the subscribers who bounced for a given campaign, and the type of bounce (Hard = Hard Bounce, Soft = Soft Bounce).

Source API Documentation <https://www.campaignmonitor.com/api/campaigns/#campaign-bounces>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name           | Target Datatype |
| -------------- | --------------- |
| email\_address | STRING          |
| list\_id       | STRING          |
| bounce\_type   | STRING          |
| date           | TIMESTAMP       |
| reason         | STRING          |

**CampaignRecipients**

Purpose: Retrieves a paged result representing all the subscribers that a given campaign was sent to. This includes their email address and the ID of the list they are a member of.

Source API Documentation <https://www.campaignmonitor.com/api/campaigns/#campaign-recipients>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name           | Target Datatype |
| -------------- | --------------- |
| email\_address | STRING          |
| list\_id       | STRING          |

**JourneySummary**

Purpose: Get a full summary of a journey, including the journey’s ID, name, trigger type and status as well as individual email statistics.

Source API Documentation <https://www.campaignmonitor.com/api/journeys/#getting-journey-summary>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name          | Target Datatype |
| ------------- | --------------- |
| journey\_id   | STRING          |
| name          | STRING          |
| trigger\_type | STRING          |
| status        | STRING          |
| emails        | RECORD          |

**ListDetails**

Purpose: A basic summary for each list in your account including the name, ID, type of list (single or confirmed opt-in), any custom unsubscribe and confirmation URLs you’ve specified, as well as the list’s unsubscribe setting.

Source API Documentation <https://www.campaignmonitor.com/api/lists/#list-details>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                        | Target Datatype |
| --------------------------- | --------------- |
| confirmed\_optin            | BOOLEAN         |
| title                       | STRING          |
| unsubscribe\_page           | STRING          |
| unsubscribe\_setting        | STRING          |
| list\_id                    | STRING          |
| confirmation\_success\_page | STRING          |

**SegmentDetails**

Purpose: Returns the name, list ID, segment ID and number of active subscribers within an existing segment as well as the current rules for that segment.

Source API Documentation <https://www.campaignmonitor.com/api/segments/#getting-segments-details>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name                | Target Datatype |
| ------------------- | --------------- |
| active\_subscribers | NUMERIC         |
| rule\_groups        | RECORD          |
| list\_id            | STRING          |
| segment\_id         | STRING          |
| title               | STRING          |

**GettingSegments**

Purpose: Returns the name, list ID, segment ID and number of active subscribers within an existing segment as well as the current rules for that segment.

Source API Documentation <https://www.campaignmonitor.com/api/segments/#getting-segments-details>

Replication: Key-Based Replication

Replication Key: lastRunDate

**Fields**

| Name        | Target Datatype |
| ----------- | --------------- |
| list\_id    | STRING          |
| segment\_id | STRING          |
| title       | STRING          |
