Changelog: bulk link creation and CSV import

Stop creating links one at a time. Upload a CSV and generate hundreds of tracked short links in seconds — UTM params and all.

Shortifi.me Mar 10, 2026 2 min read

CSV rows transforming into short links with UTM parameters

What shipped

Starting today you can upload a CSV file and create up to 1,000 short links in a single operation. Every row maps to one link. The whole thing runs in the background, and you get a summary email when it’s done.

This was the number-one requested feature from teams running multi-channel campaigns. Before this, creating 200 links for a product launch meant 200 separate form submissions. No one was doing that. People were hacking around it with copy-paste into random shorteners that had zero UTM support. That ends now.

How the CSV format works

The importer accepts a header row followed by data rows. Required columns:

  • target_url — the destination
  • campaign — must match an existing campaign slug in your workspace

Optional columns that map directly to UTM fields:

  • utm_source
  • utm_medium
  • utm_content
  • utm_term
  • custom_alias — if you want a specific short code instead of an auto-generated one

Validation before anything runs

Before we create a single link, we parse the entire file and surface every error upfront. You’ll see a table listing row number, column, and what went wrong — typos in campaign names, malformed URLs, alias conflicts. Fix the file, re-upload, done. We don’t partially create links and leave you guessing which ones went through.

What happens to duplicates

If a row’s target_url + UTM combination already exists in your workspace, we skip it and tell you rather than creating a duplicate. This makes re-running a corrected file safe.

Workspace vocabulary enforcement

One thing we’re proud of here: the importer enforces your workspace’s source/medium/content/term vocabularies. If you’ve defined email and paid-social as valid mediums, a row with medium=newsletter will fail validation with a clear message. This keeps your analytics clean even when you’re moving fast with bulk imports.

If you want to allow new vocabulary entries during import, there’s a checkbox: “Auto-create missing vocabulary entries.” Off by default. Turn it on when you’re seeding a new workspace, leave it off for ongoing campaigns where typos cost you.

Performance

1,000 links import in under 10 seconds on average. The job runs async — you don’t sit on a loading screen. You get a toast notification in the app and an email summary with a breakdown: created, skipped, failed.

How to use it

Go to Links → Import in your workspace. Download the CSV template if you want a starting point. Upload your file, review the validation report, confirm. That’s it.

We’ll be shipping an API endpoint for CSV import in a future release for teams that want to automate this from their own tooling.

Run the work behind the click.

Start free. No credit card. One workspace included.

Start free