> ## 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 another platform

> Import your affiliates, their referral codes, coupon codes, and unpaid balances from FirstPromoter, Rewardful, Tolt, and other affiliate platforms.

Moving an affiliate programme is mostly one job: getting your affiliates here with the links
they've already shared still working. TrackRev does that from a CSV export of your current
platform — no API keys, no re-onboarding your partners.

<Card title="Settings → Migration" icon="arrow-right-arrow-left" href="https://app.trackrev.io/affiliates/settings/migration">
  The import lives under **Settings → Migration** in either dashboard.
</Card>

## What comes across

| Data                                   | Imported | Notes                                                                      |
| -------------------------------------- | -------- | -------------------------------------------------------------------------- |
| Affiliates (name, email)               | ✅        | Email is the identity — it's the only required column                      |
| Referral codes                         | ✅        | Re-used as their TrackRev link slug when the slug is still free            |
| Coupon codes                           | ✅        | Both their attribution coupon and their referee discount code              |
| Approval status                        | ✅        | Approved stays approved, pending stays pending                             |
| PayPal / payout email                  | ✅        | Saved on the partner for payout runs                                       |
| Country and join date                  | ✅        | Join date preserves how long they've been with you                         |
| Lifetime clicks, leads, sales, revenue | ✅        | Carried as opening balances on their card                                  |
| Unpaid balance                         | ✅        | Written as one carried-over commission, ready for your next payout         |
| Historical individual orders           | ✗        | Sales history stays in your old tool — TrackRev's ledger starts at go-live |

<Note>
  Opening balances are historical context, not attribution. TrackRev recomputes commissions from
  your own charges, so everything **after** the import is calculated from real revenue.
</Note>

## Before you import

<Steps>
  <Step title="Connect your revenue">
    TrackRev commissions come from actual charges, so
    [connect your payment processor](/revenue-attribution/connect-stripe) first.
  </Step>

  <Step title="Re-create your terms">
    In [Create a programme](/affiliate/create-program), match your existing commission type, rate,
    recurring policy, and **cookie window**. Affiliates you import join this campaign.
  </Step>

  <Step title="Set up groups (optional)">
    If your old platform had tiers with different rates, create matching
    [groups](/affiliate/commissions) first — the import can drop everyone into one.
  </Step>
</Steps>

## Run the import

<Steps>
  <Step title="Export from your current platform">
    Pick your platform in the **Migration** list to see exactly where its export lives.
  </Step>

  <Step title="Upload the CSV">
    Drop the file in as-is. Up to 1,000 affiliates per file — split larger programmes and run the
    import twice.
  </Step>

  <Step title="Check the column mapping">
    TrackRev auto-detects the columns from the platform you chose. Anything it got wrong (or
    couldn't find) you re-point yourself from a dropdown, and the preview updates live.
  </Step>

  <Step title="Choose what to bring across">
    Four switches: keep referral codes, keep coupon codes, carry unpaid balances, and approve
    everyone on import.
  </Step>

  <Step title="Confirm">
    The preview shows every row, including the ones that will be skipped and why. Import writes
    the affiliates, their referral links, and any carried balances in one go.
  </Step>
</Steps>

## Keeping existing links working

Your affiliates have already shared links. Two things preserve them:

1. **Keep their referral codes.** The import re-uses each affiliate's old code as their TrackRev
   link slug, so `sarah` stays `sarah`. If a code is already taken in your workspace, that
   affiliate gets a fresh link and the import tells you which ones.
2. **Repoint the domain.** Once you've imported, point the domain (or subdomain) your old links
   used at TrackRev — see [Custom domains](/link-tracking/custom-domains).

A code that can't be reused never fails the affiliate: they import with a new link, and you'll see
the change listed on the results screen.

## Re-running an import

Imports are safe to re-run. An affiliate who's already on the campaign is **skipped**, never
overwritten — so a second upload of a slightly newer export adds the new people without touching
live coupon codes or balances on the existing ones.

## Per-platform guides

<CardGroup cols={2}>
  <Card title="FirstPromoter" icon="arrow-right" href="/affiliate/migration/firstpromoter" />

  <Card title="Rewardful" icon="arrow-right" href="/affiliate/migration/rewardful" />

  <Card title="Tolt" icon="arrow-right" href="/affiliate/migration/tolt" />

  <Card title="Any other platform" icon="arrow-right" href="/affiliate/migration/other-platforms" />

  <Card title="We'll do it for you" icon="life-ring" href="/affiliate/migration/assisted" />
</CardGroup>

## After the import

<Steps>
  <Step title="Tell your affiliates">
    They sign in to the [partner portal](/affiliate/partner-portal) with the same email — no
    password to set up front. Use [messaging](/affiliate/messaging-and-email-kits) to send the
    portal link to everyone at once.
  </Step>

  <Step title="Check carried balances">
    Carried-over balances appear as **manual** commissions in your next
    [payout run](/affiliate/payouts). Review them before you approve the batch.
  </Step>

  <Step title="Collect tax forms">
    [Tax forms](/affiliate/tax-forms) don't transfer between platforms — affiliates fill theirs in
    from the portal.
  </Step>

  <Step title="Cut over">
    Keep the old tool read-only for a short window to reconcile in-flight referrals, then repoint
    your signup link and switch off its tracking script.
  </Step>
</Steps>
