1. Home
  2. Blog
  3. Marketing
  4. How to Add UTM Parameters for Instagram ...
Marketing

How to Add UTM Parameters for Instagram Bio & Stories

Confused about UTM parameters for Instagram? This guide shows exactly what to add for your bio link, stories, reels, and ads - with real examples.

How to Add UTM Parameters for Instagram Bio & Stories
Copied!

If you've never set up UTM parameters for Instagram before, here's where it usually goes wrong: open your Instagram profile right now and look at your bio link. Chances are it's been the same link for weeks. Maybe months. You post a story on Monday and tell people to "check the link in bio." You post again on Wednesday and say the exact same thing. A reel goes up on Friday, same line again. If you want the basics on what these tracking tags actually are before going further, our complete guide to UTM parameters covers that from scratch.

Here's the question almost nobody asks: when someone clicks that link, how do you know which post sent them?

You don't. Not unless you've set things up differently. As far as Google Analytics is concerned, every single one of those clicks looks identical. They all just say "Instagram." Your Monday story, your Wednesday post, your Friday reel, even your paid ad - all lumped into one number with zero detail.

That's not a small gap. For most people who post regularly, Instagram is their biggest source of traffic - and also their blurriest. You're doing all this work, posting consistently, showing up every day, and you genuinely have no idea which of it is working.

The fix is simpler than it sounds. You're going to give every single thing you post its own tiny tracking tag, so each one tells its own story in your analytics instead of disappearing into one big "Instagram" blob.

Let's go through it piece by piece - bio, story, post, reel, and ad - with real examples for each.


Why "One Link in Your Bio" Is Costing You Information

Let's make this concrete with numbers, because that's where it actually clicks.

Right now, your monthly report probably looks something like this:

Instagram sent 450 visitors this month.

That's it. One number. No idea where inside Instagram those people came from.

Now here's what the same month looks like once you start tagging things separately:

Your bio link sent 310 visitors. A Tuesday story sent 90. One specific reel sent 50 - and that reel converted at three times the rate of everything else combined.

Same 450 people. Completely different amount of useful information. The second version tells you something you can actually act on: that reel worked unusually well, so maybe you make more content like it. The first version tells you nothing except "Instagram exists."

This is the entire point of what we're about to do. Not more work - just smarter tagging on the work you're already doing.


A Quick Refresher Before We Start

Every UTM link has three core pieces:

  • Source - where the click came from (in this case, always instagram)
  • Medium - what type of placement it was (bio, story, post, reel, or paid ad)
  • Campaign - your own label for what this specific thing was about

If source and medium still feel mixed up to you, it's worth reading our breakdown of utm_source vs utm_medium vs utm_campaign first - this post assumes you've got that part down and want to apply it specifically to Instagram.

The trick for Instagram specifically: your source stays the same (instagram) almost everywhere. What changes - and what does all the real work - is the medium. That's how you separate a bio click from a story click from an ad click, even though they're all technically "Instagram."


Your Bio Link - The Most-Used, Least-Tracked Link You Have

Let's start here because it's the one link everyone already has and almost nobody tags properly.

What to use:

utm_source=instagram
utm_medium=bio
utm_campaign=link_in_bio

Notice the medium is bio, not social. That one word is what separates your bio clicks from your story clicks and your post clicks later. Without it, everything just says "instagram / social" and you're back to one blurry number.

A real example. Say you run a small skincare shop. Your bio link points to your bestsellers page. Someone finds your profile through a friend's tag, taps through your highlights, then taps your bio link. That visit gets tagged instagram / bio / link_in_bio. A month from now, you can look in Google Analytics and see exactly how many people are arriving this way - purely from browsing your profile, with no specific post pulling them in.

One practical habit worth building: since your bio link sits there for weeks at a time, update the campaign name monthly - something like link_in_bio_june2026. That way, instead of one giant lifetime number, you get a month-by-month trend. You'll notice if your bio link traffic is growing, shrinking, or staying flat, which tells you something about how your overall profile is performing, separate from any single post.

Make it tool-easy: ToolNexIn's UTM Builder has an Instagram quick-start template that pre-fills the source for you - you just adjust the medium and campaign name and copy the result. Takes about 20 seconds.

One more thing - your bio link is public. Anyone visiting your profile sees it. A full UTM link with all those extra characters looks cluttered next to your handle. Run it through the URL Shortener before putting it in your bio. You'll get something clean and short, while the tracking underneath stays completely intact.


Stories - Where Most of the Missed Data Actually Lives

If you post stories regularly, this is the section that'll change the most about how you work.

Every time you add a link sticker to a story, you have a choice: reuse the same old link, or generate a fresh one with a campaign name tied to that specific story. Always pick the second option. It costs you maybe 15 extra seconds, and it's where almost all the useful insight comes from.

Monday's story about new arrivals:

utm_source=instagram
utm_medium=story
utm_campaign=new_arrivals_jun16

Wednesday's story about a discount code:

utm_source=instagram
utm_medium=story
utm_campaign=discount_code_jun18

See what's happening - same source, same medium, but a different campaign name each time. That campaign name is doing all the work of telling these two stories apart later.

Here's why this matters in practice. Say you post 15 stories over a month - some showing products, some behind-the-scenes, some announcements, some discount codes. After a few weeks of tagging each one individually, you open Google Analytics and you can literally rank your stories by how many people clicked through. You'll probably notice patterns you didn't expect - maybe behind-the-scenes content drives way more clicks than you assumed, or your discount stories barely move the needle compared to product showcases.

