Skip to main content

Campaign Monitor

Campaign Monitor is an email marketing platform that enables businesses and agencies to create, send, and automate email campaigns, manage subscriber lists, and analyze campaign performance. Founded in 2004, Campaign Monitor provides a drag-and-drop email builder, advanced segmentation tools, automated customer journey workflows, and detailed analytics — making it a trusted solution for marketers who want to deliver highly personalized email experiences at scale.

Campaign Monitor icon

Power end-to-end data operations for your Campaign Monitor API with Nexla. Our bi-directional Campaign Monitor connector is purpose-built for Campaign Monitor, making it simple to ingest data, sync it across systems, and deliver it anywhere — all with no coding required. Nexla turns API-sourced data into ready-to-use, reusable data products and makes it easy to send data to Campaign Monitor or any other destination. With comprehensive monitoring, lineage tracking, and access controls, Nexla keeps your Campaign Monitor workflows fast, secure, and fully governed.

Features

Type: API

SourceDestination

  • Seamless API Integration: Connect to any endpoint as source or destination without coding, with automatic data product creation
  • Visual Composition & Chaining: Build complex integrations using visual templates, chain API calls, and compose workflows with data validation and filtering
  • API Proxy: Expose curated slices of your data securely with a secure and customizable API proxy that validates and transforms data on the fly
  • Request optimization with intelligent batching, retry, and caching to minimize API calls and costs

Prerequisites

The Campaign Monitor API supports two authentication methods: API Key (Basic Authentication) and OAuth 2.0. Before creating a credential in Nexla, you will need either an API key or OAuth application credentials from your Campaign Monitor account.

Obtain a Campaign Monitor API Key

An API key is the quickest way to authenticate with the Campaign Monitor API. Each Campaign Monitor account has a unique API key that grants access to the resources in that account.

  1. Log in to your Campaign Monitor account.

  2. Click your profile image or initials in the upper-right corner of the dashboard, then select Account settings from the dropdown menu.

  3. In the Account Settings page, scroll down to the API keys section.

  4. Click Show API key to reveal your existing API key. If no API key has been generated yet, click Generate API key to create one.

  5. Copy the API key and store it securely. This key will be used as your credential in Nexla.

Campaign Monitor API keys grant full access to your account's data. Treat your API key like a password — do not share it publicly or commit it to source control. For additional information, see the Campaign Monitor API Keys documentation.

Register an OAuth Application (OAuth 2.0 Only)

OAuth 2.0 is the preferred authentication method for integrations that will be used by multiple users or third-party applications, as it does not require sharing your account password. To use OAuth 2.0, you must first register an OAuth application in Campaign Monitor.

  1. Log in to your Campaign Monitor account and select a client if prompted.

  2. Click Integrations in the top navigation bar.

  3. In the right sidebar, click OAuth Registration.

  4. Fill in the details for your new OAuth application:

    • Application Name: Enter a descriptive name for your application (e.g., "Nexla Integration").

    • Redirect URI: Enter the redirect URI that Campaign Monitor will use after a user authorizes your application. This URI must match exactly what you configure in Nexla.

    • Permissions / Scopes: Select the permission scopes your integration requires. Scopes are comma-separated and define what your application can do. Common scopes include ImportSubscribers, ViewReports, ManageLists, SendCampaigns, and ManageSubscribers. Grant only the scopes that are needed for your use case.

  5. After submitting, Campaign Monitor will assign your application a Client ID and Client Secret. Copy both values and store them securely — the Client Secret will not be shown again.

For complete information about available OAuth scopes and the authorization flow, see the Campaign Monitor API Getting Started guide.

Authenticate

Create a credential in Nexla

  1. After selecting the data source/destination type, click the Add Credential tile to open the Add New Credential overlay.

  2. Enter a name for the credential in the Credential Name field and a short, meaningful description in the Credential Description field.

  3. Campaign Monitor credentials can be configured using either an API key or OAuth 2.0. Select the method that matches how you plan to authenticate:

