> ## Documentation Index
> Fetch the complete documentation index at: https://docs.runconverge.com/llms.txt
> Use this file to discover all available pages before exploring further.

# impact.com

> An introduction to the impact.com destination

export const OutboundLink = ({linkText, linkTarget}) => {
  return <a target="_blank" href={linkTarget}> {linkText} 
    <div className="inline h-3 w-3 fill-gray-500 dark:fill-gray-100 text-gray-500 dark:text-gray-300 ml-1 mr-1">
      <svg className="inline w-2.5 h-2.5 bg-gray-500 dark:bg-gray-300" style={{
    maskImage: `url('https://mintlify.b-cdn.net/v6.5.1/solid/up-right-from-square.svg')`,
    maskRepeat: "no-repeat",
    maskPosition: "center center"
  }}></svg> 
    </div>
    </a>;
};

export const IconText = ({name, text, iconSource = "mintlify", iconLocation = "before", iconType = "solid"}) => {
  const sourceUrl = iconSource === 'local' ? `url('/images/icons/${name}.svg')` : `url('https://mintlify.b-cdn.net/v6.5.1/${iconType}/${name}.svg')`;
  return <>
            <div className="inline-block pl-2">
                {iconLocation === 'before' && <div className="h-3.5 w-3.5 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 inline-block align-middle mr-2">
                        <svg className="w-4 h-4 bg-gray-800 dark:bg-gray-100 " style={{
    maskImage: sourceUrl,
    maskRepeat: "no-repeat",
    maskPosition: "center center"
  }} />
                    </div>}
                <span className="inline-block align-middle font-semibold fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 pl-1 pr-2">{text}</span>
                {iconLocation === 'after' && <div className="h-3.5 w-3.5 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 inline-block align-middle mr-2">
                        <svg className="w-4 h-4 bg-gray-800 dark:bg-gray-100 pr-3" style={{
    maskImage: sourceUrl,
    maskRepeat: "no-repeat",
    maskPosition: "center center"
  }} />
                    </div>}
            </div>
        </>;
};

export const Icon = ({name}) => {
  return <div className="h-4 w-4 fill-gray-800 dark:fill-gray-100 text-gray-800 dark:text-gray-100 inline-block align-middle">
            <svg className="w-4 h-4 bg-gray-800 dark:bg-gray-100" style={{
    maskImage: `url('https://mintlify.b-cdn.net/v6.5.1/solid/${name}.svg')`,
    maskRepeat: "no-repeat",
    maskPosition: "center center"
  }} />
        </div>;
};

## Overview

Destination Type: <IconText text="Server-side" name="server" iconType="duotone" iconLocation="after" />

### How it works

1. A visitor clicks a partner's impact.com tracking link and lands on your site with a click ID in the URL.
2. The [Converge Pixel](/sources/website-integrations/converge-pixel) saves the click ID on the visitor's profile.
3. When the visitor converts, Converge sends the conversion with the click ID to impact.com's <OutboundLink linkText="Conversions API" linkTarget="https://integrations.impact.com/brand-api-reference/reference/conversions/conversions" />, and impact.com credits the partner.

Converge keeps the click ID on the profile, so conversions you track on your server, like orders from your store backend, include it too.

<Note>
  The Converge Pixel must run on the pages your impact.com tracking links land on. Otherwise, Converge can't capture the click ID.
</Note>

***

## Installation instructions

<Steps>
  <Step icon="key" title="Create an impact.com API token">
    Converge authenticates with an impact.com API access token, which consists of an **Account SID** and an **Auth Token**.

    1. In impact.com, select your **user profile** in the top navigation bar, then **Settings**.

    2. In the left column, scroll to **Technical** and select **API**.

    3. Select **Create Access Token**. Enter a **Token Name**, for example `Converge Destination`, and a short **Description**. Select **Next**.

    4. Toggle on the **Conversions** category and check the **Create conversion** scope. Converge doesn't need any other scope.

    5. Select **Create**, then open the token to copy its **Account SID** and **Auth Token**.

    For more detail, see impact.com's <OutboundLink linkText="Create an API access token as a brand" linkTarget="https://help.impact.com/brand/what-would-you-like-to-learn-about/account-administration/account-settings/api-tokens/create-an-api-access-token-as-a-brand" /> guide.
  </Step>

  <Step icon="list" title="Find your program ID and event type IDs">
    1. In impact.com, select your brand name in the upper-left corner. Copy the **program ID** shown under your program's name.

    2. Select your **user profile**, then **Settings**. Under **Tracking**, select **Event Types**.

    3. Copy the ID of each event type you want to track, for example your sale and lead event types. The ID is in parentheses next to the event type's name.
  </Step>

  <Step icon="arrow-right-from-line" title="Set up the destination in Converge">
    1. In the Converge sidebar, click on <IconText name="arrow-right-from-line" text="Event streams" /> and then click **Create new Destination**.

    2. Select the **impact.com** destination and click **Next**.

    3. Give your destination a **name** (e.g. impact.com Destination) and click **Next**.

    4. Fill in the **Account SID**, **Auth Token**, and **Program ID**, then click **Next**. Converge checks that the token is valid and that the program belongs to the account.

    5. Click **Add new mapping** and map each Converge event to the **Event type ID** it should be tracked as. For example, map `Placed Order` to your sale event type. Click **Next**.

       <Note>impact.com has no default mapping, because event type IDs are unique to your account. For more on mappings, see [Event mapping](/destinations/event-mapping).</Note>

    6. Select the sources you want to forward events from, then click **Next**.

    7. Review any issues and click **Create destination**.
  </Step>
