# ActiveCampaign Reference

## Destination Info

* Accepts [Track](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#track) and [Identify](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#identify) calls
* Supports [HIPAA mode](https://documentation.freshpaint.io/hipaa-mode)
* Connection Modes:

<table><thead><tr><th width="158.33333333333331" align="right"> </th><th width="234" data-type="checkbox">Client-side</th><th data-type="checkbox">Server-side</th></tr></thead><tbody><tr><td align="right">Web</td><td>false</td><td>true</td></tr><tr><td align="right">Mobile</td><td>false</td><td>true</td></tr><tr><td align="right">Server</td><td>false</td><td>true</td></tr></tbody></table>

## Identify

When you call [freshpaint.identify](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#identify), Freshpaint will create a contact in ActiveCampaign and pass in the following fields:

* `firstName`
* `lastName`
* `email`
* `phone`

Here is an example of an identify call sent to ActiveCampaign with those fields:

```
freshpaint.identify({
    "email": "john.doe@example.com",
    "firstName": "John",
    "lastName": "Doe",
    "phone": "555-555-5555"
  }
)
```

If a contact record with the given email already exists, Freshpaint will update the existing contact record. If no record with the email exists, Freshpaint will create a new contact record.

<figure><img src="/files/dL0OVl6Ynmmjh2rc4V1C" alt=""><figcaption></figcaption></figure>

## Events

When a Freshpaint event is sent to ActiveCampaign, you must send an `email` property attached to the event. The event will then be attached to the contact with the given email. [See our docs on setting up properties](https://documentation.freshpaint.io/readme/setting-up-properties) to see the different ways you can attach an `email` property to your events.

To ensure defined events include the required `email` parameter, we recommend adding a user's `email` as an event property through the [`addEventProperties` API](/readme/setting-up-properties.md#addeventproperties).

If implementing a [precision tracking event](https://documentation.freshpaint.io/sources/precision-tracking), you can pass the email and custom properties with the following example:

```javascript
freshpaint.track("event", {
  email: "user@example.com",
  properties: {
    acValue: "yourValue"
  }
}
```

<figure><img src="/files/1kL0odQtliD45o9RWmpp" alt=""><figcaption></figcaption></figure>

{% hint style="info" %}
You can use the [Event Tester](https://documentation.freshpaint.io/events/event-tester) to test sending payloads to this destination.&#x20;
{% endhint %}

## Configuration Options

### Connection Mode

Only server-side connection mode is available for this destination. All events will be sent to ActiveCampaign using Freshpaint's servers. Your website will not send data directly to ActiveCampaign.&#x20;

### Event Transformations

Set up transformations to modify your data before it's sent to your destination. Read more about transformations [here](https://documentation.freshpaint.io/transformations).

<figure><img src="/files/aOKkpLvEjEmGXuzLhTCA" alt=""><figcaption></figcaption></figure>

## Event Tester

You can use the event tester to test certain payloads to see if they are being sent correctly to ActiveCampaign. Here is an example of an identify event you might test sending to this destination along with the response code from ActiveCampaign:

<figure><img src="/files/kmCRtiQpjLvvZFhnyiyz" alt=""><figcaption></figcaption></figure>

You can read more about the Event Tester [here](https://documentation.freshpaint.io/events/event-tester).


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://documentation.freshpaint.io/integrations/destinations/apps/active-campaign/activecampaign-reference.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
