> For the complete documentation index, see [llms.txt](https://help.impact.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/event-types/create-an-event-type.md).

# Create an Event Type

[Event types](/brand/what-would-you-like-to-learn-about/platform-features/event-types/event-types-explained.md) define what impact.com tracks and pays partners for, such as a sale, lead, or app install.

{% hint style="warning" %}
**Important:** Creating an event type involves technical configuration, including tracking and attribution settings. If you need help at any point, [contact support](https://app.impact.com/secure/advertiser/support/customer-support-portal-flow.ihtml).
{% endhint %}

{% stepper %}
{% step %}

### Access event types

1. From the top navigation bar, select ![](/files/xS6bxmV4GXmCOUBUoAMq) **\[User profile] → Settings**.
2. On the right, under *Tracking*, select [**Event Types**](https://app.impact.com/secure/advertiser/tracking-settings/actiontracker/view-actiontracker-flow.ihtml).
3. In the upper-right corner, select **Create Event Type**.
   {% endstep %}

{% step %}

### Name and identify the event type

4. On the *Create Event Type* screen, enter a name for the event type in the *Name* field.
5. From the *Ty*pe ![](/files/jA6jLZ1RleK5VI2zmvap) **\[Drop-down menu]**, select the event type you want to track, for example, `Online Sale`.
   * ![](/files/5luflrtlFU538CsJ75Ku) **\[Check]** **Mark this event type as shared** if it applies. Learn more about [shared event types](/brand/what-would-you-like-to-learn-about/platform-features/event-types/shared-event-types-explained.md).
   * ![](/files/5luflrtlFU538CsJ75Ku) **\[Check]** **Share with Advocate** is checked by default. Clear it if you don't want this event type shared with Advocate.
6. Optionally, enter a **Code** that identifies this event type in conversion data, useful when a third party sends the data. It substitutes for the `EventTypeId` (e.g. `INSTALL` for event type `1234`) and supports multiple comma-separated values.
   {% endstep %}

{% step %}

### Set tracking and return behavior

{% hint style="success" %}
**Note:** Tracking methods don't apply to the *Page Visit* event type.
{% endhint %}

7. Under **Tracking Method**, select how you want to track the conversion event:

<details>

<summary><strong>Pixel Tracking (recommended)</strong></summary>

The recommended conversion reporting method for online actions is pixel tracking, which involves placing the JavaScript tracking code on your conversion confirmation page. Refer to [step 7](#add-your-tracking-code-pixel-tracking-only) to complete this tracking configuration.

</details>

<details>

<summary><strong>Non-Pixel Tracking (advanced)</strong></summary>

Conversion data is sent via [API](https://integrations.impact.com/brand-api-reference/reference/conversions) or via [FTP/sFTP upload](/brand/what-would-you-like-to-learn-about/platform-features/submit-and-modify-conversion-data/submit-conversion-data.md). Server-to-server tracking is more reliable, and while API conversions can be sent in real time, FTP/sFTP uploads are processed in batches every 15 minutes.

</details>
{% endstep %}

{% step %}
8\. Under *Returns Processing*, select the method for processing any reversals:&#x20;

* **Process returns using the Pending Payouts screen:** [Reverse actions](/brand/what-would-you-like-to-learn-about/platform-features/actions-and-payouts/payouts/approve-reverse-and-modify-pending-payouts-for-actions.md#reverse-an-action) directly in the UI.
* **Automate returns processing (advanced):** Use the [API](https://integrations.impact.com/brand-api-reference/reference/actions/actions#delete-a-dvertisers-accountsid-actions) or [batch modification method](/brand/what-would-you-like-to-learn-about/platform-features/submit-and-modify-conversion-data/batch-modify-conversion-data/submit-batch-modifications-and-reversals.md) to reverse an action.
  {% endstep %}

{% step %}

### Configure advanced settings (optional)&#x20;

1. **Enable Probabilistic Attribution:** By default, *Probabilistic Attribution* is only enabled for *App Install* events where you can't make an exact ID-based match. This method attributes a conversion when a unique identifier isn't available.
2. **Crediting Logic:** Select the method for [when to credit partners](/brand/what-would-you-like-to-learn-about/platform-features/tracking/credit-policies/credit-policies-overview.md) when a conversion happens:
   * ![](/files/euLscWwm8UMCxhYcoHCx) **\[Radio button] Last click crediting for all insertion orders using this event type**
   * ![](/files/euLscWwm8UMCxhYcoHCx) **\[Radio button] Custom crediting rules and priorities (advanced):**
     * Select which **Crediting Rules** apply: **Last click**, **First click**, and **Last to cart** are checked by default.
     * With **First click** checked, set the **Lookback window** — a value and unit (e.g., `minute(s)`), up to a maximum of 180 days.
     * Under **Crediting Priority**, drag the rows in the table to set the order in which credit is applied across your selected crediting rules.
3. **General**: Configure more general tracking settings:
   * **Partner Tracking Pixel**: Allow partners to fire tracking pixels for this event type, which allows them to pull this data directly from your website to record and attribute the conversion in their own system independently. This method is only supported for JavaScript conversions. Advise partners to use postbacks instead.
   * **Analytic Event:** This event should be excluded from any template terms and used for reporting purposes only. To ensure this event shows up in the events funnel report, you'll need to enable *Funnel Reporting* and set the column labels and order in the next step.
   * **Open-Ended Locking:** Disables the automatic locking period, keeping conversions pending until they're manually approved, modified, or reversed via web services or batch file uploads. Refer to [open-ended locking](/brand/what-would-you-like-to-learn-about/platform-features/actions-and-payouts/open-ended-locking-explained.md) for more information.
4. **Funnel Reporting:** Enable funnel reporting to view the number of conversions (based on the referral date) for each funnel level you have assigned to your event types. The column order determines the order this action appears in the [events funnel report](/brand/what-would-you-like-to-learn-about/platform-features/actions-and-payouts/actions/track-your-conversion-funnel-using-chained-actions.md).
5. **Action Type**: Indicate if this event type is a parent or child action:
   * **Parent action type:** The first event in the customer journey, e.g., a free trial sign-up, app install, lead submission, or registration. It captures the customer ID that ties the chain together.
   * **Child action type:** A subsequent event linked back to the parent. It uses the same customer ID to attribute itself to whichever partner drove the original parent action. When selected, choose its parent from the drop-down menu listing all event types; the child action isn't validated until the parent is complete. For example, you might set `Free Trial` as the parent and `Paid Subscription` as the child. When a customer converts to paid, the platform looks up the matching customer ID from the free-trial event to credit the correct partner.
6. **Order ID Duplication:** Set the period to check for order ID duplications, configurable from 0 to 365 days; specifying 0 days turns the duplication check off.
7. **Client Cost (Applicable to agencies):** The cost charged by an Agency to a Brand, on top of the total payout cost. Choose how to charge the client:&#x20;
   * A percentage on top of media spend
   * A percentage of sales revenue
   * A fixed CPA per conversion
8. **Customer Status Mapping:** Add value mapping to distinguish between your existing customers, customers who've never shopped with you before, frequent customers, etc. This information is useful in reporting when viewing your program's new-customer acquisition rate or its number of frequent purchasers. Refer to [Configure Customer Status Mapping](/brand/what-would-you-like-to-learn-about/platform-features/tracking/set-up-tracking/configure-customer-status-mapping.md) for more information.
   {% endstep %}

{% step %}

### Save the event type

9. Select **Save**.

* Before relying on your new event type in production, [test](/brand/what-would-you-like-to-learn-about/platform-features/event-types/test-new-event-types.md) and [validate](/brand/what-would-you-like-to-learn-about/platform-features/event-types/validate-an-event-type.md) it to confirm the event type is correctly implemented.
  {% endstep %}

{% step %}

### Add your tracking code (Pixel Tracking only)

1. **Add the Universal Tracking Tag (UTT) snippet**

The UTT must already be installed on every page of your site, including the confirmation or *Thank you* page, before you add the `trackConversion` snippet. On that page, place `trackConversion` after the UTT snippet, since it depends on the tracking library the UTT loads.

{% code expandable="true" %}

```javascript
<script type="text/javascript">
(function(a,b,c,d,e,f,g){
  e['ire_o']=c;
  e[c]=e[c]||function(){(e[c].a=e[c].a||[]).push(arguments)};
  f=d.createElement(b);
  g=d.getElementsByTagName(b)[0];
  f.async=1;
  f.src=a;
  g.parentNode.insertBefore(f,g);
})(
  'https://utt.impactcdn.com/YOUR-TAG-ID.js', // Replace with your own Universal Tracking Tag URL — copy it from Settings > Tracking > General > Universal Tracking Tag. Do not edit anything else in this function.
  'script','ire',document,window
);

ire('identify', {
  customerid: '', // Insert the current customer's unique ID. Leave blank for anonymous/logged-out visitors.
  customeremail: '' // Insert the customer's email, SHA-1 hashed. Leave blank if unavailable.
});
</script>
```

{% endcode %}

2. **Install the `trackConversion` tag based on your event type**

The `trackConversion` tag reports a conversion back to impact.com when a customer completes the action your event type tracks, for example, submitting a lead form or completing a purchase. Add it to the page that confirms the action (such as an order confirmation or *Thank you* page), placing it after the Universal Tracking Tag, and passing your event type's tracker ID and the relevant order and customer data. Replace `<YOUR_TRACKER_ID>` with your own event type's tracker ID.

{% tabs %}
{% tab title="Online sale event" %}
{% code expandable="true" %}

```javascript
<script>
  ire('trackConversion', <YOUR_TRACKER_ID>, {
    orderId: "Order Id here",
    customProfileId: "UUID here",
    customerId: "Customer Id here",
    customerEmail: "SHA1 Hash of Customer's Email",
    customerStatus: "Customer Status here",
    currencyCode: "USD",
    orderPromoCode: "Promo Code here",
    orderDiscount: 15.00,
    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-22222",
        quantity: 3,
        name: "Product Name 2"
      }
    ]
  }, {
    verifySiteDefinitionMatch: true
  });
</script>
```

{% endcode %}

{% endtab %}

{% tab title="Online lead event" %}

```javascript
<script type="text/javascript">
ire('trackConversion', <YOUR_TRACKER_ID>, {
    orderId: "Order Id here",
	customerId: "Customer Id here",
	customerEmail: "SHA1 Email Address here"
         }, {
       verifySiteDefinitionMatch:true
    });
</script>
```

{% endtab %}
{% endtabs %}
{% endstep %}
{% endstepper %}


---

# 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://help.impact.com/brand/what-would-you-like-to-learn-about/platform-features/event-types/create-an-event-type.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.