That's something almost no one ever sees about their own content. Most people post on instinct and never circle back to check what actually worked. This is how you stop guessing.

Don't overthink the naming. You don't need anything fancy - just the topic plus the date is enough: discount_code_jun18, bts_studio_jun20, new_drop_jun22. Keep it simple and consistent, and you'll thank yourself later when you're scrolling through a list of campaign names that actually make sense.

Reuse the workflow, not the link. ToolNexIn's UTM Builder auto-saves your last 20 links in your browser, so if you're using a similar story format often, you can pull up a recent one, tweak just the campaign name, and copy it again - instead of typing the whole thing from scratch every time.


Feed Posts and Reels - Same Idea, One Word Changes

Posts and reels work exactly the same way as stories. The only thing that changes is the medium value, so you can tell them apart later.

Feed post:  utm_medium=post
Reel:       utm_medium=reel

A scenario worth knowing about: say one of your reels does unexpectedly well - way more views than usual, people sharing it, the whole thing takes off. A few days later you notice your website traffic spiked too, but you're not totally sure why. If that reel's bio-link mention or caption was tagged with medium=reel and a specific campaign name (reel_tutorial_jun19, for example), you'd be able to look at GA4 and see, with certainty, exactly how much of that traffic spike came directly from that one piece of content. That's the difference between "I think the reel helped" and "the reel sent 312 visitors, and 40 of them bought something."

One Instagram quirk worth mentioning: regular feed post captions don't support clickable links. So in practice, posts usually drive people to your (tagged) bio link, or you mention "link in bio" in the caption. If you want the post itself to be trackable separately from your default bio link, the easy move is to temporarily swap your bio link to a post-specific UTM link right when that post goes up, then swap back. It's a small bit of extra effort, but it's exactly how creators figure out which individual posts are actually converting.


Instagram Ads - Getting Data That Actually Tells You Something

This part matters most if you're spending real money on Instagram ads, because right now you're probably only seeing half the picture.

Meta Ads Manager will happily show you clicks, reach, and cost per click. What it won't show you is what happened after someone landed on your website - did they browse around? Add something to cart? Leave immediately? That part lives in Google Analytics, and UTM tags are what connect the two.

What to use:

utm_source=instagram
utm_medium=cpc
utm_campaign=summer_sale_ad_2026
utm_content=carousel_v1

Notice the medium here is cpc, not social. This one change is what separates your paid Instagram traffic from your organic Instagram traffic in every report you'll ever pull. Skip this, and your ad spend's performance gets mixed in with your free, organic content - making it basically impossible to know if the money you're spending is actually doing anything.

Here's where utm_content earns its place. Say you're testing two ad creatives for the same sale - one's a carousel, one's a single image - both pointing to the same landing page. Give each one a different utm_content value (carousel_v1 vs single_image_v1). Now you're not just seeing which one got more clicks - you're seeing which one actually got people to buy. That distinction is worth a lot more than raw click counts.

A practical note: Instagram ads run through Meta Ads Manager, the same system Facebook ads use. ToolNexIn's UTM Builder has a Facebook Ad template that works just as well here - pick that one, swap the source to instagram if your ad is running specifically there, and you're set.


Putting It All Together - What One Real Week Looks Like

Here's how all of this fits together across a normal week of posting, so you can see it as a whole instead of five separate ideas.

Day What you posted utm_medium utm_campaign
Monday Story - new arrivals story new_arrivals_jun16
Tuesday Bio link (unchanged all month) bio link_in_bio_june2026
Wednesday Feed post post midweek_post_jun18
Thursday Reel reel reel_tutorial_jun19
Friday Paid ad cpc weekend_sale_ad

By Sunday, you've got a genuinely complete, comparable dataset across everything you posted that week. Not a vague sense of "Instagram is going okay" - actual numbers for actual content, sitting side by side, ready to compare.

The extra effort across the whole week? Maybe 10 minutes total. Less time than it takes to write one caption.


The Real Shift Here

Most people only ever track their ads, if they track anything at all. Organic content - the stories, the posts, the reels you put real time into - usually just gets posted and forgotten, with no real sense of what it actually did for the business.

Tracking your organic Instagram activity with the same care you'd give a paid ad is what separates a content strategy built on guessing from one built on actual evidence. You stop wondering whether stories work. You stop assuming reels are "probably good for engagement." You just look, and you know.

Start with whatever you're posting next - a story, a bio link update, a reel caption. Open the UTM Builder, use the Instagram template, swap in your medium and campaign name, and share that link instead of the plain one.

Do that consistently for a month, and you'll have a clearer picture of your own Instagram presence than most people ever bother to get.


Tools Used in This Post

All free, no sign-up:

  • UTM Builder - includes a ready-made Instagram template, plus auto-saved link history
  • URL Shortener - clean up your bio link without losing any tracking

New to UTM tracking altogether? Start with our complete guide to UTM parameters. Want to see this same approach applied across email, ads, and offline flyers too? Read how a small business owner tracks 5 campaigns without paying for any tool.

Enjoyed this guide?

Get weekly articles on tools, SEO tricks, and developer insights — directly to your inbox. No spam ever.

More from Marketing