Campaign Monitor Authentication Methods

Authenticate using your Campaign Monitor account API key. This method uses HTTP Basic Authentication, where your API key serves as the username. It is the simplest method to set up and is suitable for server-side integrations where you control the credentials.

  1. Enter your Campaign Monitor API key in the **API Key** field. This is the key you retrieved or generated in your Campaign Monitor Account Settings under the API Keys section. The API key authenticates Nexla with Campaign Monitor on your behalf.
  1. Click the Save button at the bottom of the overlay to save the configured credential. The newly added credential will now appear in a tile on the Authenticate screen during data source/destination creation and can be selected for use with a new data source or destination.

Use as a data source

To create a new data flow, navigate to the Integrate section, and click the New Data Flow button. Select the Campaign Monitor connector tile, then select the credential that will be used to connect to the Campaign Monitor account, and click Next; or, create a new Campaign Monitor credential for use in this flow.

Endpoint templates

Nexla provides pre-built templates that can be used to rapidly configure data sources to ingest data from common Campaign Monitor endpoints. Select the endpoint from which this source will fetch data from the Endpoint pulldown menu. Available endpoint templates are listed in the expandable boxes below. Click on an endpoint to see more information about it and how to configure your data source for this endpoint.

List Clients

Returns a list of all clients associated with the authenticated account. Use this endpoint to retrieve the top-level client records in your Campaign Monitor agency account.

Client IDs returned by this endpoint are required for most other endpoints that scope data to a specific client (e.g., subscriber lists, campaigns, and segments).

List Admins

Returns a list of all administrators for the authenticated account. Use this endpoint to audit admin users and their access levels within your Campaign Monitor account.

Admin records include name, email address, and account access details.

Get Client Details

Retrieves detailed information about a specific client. Use this endpoint to fetch comprehensive configuration and billing details for a Campaign Monitor client account.

Your Client ID is available in your Campaign Monitor account under Account Settings, or can be retrieved using the List Clients endpoint.

List Client Segments

Returns a list of all segments for a specific client. Use this endpoint to retrieve audience segments defined within a Campaign Monitor client account.

Segment records include segment name, list ID, and the rules used to define segment membership.

List Client Templates

Returns a list of all templates for a specific client. Use this endpoint to retrieve email template records associated with a Campaign Monitor client.

Template records include name, preview URL, and creation date.

List Client People

Returns a list of all people (team members) associated with a specific client. Use this endpoint to retrieve the users who have access to a Campaign Monitor client account.

People records include name, email, and access level for each team member associated with the client.

List Client Tags

Returns a list of all tags configured for a specific client. Use this endpoint to retrieve the tag taxonomy used to organize campaigns within a Campaign Monitor client account.

Tags are used in Campaign Monitor to categorize and filter campaigns. Tag records include name and associated campaign counts.

List Subscriber Lists

Returns a list of all subscriber lists for a specific client. Use this endpoint to retrieve the mailing lists defined within a Campaign Monitor client account.

List records include name, list ID, and subscriber counts. List IDs returned here are required to query subscriber-level endpoints such as active subscribers.

List Suppression Lists

Returns a list of all suppression lists (unsubscribed and bounced subscribers) for a specific client. Use this endpoint to identify contacts who should not receive future campaigns.

Suppression list records include email address, suppression reason (unsubscribe, bounce, or spam complaint), and the date the address was suppressed.

List Sent Campaigns

Returns a list of all campaigns that have been sent for a specific client. Use this endpoint to retrieve historical sent campaign records for performance analysis and reporting.

Sent campaign records include campaign name, send date, subject line, and the lists to which the campaign was sent. Campaign IDs from this endpoint can be used to query detailed campaign statistics.

List Draft Campaigns

Returns a list of draft campaigns for the client. Use this endpoint to retrieve campaigns that have been created but not yet sent or scheduled.

Draft campaign records include campaign name, subject line, and creation date.

List Scheduled Campaigns

