Sync leads to ActiveCampaign
This article shows how to connect ActiveCampaign, map contact fields, and sync Datahubb leads as ActiveCampaign contacts with optional list assignment.
Sync is first-touch: a new unique email creates a contact; if ActiveCampaign reports a duplicate, Datahubb treats that as an existing contact and does not update the contact or re-assign lists.
Prerequisites
- An ActiveCampaign account
- API key and API URL from ActiveCampaign Settings → Developer (URL looks like
https://youraccount.api-us1.com) - Optional: list IDs from ActiveCampaign Lists, and custom field IDs from Lists → Manage Fields
- The Integrations feature on your Datahubb plan
Configure ActiveCampaign globally
- Open Integrations in the sidebar.
- Click ActiveCampaign.
- On Credentials, enter:
- API Key
- Base URL (must be
https://…)
- On Settings, configure:
- Timeout (default is fine for most accounts)
- Trigger Event — when the sync should run (default is often lead validated)
- Contact Fields — map ActiveCampaign contact keys to lead fields. Defaults:
firstName←first_namelastName←last_nameemail←emailphone←phone
- Custom Field Values — ActiveCampaign field ID → lead field (for example field
1←zip_code). You can also map helpers such asdh_lead_id,dh_campaign_id, ordh_click_idwhen those fields exist on the lead. - List ID Field — optional lead field that carries a dynamic list id
- Default List ID — used when the dynamic field is empty
- Save.
Expected result: ActiveCampaign is configured and ready to enable on campaigns.
Enable on a campaign
- Open the campaign → Integrations tab.
- Find ActiveCampaign and toggle it ON.
- Optional: Override Settings for this campaign’s trigger, field maps, or list defaults.
- Save.
CRM sync usually needs no REJECT rules. Rules on is_duplicate, contact_id, or list_assigned are only for special gating.
What success looks like
- A non-test lead hits your Trigger Event.
- Datahubb creates a contact in ActiveCampaign (201) or detects an existing one (422 duplicate).
- If a list id is resolved, the contact is assigned to that list.
- Integrations → ActiveCampaign → Usage Log shows the API call.
Response fields you can evaluate in rules:
is_duplicatecontact_id(may be null on duplicate)list_assigned
Troubleshooting
- Invalid API key / URL — re-copy from ActiveCampaign Developer settings; Base URL must be HTTPS
- 422 duplicate in the log — expected for returning emails; not a hard failure
- Contact not on a list — set Default List ID or ensure the dynamic list field is present on the lead
- Custom fields empty — confirm you used ActiveCampaign field IDs, not labels
- Integration not running — campaign toggle off, wrong trigger event, or most test leads skipped by design
Frequently asked questions
Comments
No comments yet — be the first to share your thoughts.