Supported Providers
The Email Marketing plugin supports 10 popular email marketing providers.
Provider List
| Provider | Auth Method | Required Config |
|---|---|---|
| Mailchimp | API Key | API Key, List ID |
| SendGrid | API Key | API Key, List ID |
| Brevo (Sendinblue) | API Key | API Key, List ID |
| ConvertKit | API Key | API Key, Form ID |
| MailerLite | API Key | API Key, Group ID |
| Constant Contact | API Key + Access Token | API Key, Access Token, List ID |
| GetResponse | API Key | API Key, List ID |
| ActiveCampaign | API URL + Key | API URL, API Key, List ID |
| AWeber | Access Token | Access Token, Account ID, List ID |
| Klaviyo | Private Key | Private Key, List ID |
Provider Details
Mailchimp
- Uses double opt-in (subscribers must confirm via email)
- Extracts server prefix from API key automatically
- API endpoint:
https://{dc}.api.mailchimp.com/3.0/lists/{listId}/members/{md5(email)}
SendGrid
- Uses PUT with
list_idsarray (upsert behavior) - API endpoint:
https://api.sendgrid.com/v3/marketing/contacts
Brevo (Sendinblue)
- Uses
updateEnabled: truefor upsert behavior - API endpoint:
https://api.brevo.com/v3/contacts
ConvertKit (Kit)
- Posts to form's subscriber endpoint
- API endpoint:
https://api.convertkit.com/v4/forms/{formId}/subscribers
MailerLite
- Uses v2 API
- Concatenates first and last name into
namefield - API endpoint:
https://api.mailerlite.com/api/v2/groups/{groupId}/subscribers
Constant Contact
- Requires both API key AND access token
- Uses
list_membershipsarray - API endpoint:
https://api.cc.email/v3/contacts
GetResponse
- Campaign-based (list ID = campaign ID)
- API endpoint:
https://api.getresponse.com/v3/contacts
ActiveCampaign
- Two-step process: creates contact, then subscribes to list
- Requires API URL in addition to API key
- Most complex provider integration
AWeber
- Uses account+list path structure
- API endpoint:
https://api.aweber.com/1.0/accounts/{accountId}/lists/{listId}/subscribers
Klaviyo
- Two-step process: creates/updates profile, then adds to list
- Uses JSON:API payload structure
- Requires API revision header (
2024-02-15)
Adding a New Provider
To add support for a new provider:
- Create a new class in
plugins/email-marketing/src/Providers/ - Implement
ProviderInterfacewith three methods:name(): stringsubscribe(array $data): arrayisConfigured(): bool
- Register the provider in
EmailMarketingPlugin.php
Last updated: September 2026
Still stuck?
Our support team is ready to help you get set up.

