Import your existing links from CSV
Already have a library of affiliate links in a spreadsheet, another shortener, or a notes app? Import them all into AffProf in one shot — no need to recreate anything by hand.
This guide takes about 5 minutes and works whether you have 10 links or 1,000.
Bulk CSV import is a Pro feature. You can upgrade here anytime.
What gets imported
When you upload a CSV, AffProf creates:
- All your links with their slugs, destinations, UTM parameters, and settings
- Any products mentioned in your CSV that don't already exist in your account (matched by name)
- Any tags mentioned that don't already exist (matched by name)
You don't need to create products or tags ahead of time — AffProf handles that automatically.
Step 1: Open the import dialog
Go to Links and click Import CSV in the top-right toolbar:

You can either drag a CSV file directly into the dropzone or click to browse for one on your computer.
Step 2: Get the template (recommended)
If you don't already have a CSV ready, click Download template. It comes pre-filled with example rows so you can see exactly how each field should look.
You can also click the Fields & example tab to see the full reference for every column AffProf accepts:

Required columns
These four are mandatory for every row:
| product | Product name. Created automatically if it doesn't exist. Example: Blue Yeti Microphone |
| link | The destination affiliate URL. Example: https://www.amazon.com/dp/B002VA464S |
| slug | The short link slug (lowercase letters, numbers, and hyphens only). Example: blue-yeti-amazon |
| platform | Affiliate network or marketplace. Example: amazon |
Optional columns
Add any of these to enrich your import:
| fallback_url | Backup destination if the link breaks. Example: https://yourbrand.com/backup |
| utm_source | UTM source parameter. Example: instagram |
| utm_medium | UTM medium parameter. Example: bio |
| utm_campaign | UTM campaign parameter. Example: spring-launch |
| utm_content | UTM content parameter. Example: hero-button |
| utm_term | UTM term parameter. Example: creator-tools |
| is_enabled | Whether the link is active. Accepts true/false, yes/no, or 1/0 |
| notes | Internal note (only visible to you). Example: Best performer in Instagram bio |
| tags | Pipe-separated tag names. Created automatically if missing. Max 10 per link. Example: amazon|tech|review |
The minimum viable CSV
If you just want to get started fast, this 4-column CSV works:
product,link,slug,platform
Blue Yeti Microphone,https://www.amazon.com/dp/B002VA464S,blue-yeti-amazon,amazon
Kindle Paperwhite,https://www.amazon.com/dp/B0CFPHTMDX,kindle-paperwhite-amazon,amazon
Notion,https://affiliate.notion.so/abc123,notion-affiliate,notionYou can always edit individual links later to add UTMs, fallbacks, tags, and notes.
Step 3: Upload and preview
Once you upload your file, AffProf parses it and shows a preview of what it found:

You'll see:
- The total number of valid rows ready to import
- A preview table showing the first rows so you can spot-check the data
- Row numbers matching the original CSV (so if there are issues, you can find them in your file)
If something looks wrong (a column got misread, the wrong file was uploaded), click Replace to swap the file before importing.
Step 4: Fix any issues
If some rows don't pass validation, AffProf shows you exactly what's wrong and where:

Common issues you might see:
- Invalid URL — must start with
http://orhttps:// - Invalid slug — only lowercase letters, numbers, and hyphens are allowed (no spaces, no special characters like
#or&) - Missing required field —
product,link,slug, orplatformis empty in that row - Slug conflict — the slug already exists in your account or appears twice in the CSV
- Slug too long — max 100 characters
Two ways to handle errors:
Option A: import the valid rows now, fix the rest later
Click Import links — only the valid rows are created. The error rows are skipped, not lost. Fix them in your CSV and re-upload to add the missing ones.
Option B: fix everything first
Open your CSV, correct the rows shown in the issues panel, save it, and click Replace to upload the corrected version. Repeat until you have zero issues.
Each error message tells you the exact row number and the specific problem, so fixing them in your spreadsheet is fast.
Step 5: Confirm import
When all rows look good, click Import links. AffProf processes the whole batch and shows you a confirmation:

You'll see exactly how many links were created or updated. Close the dialog and your new links appear immediately in the Links table, ready to share, generate QR codes for, and start tracking.
How updates work
If you upload a CSV with a slug that already exists in your account, AffProf updates that link with the new values from the CSV instead of creating a duplicate. This means you can use CSV import to:
- Bulk-update destination URLs across many links (handy when an affiliate program migrates)
- Add UTM parameters to a batch of existing links
- Apply a tag to many links at once
- Update notes or fallback URLs in bulk
The match is based on the slug — anything else can be changed.
Tips for clean imports
- Keep your CSV in UTF-8 — most spreadsheet apps export this by default. If you see weird characters in product names with accents, re-save as UTF-8
- Quote fields with commas — if a product name or note contains a comma, wrap that field in double quotes:
"Notion, the all-in-one workspace" - Don't include a header row prefix — your file should start directly with the column names (
product,link,slug,...), no metadata above - Test with a small batch first — if you're importing hundreds of links, try 5-10 rows first to confirm everything maps correctly before running the full import
- Pipe character for tags, not commas — tags are separated by
|, not by,. Soamazon|tech|review, notamazon,tech,review
Limitations
- Maximum 10 tags per link — extra tags in the CSV are ignored
- Slugs must be unique within your account — duplicates in the CSV or against existing links cause errors
- CSV files only — XLSX, ODS, or other spreadsheet formats need to be exported as CSV first
What's next?
- Connect a custom domain so all your imported links use your own subdomain
- Back to Getting Started for the full walkthrough
Need help with a specific CSV that won't import? Email hello@affprof.com with your file attached and we'll take a look.