Integrations

Connect ActiveCampaign

Connect ActiveCampaign with your API URL and API key. LeadJourney registers the webhook and a hidden click ID field for you, so deals, tags, list subscriptions and contact updates become attributed conversions, and LeadJourney data can flow back as contacts, deals or tags.

Connecting ActiveCampaign turns deals, tags, list subscriptions and contact updates into LeadJourney conversions, automatically attributed to the campaign, ad set and ad that earned them. Because every ActiveCampaign automation can end in a tag, a Tag Added trigger turns any automation outcome into a conversion. Mapped events flow through the same postback pipeline as your offline conversions, so they automatically pick up every ad postback you've already configured. The same screen also lets you send LeadJourney clicks, leads and conversions back into ActiveCampaign.

Before you start

Have these ready so the connection works end to end:

  • An active LeadJourney workspace and access to Settings → Developer in ActiveCampaign.
  • Tracking is live, because clicks have to be recorded first so contacts can be matched back to a campaign. See Install the tracking script.
  • At least one conversion type to map onto (e.g. WonClient). Set these up first in the Events Manager.

Where to find it

Open Settings → Apps, or go to app.leadjourney.io/settings?slug=apps. Click the ActiveCampaign card to open the integration (or use ?slug=apps&app=activecampaign). While you're not connected you'll see a “Connect your ActiveCampaign account” form; once connected, the same screen shows your account, the click ID field, your triggers and the Send to ActiveCampaign panel.

Step by step

Paste your API URL and API key

ActiveCampaign has no OAuth for apps like LeadJourney, so you connect with two values from one page. In ActiveCampaign, open Settings → Developer and copy:

  • API URL: looks like https://your-account.api-us1.com. It contains your account name and your region, so it has to match the key.
  • API Key: on the same page, just below the API URL. Keys belong to a single ActiveCampaign user; if that user is removed, the key stops working.

Paste both into the form and click Connect. LeadJourney validates the pair against the ActiveCampaign API before saving and stores it encrypted. If something is wrong, the error appears right on the form. On success you'll see “ActiveCampaign connected”.

Syncing starts when you connect

LeadJourney tracks new ActiveCampaign events from the moment you connect. Records and changes from before the connection are not imported.

Let LeadJourney finish the setup

Everything else happens automatically once you connect (expand How do I set up ActiveCampaign for attribution? on the form for the short version):

  • LeadJourney registers one account-wide webhook, so deals, tags, list subscriptions and contact updates start flowing right away, with no per-list setup.
  • It adds a hidden LeadJourney Click ID contact field (see the callout below).

The header then shows a Live pill (or Needs reconnect), plus Re-sync and Disconnect. Below it you'll see Connection, your Account, the Click-id field status (Ready with its personalization tag, or Not created), Active triggers and Connected since.

Add a trigger

In the Triggers panel (“Each trigger maps an ActiveCampaign event to one of your conversions.”) click Add trigger. In the New ActiveCampaign trigger dialog:

  1. App: ActiveCampaign (already selected).
  2. LeadJourney Event: pick the conversion type this event should record, e.g. WonClient. (No options? Create one under Settings → Events first.)
  3. Trigger: choose the ActiveCampaign event from the card grid. Tag Added is usually the best one to start with.
  4. Attribute changed (optional, on events that support it): pick a field and a Target value so the trigger only fires for that value, e.g. a deal status of Won out of every deal update, or one specific tag out of every tag added. Status, tags and lists show a dropdown of your real values; leave Any value to fire on any update.

Click Continue.

Receive data and confirm the mapping

The dialog opens a three-tab flow:

  • Receive Data: click Find latest data to load the 3 most recent records. If nothing loads, the dialog tells you why when it can (for example a rate limit), otherwise create a matching record in ActiveCampaign and check again.
  • Configure Mapping: map the record onto LeadJourney columns. New triggers start with Email, Name, Phone, click_id, Revenue and Currency, pre-filled from paths like contact.email, contact.phone, contact.fields.LJ_CLICK_ID, deal.value and deal.currency. Deal events include the deal's primary contact, so contact.email works there too. Select several paths to join them with a space, or prefix a literal with static:. Add custom field adds more columns.
  • Filtering (optional, “Filtering is not required”): add a filter with a path, an operator and a value, and use Add Another Filter for more. Each filter is tested against the record you selected and shows PASS or FAIL, with a summary like “Your trigger would have fired”.

