# Implementation

For an FTP/Email integration, there are three main steps you'll need to consider:

* **Capture the `im_ref` query string parameter value**: the exact method in which you capture and store this value is up to your discretion and specific requirements. This is a required parameter when submitting conversion data — impact.com uses this value (and others) for attribution.
* **Create a .CSV file**: impact.com provides examples and a full parameter reference for conversion data that you can customize to include the specific conversion data needed.
* **Submit the .CSV file**: depending on your event type, you'll submit your .CSV file either via Impact FTP/FTPS/SFTP (i.e., upload a file to an impact.com FTP server), submit your .CSV file via email (i.e., sent to a specific address as an attachment that then uploads the file via FTP), or instruct impact.com to pull the file from your own FTP server.

## Capture & store `im_ref`

impact.com will dynamically populate an `im_ref` value in your landing page URL (e.g. `https://www.example.com/store/product1?im_ref=1234567`) when visitors are directed to your site from an impact.com tracking link. The query string parameter name is `im_ref`.

The `im_ref` value should be captured and stored in the browser (e.g., in a first-party cookie) and available if the same visitor returns directly to your site in another session.

If, during the customer journey, the website URL changes from one domain to another, the stored `im_ref` value should be passed and stored under the new domain.

## Create a .CSV file

Reporting conversions at the item level is generally recommended for most circumstances. At a minimum, impact.com expects an item-level conversion data .CSV file to have the following headers:

{% tabs %}
{% tab title="CSV" %}

```csv
CampaignId,ActionTrackerId,EventDate,OrderId,ClickId,CustomerId,CurrencyCode,Amount,Category,Sku,Quantity
```

{% endtab %}
{% endtabs %}

{% hint style="info" %}
**Tip:** It's highly recommended to include as much data as possible – refer to the full [Conversions Data Reference document](https://integrations.impact.com/impact-brand/reference/action-conversion-field-references) for a full list of conversion data parameters.
{% endhint %}