</Steps>

<Warning>
  Set this destination to **Deactivated** while you remove your existing impact.com conversion tracking. Running both in parallel leads to duplicate conversions. Follow the **Turn off your old impact.com tracking** instructions below, then set the destination to **Active** when you're ready.
</Warning>

***

## Turn off your old impact.com tracking

Turn off every other integration that sends conversions to impact.com for the same program, such as:

* The impact.com Shopify app
* Conversion tracking with the impact.com Universal Tracking Tag
* Another server-side integration, like Segment's impact.com destination
* Scheduled file uploads of your orders

***

## Send custom parameters

Custom parameters send an event or profile property as an extra impact.com parameter. Use them for any parameter of the <OutboundLink linkText="Conversions API" linkTarget="https://integrations.impact.com/brand-api-reference/reference/conversions/conversions" /> that Converge doesn't send by default.

1. Navigate to your impact.com destination and click on **Configuration**.
2. Open the **Advanced configuration (optional)** section.
3. Under **Custom parameters**, click **Add**. Fill in the Converge property as **Property name** and the impact.com parameter as **Destination property name**, for example `customer_id` and `CustomerId`.
4. Click **Save**.

Converge reads the property from the event first, then from the profile, and sends its value as text. Events without the property are sent without the parameter.

### Send a customer ID

Map a property that holds your customer's ID to `CustomerId`. impact.com then credits later events, like subscription renewals, to the partner who drove the customer's first conversion. This uses impact.com's <OutboundLink linkText="chained actions" linkTarget="https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/actions-and-payouts/actions/track-your-conversion-funnel-using-chained-actions" />, which you set up on your event types in impact.com.

The first conversion and the later events must carry the same `CustomerId`. Converge sends events with a `CustomerId` even when they don't have a click ID.

***

## Conversion amount

Converge sends the [conversion amount](/destinations/conversion-amount) you pick in the destination configuration, together with the order currency. impact.com converts it to your account currency.

Events without a `total_price`, such as `Signed Up`, are sent without an amount. Use them for impact.com event types that pay partners a fixed amount per action, like leads.

***

## Sent parameters

| impact.com parameter | Value |
| :- | :- |
| `CampaignId` | The **Program ID** from the destination configuration |
| `EventTypeId` | The **Event type ID** from the event mapping |
| `EventDate` | The time the event happened |
| `OrderId` | The event's `eventID`. For `Placed Order`, that's your order ID |
| `ClickId` | The impact.com click ID, when the visitor came through an impact.com tracking link |
| `CurrencyCode` | The order currency |
| `OrderSubTotalPostDiscount` | The conversion amount |
| `ItemSubTotal1` | The conversion amount |

<Note>
  Converge sends the amount as both the order subtotal and a single item subtotal. impact.com uses one or the other depending on your program's item tracking, so it's never counted twice.
</Note>

***

## Converge functionality

This integration supports the following Converge destination functionality.

| Converge Feature | Supported |
| :- | :-: |
| Custom Events | <Icon name="check" /> |
| Filters | <Icon name="check" /> |
| Server-side Conversions | <Icon name="check" /> |
| [Conversion amount](/destinations/conversion-amount) | <Icon name="check" /> |

***

## FAQ

<AccordionGroup>
  <Accordion title="Why don't I see my conversions in impact.com yet?">
    impact.com queues conversions and processes them in the background, which usually takes up to 30 minutes. Processed conversions show up as pending actions under **Engage > Transactions > Pending Payouts > Actions**.

    A `Success` status in the [destination logs](/destinations/monitoring#destination-logs) means impact.com accepted the conversion for processing. impact.com can still decide not to create an action, for example when the conversion happened before the click.
  </Accordion>

  <Accordion title="Why are some events skipped?">
    Converge skips a conversion that has neither an impact.com click ID nor another identifier impact.com can attribute it with, like `CustomerId`. This happens for visitors who didn't come through an impact.com tracking link. To credit these conversions through chained actions, [send a customer ID](#send-a-customer-id).
  </Accordion>

  <Accordion title="Which click ID parameter does Converge read?">
    impact.com adds the click ID to your landing page URL as `im_ref` by default, or as `irclickid` when your program's tracking template sets it. Converge reads only these two. If your tracking template uses a different parameter, change it to `irclickid`. Otherwise, Converge can't capture the click ID.
  </Accordion>
</AccordionGroup>

***

## Event mapping

impact.com has no default mapping. Map each Converge event to the ID of the impact.com event type it should be tracked as, for example:

| Converge Event Name | impact.com Event Type |
| - | - |
| [Placed Order](/sources/converge-spec#placed-order) | The ID of your sale event type |
| [Signed Up](/sources/converge-spec#signed-up) | The ID of your lead event type |