Click Save & Continue to finish, or Save and continue later to keep your progress.

How ActiveCampaign contacts link to the right campaign

On connect, LeadJourney creates a hidden LeadJourney Click ID contact field (shown as Click-id field: Ready in the header). When that field carries the visitor's click ID, conversions attribute to the exact ad click instead of being matched by email. Make sure whatever creates your contacts writes the click ID into it, and keep click_id mapped to contact.fields.LJ_CLICK_ID on the Configure Mapping tab. Without a click ID, LeadJourney still matches conversions to leads by email or phone.

Managing your triggers

Each trigger appears as a row (ActiveCampaign event → conversion type) with an Active / Paused pill and a summary of how many fields and filters it uses.

  • Pause / Resume: use the toggle to stop a trigger temporarily without deleting it.
  • Edit: change the event, condition, mapping, filters or target conversion.
  • Delete: type delete to confirm. The mapping and filters can't be recovered; other triggers keep running.
  • Add another: use Add trigger again, e.g. one trigger per tag that marks a stage.

Send data back to ActiveCampaign

The Send to ActiveCampaign panel pushes LeadJourney clicks, conversions and leads into ActiveCampaign, no Zapier needed. Click + Add destination, then:

  1. Create this ActiveCampaign record: choose Contact, Deal or Tag (apply to contact). A tag destination applies a tag to the contact with the mapped email, which is the easiest way to start an ActiveCampaign automation from a LeadJourney conversion.
  2. When this happens: pick the LeadJourney event. For a conversion event you can narrow it with Conversion type, or leave it on Any conversion type.
  3. Write mode: Create, Update (only update an existing match, skip if none is found) or, for contacts only, Upsert (update the contact with this email, or create it if there is none).
  4. Matching field (Update only): for contacts, Email or another field that is also mapped below; for deals, Contact email finds the deal via its linked contact.
  5. Map fields: pick an ActiveCampaign field (or type a custom field name and click Set), then the LeadJourney value to send. Select several values to join them with a space, or type a fixed value. Find latest data shows real example values; + Add field adds another row.

Click Create destination. Each row has Pause / Resume, Edit and Delete (existing ActiveCampaign records are not affected). Sync history lists every delivery with its Status (Success, Failed or Skipped) and detail, with Retry for failed or skipped ones.

Reconnecting and re-syncing

When something breaks, the header flips to Needs reconnect and a banner explains why:

  • “ActiveCampaign rejected the credentials”: the API key was probably rotated, or the user it belongs to was removed. Copy a fresh API URL and key from Settings → Developer and reconnect.
  • “Webhook is not registered”: the credentials work but nothing will flow in. Click Re-sync.
  • “ActiveCampaign is rate-limiting us”: ActiveCampaign allows 5 API requests per second across your whole account. Incoming webhooks are unaffected; only the mapping screens slow down, so wait a moment.
  • “ActiveCampaign is unreachable”: usually a temporary outage. Try again in a minute.

Re-sync re-registers the webhook and re-checks the hidden click ID field. Your triggers and settings are kept, so use it whenever events stop arriving or the Click-id field shows Not created.

Disconnecting

To remove ActiveCampaign, click Disconnect in the header, type disconnect and confirm with Disconnect ActiveCampaign. This is deliberate because it's destructive:

Disconnect deletes your triggers

Disconnecting permanently disconnects your ActiveCampaign account from the workspace, deletes every trigger and revokes the webhook subscription. Events stop flowing into your conversions immediately. You can reconnect later, but your trigger configuration won't be restored, so you'll set it up again.

Troubleshooting

“Connect” fails with a valid key?

A valid key against the wrong API URL fails exactly like a bad key. Copy both values again from the same Settings → Developer page, so the account name and region in the URL match the key.

Revenue is 100 times too high?

Map Revenue to deal.value, not deal.value_cents. The cents field is ActiveCampaign's raw integer (150000 for 1,500.00).

Contacts come in but aren't attributed to a campaign?

Check that (1) the tracking script is installed and recording clicks, (2) the Click-id field shows Ready and your contacts actually carry the click ID, and (3) the trigger is Active and maps click_id. As a fallback, email or phone can be used to match.

Common questions