Requires: Fundations Pro 1.1.0+
Syncs donors and fundraisers to ActiveCampaign as contacts, applies tags, and optionally creates deals in a pipeline. Supports both donor and fundraiser sync paths, each controlled by a separate toggle.

Why use it
ActiveCampaign is a full marketing automation platform. Connecting it to Fundations means donors and fundraisers are automatically entered into your contact database with relevant tags and optional deals, ready for follow-up sequences and segmentation you configure in ActiveCampaign.
What it does
When a trigger fires, the connector creates or updates a contact in ActiveCampaign, adds them to the configured list, and applies the configured tags. If deal creation is enabled and a pipeline is selected, a deal is created for that contact with the donation amount as the deal value.
For failed donations, the connector adds a failed-donation tag to the contact if they already exist. It does not create a new contact on failure.
The sync_donors setting gates whether donation_received syncs. The sync_fundraisers setting gates user_registered, action_created, action_completed, and campaign_joined. If a setting is off, those triggers are silently skipped.
Supported triggers
| Trigger | Syncs when | Gated by |
|---|---|---|
donation_received | A donation is confirmed (requires marketing consent) | sync_donors |
donation_failed | A payment fails (tags existing contact only) | Always active |
user_registered | New user registers via the wizard | sync_fundraisers |
action_created | A new fundation is created | sync_fundraisers |
action_completed | A fundation reaches its goal | sync_fundraisers |
campaign_joined | A user joins a campaign | sync_fundraisers |
How to set it up
- In ActiveCampaign, go to Settings → Developer and copy your API URL and API Key.
- Navigate to Fundations Pro → Integrations → ActiveCampaign.
- Enter the API URL as the full URL, for example
https://yourname.api-us1.com. Thehttps://prefix is required. - Enter the API Key.
- Click Save to validate and load your lists and pipelines.
- Select a Contact List from the dropdown.
- Toggle Sync Donors on if you want donations to create/update contacts.
- Toggle Sync Fundraisers on if you want wizard registrations and fundation events to sync.
- Set Donor Tags and Fundraiser Tags (comma-separated). Defaults are
donorandfundraiser. - Set a Goal Reached Tag if you want contacts tagged when a fundation hits its goal.
- To create deals: check Create Deal, then select a Pipeline.
- Click Test to verify the connection.
- Enable the integration.

Settings and options
| Setting | Type | Description |
|---|---|---|
| API URL | URL | Full URL to your ActiveCampaign account, e.g. https://yourname.api-us1.com |
| API Key | Password | Your ActiveCampaign API key (Settings → Developer) |
| Contact List | Select | The list new contacts are added to |
| Sync Donors | Checkbox | Enables syncing on donation_received |
| Sync Fundraisers | Checkbox | Enables syncing on user_registered, action_created, action_completed, campaign_joined |
| Donor Tags | Text | Comma-separated tags applied to donor contacts. Default: donor |
| Fundraiser Tags | Text | Comma-separated tags applied to fundraiser contacts. Default: fundraiser |
| Goal Reached Tag | Text | Tag applied when a fundation reaches its goal. Default: goal-reached |
| Create Deal | Checkbox | Creates a deal in the configured pipeline on donation |
| Deal Pipeline | Select | The ActiveCampaign pipeline for new deals |
Authentication uses the Api-Token header. There is no OAuth.
What you can and cannot do
You can create or update contacts for donors and fundraisers, apply tags to segment contacts by role or goal status, create deals per donation linked to the donor contact, and independently enable or disable donor and fundraiser syncing.
You cannot sync a donor who did not give marketing consent. You cannot enroll contacts directly into ActiveCampaign automations from Fundations — set up automations in ActiveCampaign to trigger on the tags or list membership that Fundations sets. Lifecycle stage updates and contact score increases are not implemented. On donation_failed, no new contact is created; the failed-donation tag is applied to existing contacts only.
Examples
Donor tagging: enable sync_donors, set Donor Tags to donor, one-time-donor. Every consenting donor is created in your list with those tags.
Fundraiser onboarding: enable sync_fundraisers, set Fundraiser Tags to fundraiser. When someone creates a fundation, they are added to your list and tagged.
Deal tracking: enable Create Deal and pick your donations pipeline. Each donation creates a deal valued at the donation amount, associated with the donor contact.
Goal celebration: set a Goal Reached Tag, e.g. goal-achieved. In ActiveCampaign, create an automation that fires when this tag is applied and sends a congratulations email.
Troubleshooting
| Problem | Likely cause | Fix |
|---|---|---|
| No contacts appearing after donation | sync_donors is off, or marketing consent not given | Enable sync_donors and confirm donors see and check the consent checkbox |
| Failed syncs on fundraiser events | sync_fundraisers is off | Enable the setting |
| “Unauthorized” or connection error | Wrong API URL format | Enter the full URL with https://, e.g. https://yourname.api-us1.com |
| Deals not created | Pipeline not selected | Select a pipeline in settings |
| Contact created but not in list | List not selected in settings | Pick a list from the dropdown after saving credentials |
Developer reference
The ActiveCampaign connector uses the Api-Token header for all requests. The base URL is constructed as trailingslashit( $api_url ) . 'api/3/'.
Use the shared integration filters to modify data before it is sent:
add_filter( 'get_fund_integration_trigger_data', function( $data, $trigger, $object_id ) {
// Add a custom tag value to donor data
if ( $trigger === 'donation_received' ) {
$data['ac_custom_field'] = 'value';
}
return $data;
}, 10, 3 );
See Integration index developer reference for the full filter signatures.