Skip to content

JanNafta/url-parameter-manager

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

7 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸ”— URL Parameter Manager

The free, open-source URL builder for marketers who work with tracking links every day.

Live Demo Deploy JavaScript Stars Forks License: MIT


πŸ‘‰ Try it now β€” no login required πŸ‘ˆ


πŸ€” What is this?

Imagine you run ads on Google, Facebook, TikTok, or mobile ad networks. Every time you launch a campaign, you need to add special tags (called parameters) to your URLs so you can track where your traffic is coming from. Doing this by hand is slow and error-prone.

URL Parameter Manager is a web app that lets you paste any URL, visually add or edit those tracking tags, pick from ready-made templates for popular platforms, generate a QR code, and copy the final link β€” all in seconds. Think of it as a Swiss Army knife for anyone who builds marketing links.


✨ Features

Feature Description
🎯 UTM Builder Add utm_source, utm_medium, utm_campaign and more with one click
πŸ“± MMP Templates Pre-built templates for AppsFlyer, Adjust, Branch, and Singular
πŸ€– DSP Templates Ready-to-use macros for Moloco, Kayzen, Smadex, AppLovin, and Appnext
πŸ”§ Macro Preservation Keeps {campaign_id}, ${CLICK_ID}, xapnt1x and other tracking macros intact β€” never URL-encodes them
πŸ“ˆ QR Code Generator Instant, customizable QR codes (7 color themes, 3 sizes) with PNG download
🌐 URL Metadata Preview Automatically fetches page title, description, and Open Graph image for any URL
πŸ’Ύ URL History Your last 20 URLs are saved locally in your browser β€” no account needed
🎨 Syntax Highlighting The generated URL is color-coded so you can spot base path vs. query parameters at a glance
πŸ”’ 100% Private Everything runs in your browser. No data is sent to any server (except the metadata preview, which calls the public Microlink API)

πŸŽ₯ How It Works

1. Paste a URL          -->  Parameters are auto-detected and shown in an editable table
2. Pick a template      -->  One-click presets for Google, Meta, TikTok, AppsFlyer, Moloco...
3. Edit values           -->  Change any parameter name or value β€” macros stay safe
4. Copy or scan          -->  Copy the final URL to clipboard, or download a QR code

🧩 Supported Platforms

Analytics & Ad Platforms
Platform Template included? Macro format
Google Ads βœ… {campaignid}, {keyword}, {gclid}
Meta (Facebook) Ads βœ… {{campaign.name}}, {{ad.name}}
TikTok Ads βœ… __CAMPAIGN_NAME__, __CLICKID__
Mobile Measurement Partners (MMPs)
MMP Template included? Key parameters
AppsFlyer βœ… pid, c, af_siteid, af_c_id, clickid
Adjust βœ… tracker, campaign, adgroup, creative
Branch Param-ready Custom deep link params
Singular Param-ready Custom attribution params
Kochava Param-ready Custom attribution params
Demand-Side Platforms (DSPs)
DSP Template included? Macro format
Moloco βœ… ${CAMPAIGN_NAME}, ${CLICK_ID}
Kayzen βœ… {campaign_name}, {CONVERSION_ID}
Smadex βœ… {CAMPAIGN_NAME}, {CLICK_ID}
Appnext βœ… xapnt1x, {apnt_campid}
AppLovin Param-ready Custom macros
Liftoff Param-ready Custom macros
Unity Ads Param-ready Custom macros
Digital Turbine Param-ready Custom macros
Mintegral Param-ready Custom macros

πŸ—οΈ Tech Stack

Layer Technology Purpose
UI Framework React 18 Component-based interface
Build Tool Vite 5 Fast dev server & optimized production builds
Styling Tailwind CSS 3 Utility-first responsive design
Icons Lucide React Clean, consistent SVG icons
QR Codes qrcode.react Client-side QR code generation
Metadata Microlink API Fetches Open Graph data for URL previews
Deployment GitHub Actions + FTP Auto-deploy on every push to main

πŸš€ Getting Started

Prerequisites

  • Node.js 18 or higher
  • npm (comes with Node.js)

Installation

# 1. Clone the repository
git clone https://github.com/JanNafta/url-parameter-manager.git
cd url-parameter-manager

# 2. Install dependencies
npm install

