How do I connect ActiveCampaign to sync members as contacts and deals?
Paste your ActiveCampaign API key and account URL, and every new blog member becomes a Contact — with an optional tag — while every order creates a Deal.
The ActiveCampaign connector keeps your CRM current without a manual export: every new blog member becomes a Contact, and every order becomes a Deal. It's a free alternative to paying for a dedicated CRM integration.
How to install the plugin and what to check when a connector seems silent is the same for every integration, so it lives in the shared integrations guide. This page covers the ActiveCampaign specifics.
Step 1 — Get your API key and account URL
In ActiveCampaign, go to Settings → Developer → API Access to find your API key and your API URL — it looks like https://youraccountname.api-us1.com/api/3/, using your own account subdomain instead of "youraccountname".
Step 2 — Fill in the ActiveCampaign panel
Open Admin → Plugins → ActiveCampaign, paste your API key and your account URL, and optionally set a Default Tag (for example "blog-subscriber") to apply to every synced contact. There is no Enable switch on this panel: once a valid key and URL are saved, syncing is live.
Your account URL must contain api-us1.com — the connector only makes network calls to your ActiveCampaign account subdomain, and rejects a URL that doesn't match.
What syncs, and when
- A new member signup is sent to ActiveCampaign as a Contact, with the member's email and name. The name is split at the first space: Ana Maria Lopez becomes first name Ana and last name Maria Lopez.
- If you set a default tag, VeloCMS looks it up by name, creates it in ActiveCampaign if it doesn't exist yet, and applies it to the Contact.
- A completed order creates a Deal titled VeloCMS Order followed by the order ID, for the order total, with the buyer's email as the contact.
- When a member deletes their account, or unsubscribes through the link in one of your newsletters, their Contact is set to Unsubscribed. It is not deleted, and a Contact that no longer exists is simply ignored.
Details worth knowing
The Deal is created with the status Open, and the currency is always sent as USD, so a store that charges in another currency will see the right number labelled in dollars. VeloCMS does not choose a pipeline or stage, so ActiveCampaign applies its own defaults. A tag that fails to apply is logged but does not mark the contact sync as failed; only a failed Contact request does. VeloCMS does not look for an existing Contact first, so what happens when the same email is already in ActiveCampaign is up to ActiveCampaign's own rules.
Sync is one-way: VeloCMS pushes to ActiveCampaign. If ActiveCampaign is briefly unreachable or your credentials are wrong, the attempt fails quietly in the background — it never blocks or delays the member's signup or the order itself. Each failure is listed under Admin → Integrations → Sync activity. ActiveCampaign does not get a Retry button there, so a missed Contact has to be added in ActiveCampaign by hand once the key works again.
Disconnecting
Clear the API key in the same panel to stop syncing. No further Contacts or Deals are created after that, and existing records in ActiveCampaign are left untouched.