Migrating from Tapfiliate
Move your Tapfiliate affiliate roster onto Rekomi. Self-serve CSV import preserves every existing referral code so ?ref= links keep working, with the gotcha that Tapfiliate emails the export rather than offering a direct download.
This guide is for brands switching from Tapfiliate to Rekomi. The self-serve importer reads Tapfiliate's standard CSV export, dedupes by email, preserves every referral_code so existing brand.com/?ref=alex links keep working, and optionally fires a personal sign-in invite to each imported affiliate.
The only thing different about a Tapfiliate migration vs. the others: Tapfiliate emails you the CSV instead of streaming a download. Plan for an extra round-trip.
Migration is available on Starter or higher; auto-notify requires Growth or higher.
What the importer brings across
| Field | Source column | Notes |
|---|---|---|
email or Email | Required. Lowercased + trimmed. Primary dedup key. | |
| First name | firstname or first_name (or Firstname) | Joined with last name into the full name. |
| Last name | lastname or last_name (or Lastname) | Joined with first name. |
| Status | program_approved | Boolean column; mapping below. |
| Tracking slug | referral_code (primary) or ref_code (fallback) | Tapfiliate stores the slug directly; no URL parsing needed. |
The importer is case-insensitive on every column header, so Tapfiliate's "Firstname" works as well as "first_name". Any column the importer doesn't recognize (e.g. affiliate_id, signed_up_at, signup_source, company, country) is silently ignored.
Status mapping
Tapfiliate stores affiliate state as a single boolean: program_approved. The mapping is straightforward:
Tapfiliate program_approved | Rekomi |
|---|---|
true / 1 / yes / active / approved | Approved |
false / blank / missing | Pending |
The match is case-insensitive. There are only two outcomes - Tapfiliate's CSV cannot distinguish rejected from pending, or archived from active. See the "archived affiliates" gotcha below.
How slug preservation works
Tapfiliate's tracking URL is brand.com/?ref={referral_code}. Rekomi's tracking URL is brand.com/?ref={slug} once you add ref to your attribution params (it is not one of the 16 defaults but is a common alias).
The importer reads referral_code from every row and tries to register it as the affiliate's new Rekomi slug. Preservation succeeds when:
referral_codeis a valid alias: 3-64 characters, alphanumeric plus hyphen, no leading or trailing hyphen.- The slug is not already taken globally.
Tapfiliate auto-generates short alphanumeric referral codes by default, which means almost every code is well-formed and rarely collides. Brands that customize codes to recognizable names (alex, growth2024, etc.) get a slightly higher collision rate but the importer logs every fallback in the job result panel.
If referral_code is missing on a row (rare), the importer falls back to ref_code. If both are missing, a fresh 12-character random slug is generated; the affiliate's existing Tapfiliate link breaks.
Step-by-step cutover
1. Add ref to your attribution params
Open /dashboard/settings/attribution and add ref to your custom list if it isn't there yet. Rekomi's 16 default params do not include ref (because via is more common), so this step is required for Tapfiliate migrations.
2. Export from Tapfiliate
In Tapfiliate, open Affiliates and click Select All (or select the rows you want). Click Export. Tapfiliate does NOT give you a direct download - instead, it emails the CSV to your account owner's address. This is unique to Tapfiliate and is the most common point of confusion in this migration.
Wait for the email (usually a minute or two), save the attached file locally, and proceed to the next step.
3. Upload the CSV
Open /dashboard/settings/migrate. Pick Tapfiliate as the source, select your destination Rekomi campaign, and upload the CSV.
4. Reclassify archived affiliates (if applicable)
Tapfiliate's CSV does NOT include archived affiliates at all, and even for non-archived rows the only state you get is the program_approved boolean. If you had affiliates in Tapfiliate's "rejected" or "blocked" buckets, they either:
- Won't appear in the CSV at all (Tapfiliate excludes them), in which case there is nothing to do - they're not migrated.
- Will appear as Pending in Rekomi (boolean blank/false) and you can mark them Rejected via the bulk-status action in
/dashboard/affiliates.
If you specifically need archived affiliates in your Rekomi org, contact support; the white-glove path can reconstruct them from raw Tapfiliate data.
5. Opt into auto-notify (Growth+ only)
Same flow as every other migration: check Notify affiliates after import, compose a personal note, fire a sample to yourself, then let the bulk dispatch run at 1 email/sec.
6. Swap the tracking snippet
Install Rekomi's tracking snippet, remove Tapfiliate's snippet. Every existing brand.com/?ref=alex link starts attributing to Rekomi from the moment the swap is live.
What is NOT imported
| Data | Status | Workaround |
|---|---|---|
| Archived affiliates | Excluded by Tapfiliate's CSV | White-glove migration can reconstruct them from raw data. |
| Custom fields | Silently ignored | Contact support if you need specific fields preserved. |
| Historical clicks | Not portable | First-party cookie data is platform-specific. |
| Historical conversions and commissions | Self-serve (Step 2) | Import them via the conversions/commissions CSV under Settings, Migrate, Step 2. See Importing history and earnings. |
| Tapfiliate program structure | Not imported | Set up Rekomi campaigns first; map at upload time. |
| Tapfiliate auto-approval rules | Not imported | Configure them in Rekomi via recruit affiliates workflows. |
Common gotchas
The "Export" button looks broken - nothing downloads. That's expected. Tapfiliate emails the CSV. Check the inbox of your Tapfiliate account owner.
Some affiliates were marked archived in Tapfiliate but not in my CSV. Archived affiliates are excluded from Tapfiliate's export by design. They are not migrated. If you need them, contact support.
The program_approved column is missing on some rows. They default to Pending. Bulk-approve them post-import via /dashboard/affiliates if appropriate.
My affiliates' referral codes have special characters. Tapfiliate allows hyphens in referral codes which Rekomi accepts. Underscores, slashes, dots, or other punctuation cause the slug to fail validation, and the affiliate gets a fresh random slug instead. The job detail panel lists which slugs fell back.
Verifying the import landed clean
After the job completes:
- Open
/dashboard/affiliatesand spot-check 3-5 rows for name + email match. - Spot-check one affiliate's tracking link: confirm it's
brand.com/?ref={referral_code}matching their Tapfiliate value. - Send a sample notification to yourself; confirm the Claim your account button pre-fills correctly.
- Click your own test link with the new snippet live; confirm a click row appears within seconds.
Then fire the bulk auto-notify and cancel Tapfiliate when comfortable.
Importing history and earnings
To bring over each affiliate's past performance, export your conversions / commissions CSV from Tapfiliate (emailed, like the affiliate export) and upload it under Settings, Migrate, Step 2 (separate from the affiliate roster above).
- Past conversions and commissions are matched to the affiliate by email (or preserved slug) and recorded with the amount and date from your export.
- Commissions Tapfiliate already paid import as locked history (shown in lifetime totals, never paid again). Commissions still owed are queued for a Rekomi payout only if you authorize it on the preview screen.
- If your export includes a customer's Stripe customer/subscription id and your Stripe is connected, existing subscriptions keep paying the same affiliate on renewals.
- A dry-run preview shows what will import (and exactly how much, if anything, Rekomi would pay) before you commit. Re-running is safe. Disapproved and refunded rows are skipped.
See the migrations overview for the full reference.
Where to go next
- Tracking and attribution: full reference for
refand other attribution params. - Migrating from other platforms: URL-preservation matrix across all sources.
- vs Tapfiliate: side-by-side comparison if you are still evaluating.
Migrating from Rewardful
Move your Rewardful affiliate roster onto Rekomi in an afternoon. Self-serve CSV import preserves every existing ?via= link, auto-notify rolls out fresh sign-in invites, and the 5-step cutover keeps active affiliates uninterrupted.
Migrating from FirstPromoter
Move your FirstPromoter affiliate roster onto Rekomi. The self-serve importer handles both v1 (status / cust_ref) and v2 (state / ref_id) export formats, preserves every existing ?fpr= link, and notifies your promoters with a one-click claim invite.