> For the complete documentation index, see [llms.txt](https://documentation.freshpaint.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://documentation.freshpaint.io/integrations/destinations/apps/cj-early-access/cj-quick-start-guide.md).

# CJ Quick Start Guide

{% hint style="warning" %}
The CJ integration is currently in Early Access. Please contact <support@freshpaint.io> for more information about this integration.
{% endhint %}

This guide covers how to connect Freshpaint to CJ (Commission Junction) and start sending conversion events for publisher attribution. If the integration is already configured and more technical detail is needed, see [CJ Reference](/integrations/destinations/apps/cj-early-access/cj-reference.md).

## Destination Info

* Supports [Track](/reference/developer/freshpaint-sdk-reference.md#track) calls
* Supports [HIPAA mode](/readme/hipaa-mode.md)
* Supports forwarding from the [Google Tag Manager Integration](/integrations/google-tag-manager-integration.md)
* Refer to this destination as **CJ** in the [Integrations object](/reference/developer/freshpaint-sdk-reference.md#using-the-integrations-object)

Connection Modes:

<table><thead><tr><th width="200.33333333333331" align="right"></th><th 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>

## Getting Started

This guide enables you to fully enable the CJ integration for your site. This guide assumes you have the Freshpaint snippet installed on your site — if you do not, please follow [this guide](https://documentation.freshpaint.io/readme/guides/quickstart/installing-freshpaint).

### Enable the Freshpaint CJ Destination

1. Navigate to the [Freshpaint Destinations page](https://app.freshpaint.io/destinations/catalog).
2. Search for the **CJ** destination.
3. Select **Configure** to paste your Personal Access Token, Enterprise ID, and Action Tracker ID.
4. Customers that use HIPAA mode should then configure the required, recommended, and optional properties. You can find [all properties that the Freshpaint CJ integration supports here](/integrations/destinations/apps/cj-early-access/cj-reference.md).
5. Enable CJ.

Once you've followed the steps above you can start sending events to CJ.

<figure><img src="/files/97gpOexzLMD1xXK3tMb3" alt="CJ integration cnfiguration page"><figcaption></figcaption></figure>

### Required and Recommended Event Properties

Before enabling the destination, ensure your conversion events include the following properties:

| Freshpaint Property                     | CJ Parameter | Requirement | Notes                                                                                       |
| --------------------------------------- | ------------ | ----------- | ------------------------------------------------------------------------------------------- |
| `order_id`                              | `orderId`    | Required    | Unique identifier for the order.                                                            |
| `value`, `total`, `revenue`, or `price` | `amount`     | Required    | Freshpaint tries these in order and uses the first one present.                             |
| `currency`                              | `currency`   | Required    | ISO 4217 currency code (e.g. `USD`, `EUR`).                                                 |
| `$cjEvent`                              | `cjEvent`    | Recommended | CJ click identifier captured from the landing page URL. Required for publisher attribution. |

### If you are a HIPAA account, you will need to add event properties to the allowlist. If you are not a HIPAA account, you can skip this step.

1. Go to the CJ configuration page in Freshpaint.
2. Click "Configure" next to "Required Properties" and "Recommended Properties".
3. If you're using the Freshpaint/CJ integration for publisher attribution purposes, we recommend you send the `$cjEvent` property. This property is required in order to see attribution data in CJ. You can do so by checking the box in the popup.

<figure><img src="/files/Jyl1N4BvEFE5s9rMpOub" alt="CJ recommended properties allowlisting"><figcaption></figcaption></figure>

4. Next, add any other properties you'd like to send under "Optional Properties".

<figure><img src="/files/Ry1FHHqYHqOOzvNQA1Je" alt="CJ optional properties allowlisting"><figcaption></figcaption></figure>

Once you've followed these steps, you're ready to start sending events to CJ!

## **Confirm and Validate Events**

### Confirm events in Freshpaint

1. Navigate to your site and visit a page that should trigger your event.
2. Trigger your event.
3. Navigate to [**Event Verification**](https://app.freshpaint.io/event-verification) in Freshpaint.
4. Select **CJ** and verify your event went through.
   1. This can take up to 90 seconds.
5. Verify the event is marked as `OK` or resolve any missing property issues.

<figure><img src="/files/lCQyp10ldaY94CmqK03X" alt="Event Verification Example"><figcaption></figcaption></figure>


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://documentation.freshpaint.io/integrations/destinations/apps/cj-early-access/cj-quick-start-guide.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