# 3. Start the development server
npm run dev

The app will open at http://localhost:5173.

Build for Production

npm run build

The optimized output goes to the dist/ folder, ready to deploy anywhere (static hosting, CDN, FTP, etc.).


πŸ“‚ Project Structure

url-parameter-manager/
β”œβ”€β”€ public/                  # Static assets (favicons, robots.txt, sitemap)
β”œβ”€β”€ src/
β”‚   β”œβ”€β”€ components/
β”‚   β”‚   β”œβ”€β”€ Header.jsx       # Top navigation bar with feature badges
β”‚   β”‚   β”œβ”€β”€ Footer.jsx       # CTA section + services grid
β”‚   β”‚   β”œβ”€β”€ UrlInput.jsx     # URL input field with validation & examples
β”‚   β”‚   β”œβ”€β”€ ParameterTable.jsx   # Editable table of URL parameters
β”‚   β”‚   β”œβ”€β”€ UTMTemplates.jsx     # One-click template presets (9 platforms)
β”‚   β”‚   β”œβ”€β”€ UpdatedUrl.jsx       # Generated URL display with copy button
β”‚   β”‚   β”œβ”€β”€ MetadataPreview.jsx  # OG metadata + favicon preview
β”‚   β”‚   β”œβ”€β”€ QRCodeGenerator.jsx  # QR code with color/size options
β”‚   β”‚   β”œβ”€β”€ URLHistory.jsx       # LocalStorage-based URL history
β”‚   β”‚   └── index.js             # Barrel exports
β”‚   β”œβ”€β”€ hooks/
β”‚   β”‚   └── useDebounce.js   # Debounce hook (avoids API spam)
β”‚   β”œβ”€β”€ utils/
β”‚   β”‚   └── urlUtils.js      # URL parsing, macro preservation, encoding
β”‚   β”œβ”€β”€ App.jsx              # Main application component
β”‚   β”œβ”€β”€ main.jsx             # React entry point
β”‚   └── index.css            # Global styles + animations
β”œβ”€β”€ index.html               # HTML entry point with SEO meta tags & schemas
β”œβ”€β”€ vite.config.js           # Vite configuration
β”œβ”€β”€ tailwind.config.js       # Tailwind CSS configuration
β”œβ”€β”€ package.json             # Dependencies and scripts
└── deploy.sh                # Manual deployment script

🧠 How Macro Preservation Works

Most URL builders break tracking macros like {campaign_id} by URL-encoding the curly braces into %7Bcampaign_id%7D. Ad networks then cannot read them.

This tool detects and preserves six macro formats automatically:

Format Example Used by
{macro} {campaign_id} AppsFlyer, Kayzen, Smadex
${macro} ${CLICK_ID} Moloco
[macro] [timestamp] Various
%%macro%% %%CLICK_ID%% Legacy networks
@[macro] @[CLICK_ID] Custom integrations
xapntNx xapnt1x Appnext

Everything else gets properly URL-encoded. The logic lives in src/utils/urlUtils.js.


🌐 SEO & Metadata

The app includes production-grade SEO out of the box:

  • Open Graph & Twitter Card meta tags for rich link previews
  • JSON-LD structured data β€” WebApplication, Person, and FAQ schemas
  • Canonical URL, sitemap, and robots.txt
  • Accessibility: ARIA labels, focus rings, reduced-motion support, keyboard navigation

🀝 Contributing

Contributions are welcome! Feel free to open an issue or submit a pull request.

# Fork the repo, then:
git checkout -b feature/my-new-feature
# Make your changes...
git commit -m "feat: add my new feature"
git push origin feature/my-new-feature
# Open a Pull Request on GitHub

πŸ‘€ Author

Jan Naftanaila β€” Media Buyer & AI Automation Specialist

LinkedIn Email Calendly

Specializing in programmatic advertising (DSP/SSP), mobile attribution (AppsFlyer, Adjust, Branch), and user acquisition strategy for mobile apps.


πŸ“„ License

MIT License β€” free to use, modify, and distribute. See LICENSE for details.


If this tool saved you time, consider giving it a ⭐ on GitHub!

Made with ❀️ by JanNafta

About

Free professional URL parameter manager for marketing campaigns. UTM builder, AppsFlyer, Adjust, Branch support with QR code generation.

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors