Help CenterHelp

Connecting ActiveCampaign

ActiveCampaign is an email-automation platform with a CRM attached. Connecting it takes two credentials — an account-specific API URL and an API Key — and one decision about what should happen to a Contact once it lands.

6 min read Updated June 2026

Most integrations ask for a single token. ActiveCampaign asks for two things, because every account lives on its own subdomain: an API URL like https://acmecorp.api-us1.com and an API Key. Both sit on one screen — Settings → Developer. The second half of this page covers the part that actually catches people out: what ActiveCampaign does, and doesn't do, with a Contact once it exists.

Why ActiveCampaign needs two values

ActiveCampaign doesn't put every customer behind one shared API hostname. Your account sits on a numbered data-centre subdomain — api-us1, api-us2, and so on — so the key on its own doesn't say where the data should go. The URL identifies your account; the key authenticates it.

Before you start

  • Any ActiveCampaign plan works — the API is available on all of them, including the entry-level marketing plan.
  • Know whether your account has Deals. Deals belong to ActiveCampaign's sales side and aren't included on the cheapest plans. If yours doesn't have them, everything on this page still applies — Contacts, Lists and Tags exist on every plan.
  • Remember what ActiveCampaign is for. It sends commercial email. Someone tapping your card is not the same event as someone asking for your newsletter, so decide up front whether new Contacts should enter a mailing automation at all.

Step 1 — Copy the API URL and Key from Settings → Developer

1

Log in to ActiveCampaign and click Settings — the gear icon at the bottom of the left sidebar.

2

Open Developer. There is nothing to create, generate or name here — ActiveCampaign simply shows you the values your account already has.

3

Two fields matter on this page:

  • URL — something like https://acmecorp.api-us1.com. The number after api-us is your data centre, and it is not the same for every account.
  • Key — a long alphanumeric string. Reveal it and copy it whole; the end of it is easy to clip when you select it by dragging.

Use the copy buttons rather than typing either value by hand.

Not the address in your browser bar. Your login URL looks like acmecorp.activehosted.com — that's the app, not the API. The API URL always ends in .api-us1.com (or whatever number your account uses).

Step 2 — Paste both into Anexus

1

In Anexus, go to Settings → CRM Integrations → ActiveCampaign → Connect.

2

Paste:

  • API URL — the whole thing, including https://. Paste exactly what the Developer page shows.
  • API Key — from the same page.

Click Save & connect. The card turns green with your account name on it.

3

Then capture one real contact through your own exchange form. A single genuine Contact sitting in ActiveCampaign tells you more than any test — and you'll need it for the automation section below.

What a captured contact becomes in ActiveCampaign

Anexus writes each captured contact through ActiveCampaign's sync endpoint, which matches on email address: an address ActiveCampaign hasn't seen creates a new Contact, an address it already holds updates the existing one instead of duplicating it.

From AnexusIn ActiveCampaignWhat to know
EmailContact → EmailThe match key. A contact with no valid email is never sent — ActiveCampaign identifies Contacts by email and will not hold one without it.
First nameContact → First NameStandard field, present on every plan.
Last nameContact → Last NameStandard field. ActiveCampaign stores one name pair per Contact.
Phone (if provided)Contact → PhoneThe standard Contact has a single Phone field — there is no separate mobile, work or home number.

ActiveCampaign's core Contact fields are few: Email, First Name, Last Name, Phone. Anexus also sends the other details your exchange form collected — company, job title, message — along with a note marking how the contact was captured. Open the real Contact you captured in Step 2 to see exactly what landed in your account before you build anything on top of it.

And three things people expect to find on the Contact are separate objects in ActiveCampaign:

  • Lists — a Contact isn't on a List until it is subscribed to one, and List membership carries its own subscription status.
  • Tags — free-form labels, and the way most ActiveCampaign users actually segment. They sit on the Contact but are their own records.
  • Deals and Accounts — the sales side. A Deal is a separate record linked to a Contact, and an Account is ActiveCampaign's company object. Neither is part of the Contact record above.

Automations don't fire the way people assume

