Free UTM Link Generator for Instagram Campaigns
Create properly formatted UTM tracking links for your Instagram bio, stories, and campaigns.
What Are UTM Parameters?
UTM (Urchin Tracking Module) parameters are small tags appended to the end of a URL that tell your analytics platform exactly where a visitor came from, how they got there, and which campaign drove the click. They were originally developed by Urchin Software, which Google acquired to create Google Analytics, and they remain the universal standard for campaign tracking across every major analytics tool.
There are five UTM parameters, three required and two optional. Each serves a specific purpose in breaking down your traffic sources into actionable segments.
utm_source (required)
Identifies the platform or website sending the traffic. For Instagram campaigns, this is typically set to "instagram." For other channels it might be "facebook," "google," "newsletter," or the name of a specific referring website.
utm_medium (required)
Describes the marketing channel or type of traffic. Common values include "social" for organic social media posts, "paid-social" for sponsored content, "email" for newsletter links, and "cpc" for paid search.
utm_campaign (required)
Names the specific campaign or promotion. Examples include "spring-sale," "product-launch-2025," or "black-friday." This is where you label the effort so you can isolate its results in your analytics dashboard.
utm_term (optional)
Originally designed to track paid search keywords, but creators often repurpose it to tag specific topics, hashtags, or audience segments. For example, you might set utm_term to "skincare-routine" to track which content topics drive the most clicks.
utm_content (optional)
Differentiates between multiple links within the same campaign. If you are running the same promotion in your bio and in a Story, you would set utm_content to "bio-link" for one and "story-swipe" for the other. Essential for A/B testing.
Why UTM Tracking Matters for Instagram
Instagram presents a unique tracking challenge that makes UTM parameters not just useful but essential. Unlike websites where referral headers are passed automatically, Instagram traffic often appears as "direct" or "not set" in Google Analytics because the Instagram app strips referral information when users click links. This means that without UTM tags, a click from your Instagram bio, a Story swipe-up, and a DM link all look identical in your analytics — they are all lumped into the same bucket of unattributed traffic.
For creators and businesses that drive significant traffic from Instagram, this blind spot is costly. You cannot optimize what you cannot measure. If you are running a product launch and promoting it through your bio link, three Story frames, and a DM automation sequence, UTM parameters let you see exactly which touchpoint drove the most clicks, sign-ups, and sales. Without them, you are guessing — and in a world where brand deals, affiliate commissions, and product sales depend on proving ROI, guessing is not good enough.
UTM tracking also helps you demonstrate value to brand partners. When you can show a brand that your Instagram Story generated 2,400 tracked clicks to their landing page with a 4.2% conversion rate, you have a data point that justifies your rate and positions you for repeat partnerships. Creators who track their campaigns with UTMs consistently negotiate higher rates because they can prove measurable business impact.
UTM Best Practices
UTM parameters are only as useful as they are consistent. Sloppy tagging creates messy analytics that are harder to interpret than no tagging at all. Follow these best practices to keep your data clean and actionable.
Use lowercase for everything
UTM parameters are case-sensitive in most analytics platforms. "Instagram" and "instagram" will appear as two separate sources. Always use lowercase to avoid fragmenting your data. This generator automatically converts your inputs to lowercase, but if you create UTM links manually elsewhere, make this a non-negotiable rule.
Use hyphens instead of spaces or underscores
Spaces in URLs get encoded as "%20" which makes links ugly and harder to read. Underscores work technically but hyphens are the web standard and are easier to read in analytics reports. Use "spring-sale" instead of "spring_sale" or "spring sale" for clean, professional tracking links.
Be consistent with naming conventions
Decide on your naming scheme before you start and document it. If your source is "instagram" for one campaign, do not switch to "ig" or "insta" for the next. Inconsistency is the number one cause of messy UTM data. Create a simple spreadsheet or document listing your standard values for source, medium, and campaign naming patterns.
Never include personally identifiable information (PII)
Do not put email addresses, names, phone numbers, or any personal data in UTM parameters. These values appear in your analytics reports, can be stored in server logs, and may violate privacy regulations like GDPR and CCPA. Use anonymized identifiers or segment names instead.
Keep campaign names descriptive but concise
Your future self needs to understand what "q1-2025-skincare-launch" means six months from now. Avoid cryptic abbreviations like "q1sk25" that require a decoder ring. At the same time, do not make names so long they become unwieldy. Aim for three to four hyphenated words that clearly identify the campaign purpose and timing.
Where to Use UTM Links on Instagram
Instagram offers several link placement opportunities, and each one should have its own UTM-tagged URL so you can track performance independently. Here are the four key placements and how to tag each one.
Bio Link
Your bio link is the most persistent link on your profile and typically receives the most cumulative clicks over time. Tag it with utm_content set to "bio-link" so you can isolate its performance from other placements. If you use a link-in-bio tool, tag each individual destination URL separately. Update the campaign tag whenever you change the link destination.
Stories
Story link stickers are one of the highest-converting placements on Instagram because they pair a visual call-to-action with a single tap. Tag each Story link with utm_content set to something specific like "story-frame-1" or "story-swipe-march" so you can compare performance across different Story posts.
DMs (Direct Messages)
Links shared through DM automations or manual messages should always be UTM-tagged with utm_content set to "dm-auto" or "dm-manual." DM links tend to have high conversion rates because they are delivered in a one-to-one context that feels personal. If you use Zapify for DM automations, tagging each automated link with UTMs gives you precise conversion data.
Instagram Ads
Adding UTM parameters to your ad destination URLs gives you a parallel data source in Google Analytics alongside Meta Pixel tracking. Set utm_medium to "paid-social" to differentiate ad traffic from organic social traffic, and include the ad set or creative name in utm_content for granular performance tracking.
UTM Parameters Explained
Here is a detailed breakdown of each parameter with practical examples for Instagram creators and marketers.
utm_source
Identifies the traffic source. For Instagram, always use "instagram". For other platforms: "facebook", "tiktok", "newsletter". This is the broadest level of attribution and answers "where did this visitor come from?"
utm_medium
Categorizes the channel type. Use "social" for organic posts, "paid-social" for ads, "email" for newsletters, "referral" for partner links. This groups your traffic into comparable marketing channels.
utm_campaign
Names the specific promotion or effort. Examples: "spring-sale", "product-launch-march", "brand-collab-acme". Choose names that will still make sense to you months later when reviewing historical data.
utm_term
Tags keywords or topics. Originally for paid search, creators use it for content topics: "skincare-routine", "budget-travel". This helps you identify which content themes drive the most qualified traffic.
utm_content
Differentiates link placements within one campaign. Examples: "bio-link", "story-swipe", "dm-auto", "carousel-slide-3". Essential for A/B testing which placement converts best.