Returns a list of scheduled campaigns for the client. Use this endpoint to retrieve campaigns that have been configured to send at a future date and time.

Scheduled campaign records include campaign name, subject line, and the scheduled send date and time.

Once the selected endpoint template has been configured, click the Test button to the right of the endpoint selection menu to retrieve a sample of the data that will be fetched. Sample data will be displayed in the Endpoint Test Result panel on the right, allowing you to verify that the source is configured correctly before saving.

Manual configuration

Campaign Monitor sources can also be manually configured to ingest data from any valid Campaign Monitor API endpoint, including endpoints not covered by the pre-built templates, chained API calls, or requests that require custom authentication headers or parameters. Select the Advanced tab at the top of the configuration screen, and follow the instructions in Connect to Any API to configure the API method, endpoint URL, date/time and lookup macros, path to data, metadata, and request headers.

The Campaign Monitor REST API (v3.3) is available at https://api.createsend.com/api/v3.3 and supports both JSON and XML response formats. Common endpoint URL patterns include subscriber lists (https://api.createsend.com/api/v3.3/clients/{'{clientID}'}/lists.json), active subscribers in a list (https://api.createsend.com/api/v3.3/lists/{'{listID}'}/active.json), campaign recipients (https://api.createsend.com/api/v3.3/campaigns/{'{campaignID}'}/recipients.json), and campaign summaries (https://api.createsend.com/api/v3.3/campaigns/{'{campaignID}'}/summary.json). Campaign Monitor responses typically wrap records in a top-level object — for example, enter $.Results[*] in the Path to Data field to treat each active-subscriber record as a row. Your Client ID is available under Account Settings; your List ID and Campaign ID appear in the dashboard URL when viewing the corresponding resource. For a complete list of endpoints, see the Campaign Monitor API Reference.

Once all of the relevant settings have been configured, click the Create button in the upper right corner of the screen to save and create the new Campaign Monitor data source. Nexla will now begin ingesting data from the configured endpoint and will organize any data that it finds into one or more Nexsets.

Use as a destination

Click the + icon on the Nexset that will be sent to the Campaign Monitor destination, and select the Send to Destination option from the menu. Select the Campaign Monitor connector from the list of available destination connectors, then select the credential that will be used to connect to the Campaign Monitor account, and click Next; or, create a new Campaign Monitor credential for use in this flow.

Manual configuration

Campaign Monitor destinations are manually configured to send data to any valid Campaign Monitor API endpoint. Select the API method — POST to create records such as subscribers or campaigns, PUT to update existing records, or DELETE to remove them — and follow the instructions in Connect to Any API to configure the data format, endpoint URL, request headers, attribute exclusions, record batching, and response webhooks.

Campaign Monitor's REST API accepts JSON for most write operations. For update or upsert operations, include the ID of the object to be updated at the end of the URL. Common write endpoints include adding a subscriber to a list (https://api.createsend.com/api/v3.3/subscribers/{'{listID}'}.json, POST), bulk-importing subscribers (https://api.createsend.com/api/v3.3/subscribers/{'{listID}'}/import.json, POST), unsubscribing an address (https://api.createsend.com/api/v3.3/subscribers/{'{listID}'}/unsubscribe.json, POST), and updating subscriber details (https://api.createsend.com/api/v3.3/subscribers/{'{listID}'}.json?email={'{email}'}, PUT). The bulk import endpoint supports batching of up to 1,000 subscriber records per request (default batch size 100); enable Record Batching to use it. Your List ID can be found in the dashboard URL or via GET /clients/{'{clientID}'}/lists.json. For a complete list of write endpoints, see the Campaign Monitor API Reference.

Save & activate

Once all endpoint settings have been configured, click the Done button in the upper right corner of the screen to save and create the destination. To begin sending data to the configured Campaign Monitor endpoint, open the destination resource menu, and select Activate.

The Nexset data will not be sent to the Campaign Monitor API until the destination is activated. Destinations can be activated immediately or at a later time, providing full control over data movement.