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

# Migrate from any other platform

> Import affiliates from Tapfiliate, Dub, LeadDyno, Refersion, Partnero, Trackdesk, Reditus, UpPromote, GrowSurf — or any CSV at all.

The importer isn't limited to the platforms listed by name. Any CSV with an email column can be
imported — you map the columns yourself in the preview step, and the mapping updates the preview
live so you can see you've got it right before anything is written.

Presets exist for **Tapfiliate**, **Dub**, **LeadDyno**, **Refersion**, **Partnero**,
**Trackdesk**, **Reditus**, **UpPromote**, and **GrowSurf**. For anything else, choose
**Any other platform**.

## The only required column

**Email.** Everything else is optional — an affiliate with just an email imports fine and gets a
generated referral link.

## Columns you can map

| Field                         | What it does                                                                        |
| ----------------------------- | ----------------------------------------------------------------------------------- |
| Email                         | The affiliate's identity. Required                                                  |
| Name (or First + Last name)   | Display name. Falls back to the email handle                                        |
| Tracking parameter            | Their old referral code — re-used as their TrackRev link slug                       |
| Coupon code                   | Sales using this code credit the affiliate                                          |
| Referee code                  | The discount code they share with their audience                                    |
| Status                        | `active`/`approved` → approved, `pending` → pending, `rejected`/`banned` → rejected |
| PayPal email                  | Saved on the partner for payouts                                                    |
| Country                       | Two-letter code                                                                     |
| Their ID                      | The affiliate's id on the old platform — makes re-running the file safe             |
| Joined date                   | Preserves how long they've been a partner                                           |
| Clicks, leads, sales, revenue | Opening balances shown on their card                                                |
| Unpaid earnings               | Written as a carried-over commission for your next payout                           |

## File format

* **CSV**, up to 1,000 rows and 900 KB per file. Split larger programmes and import twice.
* Comma, semicolon, or tab separated — the delimiter is detected from the header row.
* Quoted fields, escaped quotes, and newlines inside quotes are all handled, so an export with a
  multi-line address column won't shift your columns.
* Amounts can carry currency symbols and either decimal convention: `$1,234.56` and `1.234,56`
  both read as 1234.56.

<Tip>
  Not sure what your export looks like? Upload it anyway. Nothing is written until you confirm the
  preview, and the preview names every row that would be skipped and why.
</Tip>

## Download a template

The **CSV format requirements** panel in **Settings → Migration** has a **Download template CSV**
link. Its header row is:

```
email,name,tracking_parameter,coupon,status,paypal_email,country,unpaid_earnings,clicks,sales,revenue,created_at
```

Use it as-is if you're building the file by hand — every column is auto-detected.

## Rows the importer skips

| Reason                                 | What to do                                                           |
| -------------------------------------- | -------------------------------------------------------------------- |
| No email, or an email that isn't valid | Fix the row and re-upload — re-runs skip anyone already imported     |
| The same email twice in one file       | The first row wins; merge the duplicates in your export              |
| Already an affiliate on this campaign  | Nothing — they're already here, and the import leaves them untouched |

Codes that clash (a referral slug already in use, a coupon already assigned) never skip the row.
The affiliate imports, the clashing value is dropped, and the change is listed on the results
screen.

<Card title="Back to the migration overview" icon="arrow-left" href="/affiliate/migration/overview">
  The full before/after checklist for moving a programme.
</Card>