Worth reading twice, because automation is usually the reason people connect ActiveCampaign in the first place.

  • There is no generic “a contact was created” trigger. ActiveCampaign automations start from events like Subscribes to a list, Tag is added, Submits a form or Custom field changes. So open the real Contact you captured in Step 2 and look at what it actually has — which Lists, which Tags. That is what tells you which trigger can fire for contacts arriving from Anexus.
  • Automations are not retroactive. A Contact that already existed when you switched an automation on does not enter it. Build the automation first, then start capturing.
  • Check the trigger's Runs setting. Set to run once, a returning person whose Contact is merely updated will not re-enter the automation. Set to run multiple times, they can — which is fine for a follow-up sequence and awful for a welcome email.
  • Because the sync endpoint updates rather than duplicates, a repeat visitor who gives the same address twice is one Contact, updated. That is usually what you want — but it also means the second tap is not a fresh subscribe event.

Subscription status and consent

ActiveCampaign tracks status per List, not per Contact: Active, Unconfirmed, Unsubscribed, Bounced. Existing in your account and being mailable are two different states.

  • Unsubscribed stays unsubscribed. If someone opted out of your list in the past, syncing them again does not put them back on it — and it shouldn’t. Only the contact can resubscribe themselves.
  • Double opt-in leaves people at Unconfirmed. If a List is set to confirmed opt-in, a Contact sits there until they click the confirmation email. They exist, they just aren’t mailable yet — which looks identical to a broken sync if you don’t know to check.
  • If you sell in Canada, treat capture and subscription as two separate events. A tapped card is a conversation; an email subscription is a permission. Keep your own record of how and when consent was given.

Backfilling contacts captured earlier

Sync past contacts on the ActiveCampaign card pushes everything captured before you connected. Two ActiveCampaign-specific things to expect:

  • ActiveCampaign rate-limits its API — five requests per second per account is the documented ceiling — so a large backfill arrives steadily in batches rather than all at once. Leave it to run.
  • If you already have an automation live on a trigger these contacts will match, a backfill can drop hundreds of people into it in one go — and every one of them gets whatever email sits at the top. Pause the automation, run the backfill, look at the result, then switch it back on.

When something goes wrong

"ActiveCampaign rejected the API key"

Check the URL before anything else: it starts with https://; it ends in .api-us<number>.com and not .activehosted.com; the data-centre number matches the one on your Developer page. If all three are right, re-copy the key — one selected by dragging often loses a character at the end.

It worked for months, then stopped

Two ActiveCampaign causes. Either somebody regenerated the API key on the Developer page — the old key dies the instant the new one appears — or the ActiveCampaign user whose key you used was deactivated or removed from the account. Reconnect with a current key belonging to an active user. The Test button on the card tells you which side the problem is on before you start guessing.

The Contact is there, but no email went out

Open the Contact record and work down: is it on a List at all; is that List status Active rather than Unconfirmed, Unsubscribed or Bounced; and did the automation you expected have a trigger this Contact genuinely matched? An automation switched on after the Contact was created will not reach back for it.

Two Contacts for the same person

ActiveCampaign matches on email and nothing else. The same human giving a personal address at one event and a work address at the next is genuinely two Contacts as far as ActiveCampaign is concerned, and it will not merge them on its own. Merge them inside ActiveCampaign if it matters; there is nothing to change on the Anexus side.

A contact never arrived at all

If the exchange form was submitted without a valid email address there is nothing to send: ActiveCampaign identifies Contacts by email and won’t accept one without it. Check the contact inside your Anexus Mini CRM first — if the email is missing or malformed there, that is your answer.

Disconnecting — and why the key is the awkward part

Click Disconnect in Anexus and we stop sending immediately. Contacts already in ActiveCampaign stay exactly where they are.

The ActiveCampaign-specific wrinkle: the API key isn't scoped per integration, so there is no single switch that revokes just this one connection. If you need the credential itself dead rather than merely unused, regenerating it on Settings → Developer kills it instantly — along with every other tool, automation platform or script pointing at the same account. Line those up before you click.

What's next