ActiveCampaign

Marketing automation and CRM platform combining email marketing, automation workflows, sales pipelines, and customer messaging.

⚠️

This integration is currently in alpha. Configuration and behaviour may change.

Prerequisites

Complete these steps in ActiveCampaign before configuring Signal.

Access your ActiveCampaign account

Log in to ActiveCampaign at your account URL (e.g. https://your-account.activehosted.com).

Find your API URL

Navigate to Settings > Developer. Your API URL is shown at the top of the page and takes the form https://your-account.api-us1.com. Copy it.

Copy your API Key

On the same Settings > Developer page, copy the API Key. Treat this as a secret — it grants full API access to your account.

Find your Event Tracking Account ID and Key (optional)

If you plan to use Event Tracking rather than basic contact updates, scroll down to Event Tracking on the same page:

  1. Enable event tracking if not already enabled.
  2. Note the Event Tracking Account ID (numeric) and Event Key.

Event Tracking is required for sending custom events; contact-only sync works without it.

Configuration

FieldTypeRequiredDescription
api_urlstringYesYour ActiveCampaign API URL (e.g. https://your-account.api-us1.com).
api_keysecretYesYour ActiveCampaign API key. Found in Settings > Developer.
event_tracking_account_idstringNoNumeric account ID for Event Tracking. Required for custom events.
event_tracking_keysecretNoEvent Tracking key. Required for custom events.

Signal Setup

Quick Setup

  1. Navigate to Integrations in the sidebar.
  2. Open the Integration Library tab.
  3. Find ActiveCampaign under the Marketing Automation category.
  4. Click Install, and fill in the required fields with the credentials gathered above.
  5. Click Install Integration to create the integration with a ready-to-use default configuration.

API Setup

curl -X POST http://localhost:8084/v1/admin/integration-catalog/activecampaign/install \
  -H "Authorization: Bearer YOUR_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "ActiveCampaign",
    "variant": "default",
    "config": {
      "api_url": "https://your-account.api-us1.com",
      "api_key": "xxxxxxxxxxxxxxxxxxxx",
      "event_tracking_account_id": "12345",
      "event_tracking_key": "xxxxxxxxxxxxxxxxxxxx"
    },
    "delivery_mode": "server_side"
  }'

Event Mapping

The default ActiveCampaign blueprint maps:

Datafly EventActiveCampaign ConceptNotes
pagepage_view eventURL and page title sent via the Event Tracking API.
Product Viewedproduct_viewed eventProduct ID, name, and price.
Order Completedpurchase eventOrder ID, revenue, and currency.
identifyContact syncEmail and traits update the contact record via POST /api/3/contacts.
Custom eventsDropped by defaultEnable per-event in the blueprint editor.

Identity

ActiveCampaign identifies contacts by email. Signal forwards:

FieldSourceNotes
emailtraits.emailThe primary contact key. Required for all contact operations.
firstNametraits.first_nameMapped to the contact’s first name.
lastNametraits.last_nameMapped to the contact’s last name.
phonetraits.phoneMapped to the contact phone field.

Call datafly.identify() whenever a user logs in or submits a form:

datafly.identify("user-123", {
  email: "jane@example.com",
  first_name: "Jane",
  last_name: "Doe"
});

ActiveCampaign events should be sent under the marketing consent category. ActiveCampaign maintains list-level subscription opt-in records — Signal forwards the visitor’s CMP consent state on every event so automations can suppress non-consenting visitors.

Verify it’s working

  1. After installing the integration, trigger a test event from your website.
  2. In ActiveCampaign, navigate to Contacts and search for the test contact by email to verify the contact was created or updated.
  3. Click into the contact and check the Activity stream for the custom events Signal delivered.
  4. In Signal, check Live Events to confirm delivery with a 200 response status.

Troubleshooting

SymptomPossible CauseResolution
401 UnauthorizedInvalid API key or wrong API URLVerify both in ActiveCampaign Settings > Developer. The API URL is specific to your account region.
Custom events not appearingEvent Tracking disabled or missing credentialsEnable Event Tracking in Settings > Developer and configure event_tracking_account_id + event_tracking_key.
Duplicate contactsEmail casing/whitespace mismatchActiveCampaign matches contacts exactly; ensure email addresses are normalised (lowercase, trimmed) before identify.
429 Too Many RequestsRate limit hitActiveCampaign applies per-account rate limits. Signal retries automatically on 429.

Visit ActiveCampaign API documentation for full reference and event tracking details.

See also