| Parameter         | Description                                                                                                                                                                                                                                                            |
| ----------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `CampaignId`      | A unique identifier for your impact.com account's *Program* (or *CampaignId*). Available in your *Tech Plan* document.                                                                                                                                                 |
| `ActionTrackerId` | A unique identifier for your impact.com account's *Event Type* (or *Action Tracker*). Available in your *Tech Plan* document.                                                                                                                                          |
| `EventDate`       | The time, date, and time zone of when the event occurred in [ISO 8601 format](https://en.wikipedia.org/wiki/ISO_8601). This value cannot be older than 88 days — impact.com doesn't process conversions with an event date older than 88 days from the date submitted. |
| `OrderId`         | The unique identifier for the order associated with this conversion. Typically generated by your site's e-commerce system.                                                                                                                                             |
| `ClickId`         | The unique identifier for the visitor that converted. Appended as the query string parameter im\_ref to your site's landing page when they first visit.                                                                                                                |
| `CustomerId`      | A unique identifier for the visitor that converted — typically an ID that your site or e-commerce system assigns to a visitor. **Do not use personally identifiable information (PII)**.                                                                               |
| `CurrencyCode`    | Three-letter ISO 4217 code for the currency used in the conversion.                                                                                                                                                                                                    |
| `Amount`          | The subtotal of the item as set by the SKU. **This value is pre-tax, pre-shipping, and pre-discounts**.                                                                                                                                                                |
| `Category`        | The name of the category that the item belongs to.                                                                                                                                                                                                                     |
| `Sku`             | The stock-keeping unit assigned to the item.                                                                                                                                                                                                                           |
| `Quantity`        | The quantity of this item within the order.                                                                                                                                                                                                                            |

Each item within an order should be submitted as a new line in the file:

{% tabs %}
{% tab title="CSV" %}

```csv
CampaignId,ActionTrackerId,EventDate,OrderId,ClickId,CustomerId,CurrencyCode,Amount,Category,Sku,Quantity
1000,4321,2021-11-23T18:00:22+00:00,01928374,QiiWXOVnrQ3SQHl24jQjyxBGUkmzfJ3i1VHrWM0,BCZ2WVSH674563PDPYOTM3AXDQ,USD,42.50,Blacksmithing,A-198237465,1
1000,4321,2021-11-23T18:00:22+00:00,01928374,QiiWXOVnrQ3SQHl24jQjyxBGUkmzfJ3i1VHrWM0,BCZ2WVSH674563PDPYOTM3AXDQ,USD,13.50,Sporting Goods,A-91827645,1
```

{% endtab %}
{% endtabs %}

## Submit the .CSV file

Each section below covers the basics of submitting a conversion data .CSV file — to learn more, see [Submit Conversion Data via FTP or Email](https://help.impact.com/en/support/solutions/articles/48001232601-submit-conversion-data-via-ftp-or-email) in the impact.com Help Center.

### Impact FTP

{% hint style="success" %}
**Note:** You'll need your impact.com FTP server credentials from your impact.com account.
{% endhint %}

To access your FTP credentials:

1. Log in to your impact.com account.
2. From the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] → Settings**.
3. In the *Program* column, under *Tracking*, select [**Event Types**](https://app.impact.com/secure/advertiser/tracking-settings/actiontracker/view-actiontracker-flow.ihtml).
4. Find the event type with a Type of "Impact FTP".
5. Hover your cursor over the row of the FTP event type, select ![](https://res.cloudinary.com/product-enablement/image/upload/v1768910844/Accessibility%20Icons/More_vNext.svg) **\[More] → View / Edit**.
6. Select the **View IR FTP Credentials** button in the upper-right of the screen to access your credentials.
   * Alternatively, you can select the pencil icon on the far right of the *Tracking Method* row.
   * Under *Upload file to system FTP Server*, select **Email FTP Username and Password**.
   * Any account user with the *Admin* or *Implementation Specialist* roles or with the *Technical Settings* permission should receive an email with the FTP credentials.
7. Use an FTP client to **connect to the impact.com FTP server** with the following data:

   | **Server** | `ftp://batch.impact.com` |
   | ---------- | ------------------------ |
   | **Port**   | `21`                     |
8. Once connected, upload your file to the **current directory**. You won't be able to see files within the directory.
9. After at least 30 minutes have passed, go to the impact.com platform and from the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] → Settings**.
10. In the left column, go to the *Technical* section and select [**File Submissions**](https://app.impact.com/secure/advertiser/accountSettings/techintegration/ftp-file-submissions-flow.ihtml).
11. On the *FTP File Submissions* screen, you should see your file upload in the list.

{% hint style="info" %}
**Tip:** impact.com recommends splitting FTP files to keep the maximum entries per file under 10000.
{% endhint %}

### Email

{% hint style="success" %}
**Note:** You'll need the assigned impact.com email address, which is available in your *Tech Plan* document.
{% endhint %}

1. In the *To* field, input the **unique impact.com email address** assigned to your account. Do not include any other emails — impact.com only looks at the first email address.
2. Upload your .CSV file as a file attachment to the email.
3. Send the email.
4. After at least 30 minutes has passed, go to the impact.com platform and from the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] → Settings.**
5. In the left column, go to the *Technical* section and select [**File Submissions**](https://app.impact.com/secure/advertiser/accountSettings/techintegration/ftp-file-submissions-flow.ihtml).
6. On the *FTP File Submissions* screen, you should see your file upload in the list.

### Partner FTP

{% hint style="success" %}
**Note:** You'll need to provide impact.com with login credentials for your FTP server.
{% endhint %}

1. From the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] → Settings**.
2. In the right column, go to the *Tracking* section and select [**Event Types**](https://app.impact.com/secure/advertiser/tracking-settings/actiontracker/view-actiontracker-flow.ihtml).

<div data-with-frame="true"><figure><img src="/files/KXSGSCILgTYk0AQdFsYL" alt=""><figcaption></figcaption></figure></div>

3. Next to the *Tracking* line item, confirm that you've provided a valid **Server URL**, **Username**, **Password**, **Port**, and **Directory**.
4. Place your .CSV file in the specified directory. impact.com will pull this file from your FTP server within 24 hours.
5. After at least 24 hours has passed, go to the impact.com platform and from the top navigation bar, select ![](/files/UDyrrRTGbHJFFllCZxyw) **\[User profile] → Settings**.
6. In the left column, go to the *Technical* section and select [**File Submissions**](https://app.impact.com/secure/advertiser/accountSettings/techintegration/ftp-file-submissions-flow.ihtml).
7. On the *FTP File Submissions* screen, you should see your file upload in the list.

### End-to-End Testing

Once the impact.com app is fully installed, you can begin end-to-end testing to ensure everything is working properly. Learn how to proceed with [End-to-End Testing](/integration-guides/end-to-end-tests.md).


---

# 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://integrations.impact.com/integration-guides/for-brands/tracking-integrations/ftp-online-sale/implementation.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.
