# Impact.com Reference

## Destination Info

* Supports [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)
* Supports forwarding from the [Google Tag Manager Integration](/integrations/google-tag-manager-integration.md)
* Refer to this destination as **impactdotcom** in the [Integrations object](https://documentation.freshpaint.io/reference/developer/freshpaint-sdk-reference#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>

This is a reference document for the impact.com destination. For information on how to set up this integration, see the [Impact.com Quick Start Guide](/integrations/destinations/apps/impactdotcom/impact.com-quick-start-guide.md).

### Events

When you send an event to impact.com from Freshpaint, Freshpaint will create an event in impact.com by hitting impact.com's API.

## Track Events

When you send an event to impact.com, you can track conversions from your ads based on those events.

Below are the Required, Recommended, and Optional properties which are mapped to the [impact.com Conversion](https://integrations.impact.com/impact-brand/reference/submit-a-conversion) request:

<table data-header-hidden data-full-width="true"><thead><tr><th width="212"></th><th width="203"></th><th width="96"></th><th width="111"></th><th></th></tr></thead><tbody><tr><td><p><strong>Freshpaint</strong></p><p><strong>Track</strong><br><strong>Built-in or Event property</strong></p></td><td><strong>impact.com API field</strong></td><td><strong>Type</strong></td><td><strong>Required?</strong><br><strong>Recommended?</strong></td><td><strong>Description</strong></td></tr><tr><td><code>$irclickid</code></td><td><code>ClickId</code></td><td>string</td><td>Required<br>Built-in</td><td>impact.com passes a unique <code>irclickid</code> query string parameter into the landing page URL when redirecting the user through our tracking domains. The value associated with this parameter is used to perform attribution analysis.</td></tr><tr><td><code>order_id</code></td><td><code>OrderId</code></td><td>string</td><td>Required</td><td></td></tr><tr><td><code>time</code></td><td><code>EventDate</code></td><td>string</td><td>Always-sent<br>Built-in</td><td></td></tr><tr><td><code>$device_id</code></td><td><code>CustomProfileId</code></td><td>string</td><td>Always-sent<br>Built-in</td><td></td></tr><tr><td><code>$ip</code></td><td><code>IpAddress</code></td><td>string</td><td>Optional<br>Built-in</td><td></td></tr><tr><td><code>$os</code></td><td><code>DeviceOs</code></td><td>string</td><td>Optional<br>Built-in</td><td></td></tr><tr><td><code>$user_agent</code></td><td><code>UserAgent</code></td><td>string</td><td>Optional<br>Built-in</td><td></td></tr><tr><td><code>$user_id</code></td><td><code>CustomerId</code></td><td>string</td><td>Optional<br>Built-in</td><td><p>The unique ID for the customer that converted.</p><p></p><p>Needs to be 7 or more characters, with 3 being distinct, and without whitespace.</p><p></p><p>Set via <a href="https://documentation.freshpaint.io/reference/developer/freshpaint-sdk-reference#identify">freshpaint.identify</a>(USERID).<br><br>From event tester, use distinct_id.<br><br>When in HIPAA mode, this is anonymized as described at<a href="https://documentation.freshpaint.io/integrations/hipaa-mode#id-masking"> ID Masking</a></p></td></tr><tr><td><code>amount</code></td><td><code>Amount</code></td><td>number</td><td>Optional</td><td></td></tr><tr><td><code>currency</code></td><td><code>CurrencyCode</code></td><td>string</td><td>Optional</td><td>The ISO 4217 currency code for the revenue <code>value</code>.</td></tr><tr><td><code>customer_status</code></td><td>CustomerStatus</td><td>string</td><td>Optional</td><td></td></tr><tr><td><code>discount</code></td><td><code>OrderDiscount</code></td><td>number</td><td>Optional</td><td></td></tr><tr><td><code>email</code></td><td><code>CustomerEmail</code></td><td>string</td><td>Optional</td><td>This is SHA1 hashed as recommended by impact.com.<br><br>If in HIPAA mode, and Masking specified for the Allowlisted <code>email</code> <strong>Event Property</strong>, this is performed prior to the SHA1 hashing.</td></tr><tr><td><code>event_type_code</code></td><td><code>EventTypeCode</code></td><td>string</td><td>Required<br>(if event_type_id not specified)</td><td>If specified, identifies impact Event Type, and used as Freshpaint event name</td></tr><tr><td><code>event_type_id</code></td><td><code>EventTypeId</code></td><td>number</td><td>Required<br>(if event_type_code not specified)</td><td>If specified, identifies impact Event Type, and used as Freshpaint event name</td></tr><tr><td>items</td><td>ItemBrand#<br>ItemCategory#<br>ItemPromoCode#<br>ItemName#<br>ItemPrice#<br>ItemQuantity#<br>ItemSku#</td><td>object array</td><td>Optional</td><td>example:<br><br>items: [ { subTotal: 28.00, category: "Product Category 1", sku: "sku-11111", quantity: 2, name: "Product Name 1", }, { subTotal: 99.00, category: "Product Category 2", sku: "sku-11112", quantity: 3, name: "Product Name 2", }]</td></tr><tr><td>item_brand#</td><td>ItemBrand#</td><td>string</td><td>Optional</td><td>item-level detail such as item_brand1, item_brand2...item_brandN</td></tr><tr><td>item_category#</td><td>ItemCategory#</td><td>string</td><td>Optional</td><td>""</td></tr><tr><td>item_promo_code#</td><td>ItemPromoCode#</td><td>number</td><td>Optional</td><td>""</td></tr><tr><td>item_name#</td><td>ItemName#</td><td>string</td><td>Optional</td><td>""</td></tr><tr><td>item_price#</td><td>ItemPrice#</td><td>number</td><td>Optional</td><td>""</td></tr><tr><td>item_quantity#</td><td>ItemQuantity#</td><td>number</td><td>Optional</td><td>""</td></tr><tr><td>item_sku#</td><td>ItemSku#</td><td>string</td><td>Optional</td><td>""</td></tr><tr><td><code>latitude</code></td><td><code>Latitude</code></td><td>number</td><td>Optional</td><td></td></tr><tr><td><code>longitude</code></td><td><code>Longitude</code></td><td>number</td><td>Optional</td><td></td></tr><tr><td><code>order_promo_code</code></td><td><code>OrderPromoCode</code></td><td>string</td><td>Optional</td><td></td></tr><tr><td><code>order_shipping</code></td><td><code>OrderShipping</code></td><td>number</td><td>Optional</td><td></td></tr><tr><td><code>order_tax</code></td><td><code>OrderTax</code></td><td>number</td><td>Optional</td><td></td></tr><tr><td><code>os_version</code></td><td><code>DeviceOsVersion</code></td><td>string</td><td>Optional</td><td></td></tr></tbody></table>

{% hint style="info" %}
Freshpaint will deliver Track events to impact.com only when a user arrives on your site by clicking on an ad that directs the user to a landing page that has Freshpaint installed. Without the irclickid ($irclickid) from the landing page, Freshpaint and impact.com will not be able to attribute conversions.
{% endhint %}

## Identify Events

When you call [freshpaint.identify()](https://documentation.freshpaint.io/developer/freshpaint-sdk-reference#identify), Freshpaint will set $user\_id and send a ["Page Load" request](https://integrations.impact.com/impact-brand/reference/create-a-pageload) to impact.com, with CustomerId set to this $user\_id value. If in HIPAA mode, this value is masked as described [here](https://documentation.freshpaint.io/readme/guides/hipaa-mode).

Below are the properties which are mapped to the [impact.com Page Load](https://integrations.impact.com/impact-brand/reference/create-a-pageload) request.&#x20;

<table data-header-hidden data-full-width="true"><thead><tr><th width="212"></th><th width="215"></th><th width="96"></th><th width="164"></th><th></th></tr></thead><tbody><tr><td><strong>Freshpaint</strong><br><strong>Identify</strong><br><strong>Built-in or User property</strong></td><td><strong>impact.com API field</strong></td><td><strong>Type</strong></td><td><strong>Required?</strong><br><strong>Recommended?</strong></td><td><strong>Description</strong></td></tr><tr><td><code>$current_url</code></td><td><code>PageUrl</code></td><td>string</td><td><br>Always-sent<br>Built-in</td><td><p>PageUrl is a required impact api field.<br></p><p>It will always be sent by Freshpaint - when not allowlisted, the path and querystring params, if any, are replaced by "url-redacted-by-freshpaint"</p></td></tr><tr><td><code>time</code></td><td><code>EventDate</code></td><td>string</td><td>Always-sent<br>Built-in</td><td></td></tr><tr><td><code>$device_id</code></td><td><code>CustomerProfileId</code></td><td>string</td><td>Always-sent<br>Built-in</td><td></td></tr><tr><td><code>$irclickid</code></td><td><code>ClickId</code></td><td>string</td><td>Optional</td><td>Freshpaint treats <code>ClickId</code> as optional for Page Load, since <code>CustomerProfileId</code> is always sent, satisfying the impact.com required fields criteria.</td></tr><tr><td><code>$ip</code></td><td><code>IpAddress</code></td><td>string</td><td>Optional<br>Built-in</td><td></td></tr><tr><td><code>$os</code></td><td><code>DeviceOs</code></td><td>string</td><td>Optional</td><td></td></tr><tr><td><code>$referrer</code></td><td><code>ReferringUrl</code></td><td>string</td><td>Optional</td><td></td></tr><tr><td><code>$user_agent</code></td><td><code>UserAgent</code></td><td>string</td><td>Optional<br>Built-in</td><td></td></tr><tr><td><code>$user_id</code></td><td><code>CustomerId</code></td><td>string</td><td>Optional<br>Built-in</td><td><p>The unique ID for the customer that converted.</p><p></p><p>Needs to be 7 or more characters, with 3 being distinct, and without whitespace.</p><p></p><p>Set via <a href="https://documentation.freshpaint.io/reference/developer/freshpaint-sdk-reference#identify">freshpaint.identify</a>(USERID).<br><br>From event tester, use distinct_id.<br><br>When in HIPAA mode, this is anonymized as described at<a href="https://documentation.freshpaint.io/integrations/hipaa-mode#id-masking"> ID Masking</a></p></td></tr><tr><td><code>email</code></td><td><code>CustomerEmail</code></td><td>string</td><td>Optional</td><td>This is SHA1 hashed as recommended by impact.com.<br><br>If in HIPAA mode, and Masking specified for the Allowlisted <code>email</code> <strong>User Property</strong>, this is performed prior to the SHA1 hashing.</td></tr><tr><td><code>os_version</code></td><td><code>DeviceOsVersion</code></td><td>string</td><td>Optional</td><td></td></tr></tbody></table>


---

# 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/impactdotcom/impact.com-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.
