Skip to content

Sync leads to ActiveCampaign

Integrations3 min read

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

  1. Open Integrations in the sidebar.
  2. Click ActiveCampaign.
  3. On Credentials, enter:
    • API Key
    • Base URL (must be https://…)
  4. 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:
      • firstNamefirst_name
      • lastNamelast_name
      • emailemail
      • phonephone
    • Custom Field Values — ActiveCampaign field ID → lead field (for example field 1zip_code). You can also map helpers such as dh_lead_id, dh_campaign_id, or dh_click_id when 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
  5. Save.

Expected result: ActiveCampaign is configured and ready to enable on campaigns.

Enable on a campaign

  1. Open the campaign → Integrations tab.
  2. Find ActiveCampaign and toggle it ON.
  3. Optional: Override Settings for this campaign’s trigger, field maps, or list defaults.
  4. 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

  1. A non-test lead hits your Trigger Event.
  2. Datahubb creates a contact in ActiveCampaign (201) or detects an existing one (422 duplicate).
  3. If a list id is resolved, the contact is assigned to that list.
  4. IntegrationsActiveCampaignUsage Log shows the API call.

Response fields you can evaluate in rules:

  • is_duplicate
  • contact_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

No. Sync is first-touch. A duplicate response (HTTP 422) means the contact already exists; Datahubb does not overwrite that contact or re-assign lists.

It runs on the Trigger Event you configure. The default is lead validated, so the contact can sync before or independently of a sale depending on your setting.

In ActiveCampaign open Settings, then Developer. Copy the API URL (https base for your account) and the API key.

Yes. Map a List ID Field from the lead payload for dynamic list choice, and set a Default List ID as the fallback.

Most test leads are skipped on purpose. Use a non-test lead, or confirm your test flag behavior, and check the ActiveCampaign Usage Log.
Back to Help Center

Comments

No comments yet — be the first to share your thoughts.

Leave a comment

Comments are reviewed before they’re published.