# Short URL + UTM + QR Bundle Builder

One pass replaces bit.ly + Campaign URL Builder + QR generator: GA4-validated UTM parameters, a deterministic self-hosted short link (FNV-1a base62 slug), QR pair, redirect snippets and a tracking CSV row.

> Canonical page: https://elysiatools.com/en/tools/short-url-utm-builder-qr-bundle

- **Category:** Utilities

- **Keywords:** utm, short link, qr code, campaign url builder, ga4, self-hosted shortener

## Overview

GA4 requires utm_source/utm_medium/utm_campaign (enforced); utm_content distinguishes link variants, utm_term keywords, utm_id joins GA4 data imports; lowercase+hyphen is the reporting-safe convention (Campaign and campaign count separately). Pre-existing utm_* on the destination are stripped. The short link is self-hosted: slug = 7-char base62 derived deterministically from the FNV-1a hash of the full URL — same inputs always yield the same slug, no API or account; custom slugs are sanitized to [A-Za-z0-9_-]. QRs render via the qrcode package at L/M/Q/H error correction; the short QR points at a 302 that keeps every UTM dimension because they are baked into the destination.

## Inputs

- **Destination URL** (text): example.com/pricing
- **UTM source (utm_source)** (text): newsletter, twitter, podcast
- **UTM medium (utm_medium)** (text): email, social, cpc
- **UTM campaign (utm_campaign)** (text): spring-launch-2026
- **UTM content (utm_content, optional)** (text): hero-cta vs footer-link
- **UTM term (utm_term, optional)** (text): project+management+tool
- **Campaign ID (utm_id, GA4, optional)** (text): 1001
- **Force lowercase UTM values** (checkbox)
- **Short-link domain** (text): go.yourdomain.com
- **Custom slug (empty = auto)** (text): spring26 (leave empty for auto base62)
- **QR error correction** (select)
- **QR size (px)** (number)

## When to use

- When a newsletter, social, or paid campaign needs a single GA4-valid link that reports source, medium, and campaign cleanly.
- When you want a reproducible short URL on your own domain without a third-party shortener account or API.
- When print or offline assets need a QR that still carries every UTM dimension after a 302 redirect.

## How it works

- Enter the destination URL and the required utm_source, utm_medium, and utm_campaign values. Optional utm_content, utm_term, and utm_id can be added; any pre-existing utm_* parameters on the destination are stripped.
- Optionally force lowercase UTM values (the reporting-safe convention), set your short-link domain, and leave the slug empty for a deterministic 7-character base62 slug derived from the FNV-1a hash of the full URL, or supply a custom slug that is sanitized to letters, numbers, underscore, and hyphen.
- Choose QR error-correction level (L, M, Q, or H) and size in pixels. The result includes the full tracked URL, the short link, a QR pair (short and long), nginx/Vercel/Netlify redirect snippets, and a CSV tracking row.

## Use cases

- Newsletter and email CTAs that need a short tracked link plus a QR for a printed insert.
- Social or paid ads that require consistent lowercase UTM naming and a branded short domain.
- Webinar or event links that join GA4 data imports via utm_id and need high-ECC QRs for print.

## Frequently asked questions

### Which UTM parameters are required?

GA4 requires utm_source, utm_medium, and utm_campaign. utm_content, utm_term, and utm_id are optional.

### How is the short slug created?

An empty custom slug produces a 7-character base62 slug from the FNV-1a hash of the full tracked URL, so the same inputs always yield the same slug. Custom slugs are sanitized to [A-Za-z0-9_-].

### Does the short QR keep the UTM parameters?

Yes. The short QR points at a 302 redirect whose destination already contains every UTM dimension.

### What happens to UTM parameters already on the destination URL?

They are stripped so only the values you enter remain on the tracked URL.

### Can I host the short links on my own domain?

Yes. The short link is self-hosted. The output includes redirect snippets for nginx, Vercel, and Netlify so you can map the slug on your domain.

## Related tools

- [Fitness Workout PDF Generator](https://elysiatools.com/en/tools/fitness-workout-pdf-generator): Generate a printable workout-plan PDF from JSON or CSV data with exercise tables, progress boxes, and optional QR video links
- [Time Series Anomaly Detector](https://elysiatools.com/en/tools/time-series-anomaly-detector): Upload CSV or JSON time series data, detect anomalies with Z-Score and IQR methods, and return a chart-backed report
- [Train/Test Split with Stratification](https://elysiatools.com/en/tools/train-test-split-with-stratification): Class-stratified train/validation/test split or stratified k-fold for CSV/JSON datasets — seeded, reproducible, with distribution reports, leakage checks, SMOTE preview and CSV export.
- [CSV to Database Migration Planner](https://elysiatools.com/en/tools/csv-to-database-migration-planner): Infer a relational schema from CSV data and generate create-table plus ALTER migration plans for PostgreSQL, MySQL, SQLite, or SQL Server
- [JSONata Query & Transform Studio](https://elysiatools.com/en/tools/jsonata-query-transform-studio): Preview JSONata-style queries and transformations, compare results across sample payloads, and export the transformed output as JSON, CSV, YAML, or Markdown
- [Time Series Forecast & Seasonality Analyzer](https://elysiatools.com/en/tools/time-series-forecast-seasonality-analyzer): Forecast future periods from CSV or JSON time-series data and inspect trend, seasonal, and residual decomposition in one report
- [BOM Character Remover](https://elysiatools.com/en/tools/data-bom-remover): Remove BOM (Byte Order Mark) characters from text and file content. Perfect for cleaning up text files that have encoding issues, fixing CSV imports, and preparing data for processing. Features: - Detect and remove UTF-8 BOM (EF BB BF) - Detect and remove UTF-16 BOM (FE FF or FF FE) - Detect and remove UTF-32 BOM (00 00 FE FF or FF FE 00 00) - Support multiple input formats - Visual BOM character display - Detailed detection report - Support for batch text processing Common Use Cases: - Fix CSV file import errors - Clean up text file encoding issues - Prepare data for JSON parsing - Fix XML parsing problems - Resolve API data encoding conflicts - Standardize text data format
- [Markdown Table to CSV JSON with Type Inferred Schema](https://elysiatools.com/en/tools/markdown-table-to-csv-json-schema): Convert a Markdown pipe table to CSV, JSON rows or an inferred JSON Schema with alignment and null diagnostics

## Samples

- [Python Samples](https://elysiatools.com/en/samples/python): Essential Python code examples and Hello World demonstrations
- [CSV Samples](https://elysiatools.com/en/samples/csv-samples): Sample CSV files with various data types, sizes, and complexity levels
- [QR Code Samples](https://elysiatools.com/en/samples/qrcode-samples): Sample QR code images for testing QR code reading and generation tools
- [Grafana Advanced Application Samples](https://elysiatools.com/en/samples/grafana-samples): Comprehensive Grafana samples covering advanced dashboard design, alerting configurations, data source integrations, and plugin development

## Related content

- [JSON Interchange and Format Translation Tools](https://elysiatools.com/en/hubs/json-convert): Compare JSON conversion tools for CSV, YAML, TOML, GraphQL, XML, Markdown, Excel, BSON, EDN, and related structured formats in one hub.
- [CSV Export and Table Conversion Tools](https://elysiatools.com/en/hubs/csv-convert): Compare CSV to Excel, JSON, HTML, Markdown, XML, and text conversion tools in one hub for tabular export and interchange workflows.
- [JSON Inspection, Diff, and Transformation Tools](https://elysiatools.com/en/hubs/json-utility): Compare JSON formatting, diffing, path inspection, schema validation, merging, transformation, and export tools in one hub for API and data workflows.
- [JSON Schema, Mock Data, and API Fixture Generators](https://elysiatools.com/en/hubs/json-generate): Curated tools for JSON schema generation, mock payload building, and API fixture preparation in one hub.
