Direct Answer

To see which social platform sends you visitors, give each platform its own version of your link with a small tag on the end, such as ?utm_source=instagram&utm_medium=bio. Google Analytics reads the tag and lists every platform on its own row. Below is the full setup in eight steps for nine platforms, with prompts you can paste into your own AI and the exact place each link goes.

For a long time I could tell you how many people visited my site from social media. I could not tell you which platform they came from. Instagram, TikTok and LinkedIn all landed in one pile, and a good share of it was filed under “direct,” which is analytics for “no idea.” I was spending hours a week on six platforms and guessing which ones earned it.

The fix took one afternoon and cost nothing. Every platform now has its own tagged link, and my report shows one clean row per platform. This post is that setup, written so you can follow it click by click or hand most of it to your AI.

Before you start

You need Google Analytics on your website. If you don't have it yet, it takes about ten minutes: follow step 4 of my bio link guide, then come back here.

Why your analytics can't tell platforms apart

When someone taps a link inside a social app, the page opens in that app's own built-in browser. Those browsers often don't pass along where the visitor came from. Your analytics receives a visitor with no return address and files them under “direct.” A tag fixes this because it travels inside the link itself, so it arrives no matter which app opened it.

Without tags
(direct) / (none)
l.instagram.com / referral
(not set)

One big pile. You can't tell which platform earned the visit.

With a tag on every link
instagram / bio
linkedin / bio
youtube / bio
tiktok / bio
facebook / bio

One row per platform. Now you know where to spend your time.

An illustration of the same visitors in the same report, before and after tagging. The bar lengths are examples, not real data.

The three words that do the work

A tracked link is your normal link with a few labels added after a question mark. The labels are called UTM tags. You only need to understand three of them.

yourdomain.com/linkYour page
?utm_source=instagramSource: which platform
&utm_medium=bioMedium: where on that platform
The page never changes. The source changes per platform. The medium changes per placement: your bio, a post, a story, a video description.
The tagThe question it answersExamples
utm_sourceWhich platform sent this person?instagram, tiktok, linkedin, youtube
utm_mediumWhere on that platform was the link?bio, post, story, video
utm_campaignOptional: which launch or promotion was it part of?spring_workshop, book_launch

Set it up step by step

Eight steps. Pick how you want to work and every step changes to match. The parts where you sign in to a social account are marked, because those are yours to click.

In the prompts, replace anything in [SQUARE BRACKETS] with your own details before you send it. The prompts work in any chat assistant.

  1. Write your naming rules
  2. Build one tracked link per platform
  3. Make short links on your own domain
  4. Paste each link into its platform
  5. Tag the links you post, too
  6. Test every link
  7. Read the report
  8. Keep a link log
1

Write your naming rules

What this does: keeps your report clean. Analytics treats “Instagram,” “instagram” and “ig” as three different sources, so you decide the spelling once and never change it.

With your AI

Prompt 1: write my naming rules
I am setting up UTM tracking so Google Analytics 4 shows which social platform sends visitors to my website.

I am active on: [LIST YOUR PLATFORMS]
I share links in these places: [BIO, POSTS, STORIES, VIDEO DESCRIPTIONS, DIRECT MESSAGES, EMAIL SIGNATURE]

Write me a one-page naming rule sheet:
1. One utm_source value per platform. Lowercase, no spaces, the plain platform name.
2. One utm_medium value per placement. Lowercase, one word each.
3. A simple pattern for utm_campaign that I only use for launches and promotions.
4. Three rules I must never break, in plain language.

Keep it short enough to print on one page.

By hand

Use these and you never have to think about it again:

2

Build one tracked link per platform

What this does: turns your one link into a set, one for each platform. They all open the same page. Only the tag on the end differs.

With your AI

Prompt 2: build my tracked links
The page I want people to land on is: [https://YOURDOMAIN.COM/link]
My platforms: [INSTAGRAM, TIKTOK, LINKEDIN, YOUTUBE, X, FACEBOOK, THREADS, PINTEREST, BLUESKY]

Give me a table with one row per platform and these columns:
- Platform
- Tracked link, using utm_source=[platform name in lowercase] and utm_medium=bio
- A short address I could use instead, in the pattern YOURDOMAIN.COM/go/[two or three letters]

Rules: everything lowercase, no spaces, and do not add any other tags. If my page address already contains a question mark, join the tags with an ampersand instead of a second question mark.

By hand

Copy the rows you need and swap in your own page address:

Prefer a form to typing? Google has a free one called the Campaign URL Builder. Search for “GA4 Campaign URL Builder,” type your page address, fill in utm_source and utm_medium, leave the other boxes empty, and copy the link it generates at the bottom.

3

Make short links on your own domain

What this does: hides the long tag behind a tidy address like yourdomain.com/go/ig. Several platforms show your link exactly as typed, and a short one looks cleaner and is easier to say out loud in a video.

This step is optional. A long tagged link works fine. I use short ones because they look like part of my brand.

With your AI

Prompt 3: set up my short links
I want short addresses on my own domain that forward to my tracked links.

My website runs on: [WORDPRESS / SQUARESPACE / WIX / SHOPIFY / PLAIN HTML FILES / OTHER: ___]
Here are my tracked links: [PASTE THE TABLE FROM PROMPT 2]

1. Tell me the simplest way to create these forwards on my platform, one click at a time. Wait for me to type "done" after each step. Never ask for my password.
2. If my site is plain HTML files, write a tiny redirect page for each short address instead. Each one needs a meta refresh, a JavaScript redirect, a plain "Continue" link and a noindex tag. Tell me the folder and file name for each.
3. Remind me how to check that the tag is still on the address after the forward happens.

By hand

  1. Sign in to your website builder and look in settings for URL redirects (sometimes called URL mappings, or a redirect manager). On WordPress, this usually comes from a redirect plugin.
  2. Create a new redirect. In the “from” box, type the short path, for example /go/ig.
  3. In the “to” box, paste the full tracked link for that platform from step 2.
  4. Save, then repeat for each platform: /go/tt, /go/li, /go/yt, /go/x, /go/fb.

Two cautions.

  • Outside link shorteners. Paste the full tagged link in as the destination and test it. Some shorteners only carry tags through on paid plans, so never assume.
  • Link-in-bio tools. If your bio points to a page on a tool's domain, your own analytics can't see which platform the visitor started on. Use the tool's built-in stats, or move your bio page to your own domain. Also check whether the tool adds its own tags automatically, because those can replace yours.
4

Paste each link into its platform

What this does: puts the right link in the right profile. This is the step that makes everything else work, and it's the one only you can do.

Open the platforms you use. Apps move their menus around, so if a label looks different, look for Edit profile and then a field called Website, Link or Links.

Instagram
  1. Open your profile and tap Edit profile.
  2. Tap Links, then Add external link.
  3. Paste your Instagram link. Add a short title if you like, then tap Done.

You can add up to five links. Only the first one shows on your profile; the rest sit behind a small “and more” tap, so put this one first. Links typed into a caption are not tappable.

TikTok
  1. In the mobile app, open your profile and tap Edit profile.
  2. Tap Website, paste your TikTok link including https://, and save.

If you don't see a Website field, your account doesn't qualify yet. The guides I checked say it appears at 1,000 followers or on a Business account (Settings and privacy, Account, Switch to Business Account), and it varies by country. A Business account limits you to commercial sounds, so weigh that first. Until then, type your short link into your bio text. It won't be tappable, which is exactly when a short, easy-to-type link earns its keep.

LinkedIn (your profile)
  1. Open your profile and click the pencil icon in the top section.
  2. Scroll down to Website. Paste your LinkedIn link and type the words people should see, such as “Work with me.”
  3. Click Save.

No Website field? Add the link in two other places instead. Under Contact info, add it as a website. In the Featured section, click the plus sign and choose Add a link. For Featured, use utm_medium=featured so you can tell the two apart.

LinkedIn (company Page)
  1. Open your Page as an admin and click Edit page.
  2. Put your link in the Page's website field.
  3. If you see a Buttons tab, turn on the custom button, choose a label such as “Visit website,” paste the link, and save.

LinkedIn ties the prominent custom button to Premium Company Pages. Without it, the button sits behind the Page's “More” menu.

YouTube
  1. On a computer, open YouTube Studio and click Customization.
  2. Open the Profile tab and find Links.
  3. Click Add link, type a title, paste your YouTube link, and click Publish.

You can add up to 14 links. The first one sits next to the Subscribe button, so make it this one. Links in the description of a regular video are clickable. Links in Shorts descriptions and comments are not.

X
  1. Open your profile and tap Edit profile.
  2. Paste your X link into the Website field and save.

One website link per profile. X shows the address itself, so a short link looks best here.

Facebook (Page or profile)
  1. Page: open the Page, choose Edit (it may read Edit Page or Edit Page Info), find Website, paste your Facebook link, and save.
  2. Personal profile: tap Edit profile, open Contact and basic info, find Websites and social links, add the link, and save.

On a personal profile, check the privacy setting beside the link. If it isn't set to Public, only friends will see it.

Threads
  1. Open your profile and tap Edit profile.
  2. Tap Link (or Links), add your Threads link, and tap Done.

Threads announced up to five profile links in 2025. Some accounts still show a single field.

Pinterest
  1. On a computer: click the more options icon at the bottom left, choose Settings, then Edit profile.
  2. In the app: tap your profile picture, open View profile, then Edit profile.
  3. Paste your Pinterest link into Website and save.

Claiming your website is a separate step in Pinterest's settings. It unlocks Pinterest's own stats for your site and is worth doing once.

Bluesky
  1. Open your profile and tap Edit Profile.
  2. Bluesky has no separate link field. Paste your link into the Description and save.

The description holds 256 characters and shows the link as you typed it. Use your short link here.

With your AI: when a menu has moved

Prompt 4: walk me through one platform
I want to change the website link on my [PLATFORM] [PERSONAL PROFILE / BUSINESS PAGE] using the [iPHONE APP / ANDROID APP / WEBSITE ON A COMPUTER].

Walk me through it one tap at a time and wait for me to type "done" after each step. If I tell you a button is not where you said, ask me what I see on the screen and adjust. Never ask for my password.

When the link is saved, tell me how to check it from a different account or a private browser window.
5

Tag the links you post, too

What this does: separates “they came from my bio” from “they came from that one post.” Same platform name, different medium.

Where the link goesMedium to useIs it tappable?
Instagram storystoryYes, with the Link sticker
Instagram captionSkip itNo. Point people to your bio instead
LinkedIn, Facebook or X postpostYes
YouTube video descriptionvideoYes on regular videos, no on Shorts
A direct messagedmYes

For a launch, add a campaign so you can see the whole push in one place: ?utm_source=linkedin&utm_medium=post&utm_campaign=spring_workshop.

With your AI

Keep this one saved. Use it every time you're about to share a link.

Prompt 5: tag a link for one post
Here are my naming rules: [PASTE YOUR RULES FROM STEP 1]

I am about to share this link: [PASTE THE PAGE ADDRESS]
Platform: [PLATFORM]
Placement: [POST / STORY / VIDEO DESCRIPTION / DIRECT MESSAGE]
Campaign, if any: [NAME, OR "NONE"]

Give me the tracked link, following my rules exactly. Then give me one line I can paste into my link log: date, platform, placement, campaign, and the link.

By hand

Take the link you built in step 2 and change one word. For a LinkedIn post, utm_medium=bio becomes utm_medium=post. For a campaign, add &utm_campaign=your_name to the end. That's all there is to it.

6

Test every link

What this does: proves the tag survives the trip. A link can open the right page and still lose its tag on the way, and you won't know unless you look.

  1. On your phone, open each social app and tap the link on your own profile.
  2. When the page opens, look at the address bar. The tag should still be on the end: utm_source=instagram. If it's gone, a redirect or shortener dropped it. Go back to step 3.
  3. On a computer, open Analytics and click Reports, then Realtime. Within a few minutes your visit should appear with the source you just used.
  4. Repeat for each platform. It takes about a minute each.

Platforms sometimes add their own code to the end of your link. That's normal, and your tag stays alongside it.

7

Read the report

What this does: shows you the answer you came for: one row per platform, with visitor counts.

With your AI: let it read the numbers

Prompt 6: read my report for me
Here are my last 28 days from Google Analytics, Traffic acquisition report, by session source / medium:
[PASTE THE ROWS, INCLUDING SESSIONS AND ENGAGED SESSIONS]

Hours I spend per week on each platform: [PLATFORM: HOURS, ...]

Tell me, in plain language:
1. Which platform sends the most visitors, and which sends the most engaged visitors.
2. Visitors per hour of my time, for each platform.
3. One platform to give more time, and one to give less.
Do not guess beyond these numbers. If there is too little data to decide, say so and tell me how long to wait.

By hand: what to look for

  • Sessions tells you how many visits each platform sent.
  • Engaged sessions tells you how many of those people stayed and did something. A platform that sends fewer visitors who stay can be worth more than one that sends many who leave.
  • Compare both against the hours you spend on each platform. That's the decision.
8

Keep a link log

What this does: stops the system from drifting. Six months from now you'll want to know exactly how you spelled a campaign. A simple sheet remembers so you don't have to.

With your AI

Prompt 7: make my link log
Make me a link log I can paste into Google Sheets or Excel.

Columns: Date added, Platform, Placement, Campaign, Short link, Full tracked link, Where I pasted it, Tested (yes or no), Notes.

Fill in one row for each of these links: [PASTE YOUR TABLE FROM PROMPT 2]

Give it to me as comma-separated text so I can paste it straight into a sheet.

By hand

Open a new spreadsheet and add these columns: date added, platform, placement, campaign, short link, full tracked link, where you pasted it, and tested (yes or no). Add one row per link. Every time you create a new tagged link, it gets a row before it gets posted.

Then set a reminder for 28 days from today: “Read my platform report.”

Five mistakes that quietly break tracking

Proof this works: here's mine

Every one of my bios points to its own short link. My Instagram bio uses dahliaimanbay.com/go/ig, LinkedIn uses /go/li, YouTube uses /go/yt, and so on. Each one forwards to my front door page with that platform's tag attached. When I open my report, I see which platform earned the visit, and I plan my week from that.

If you don't have a page for those links to land on yet, build that first: your bio link is a front door, not a dead end. And once you know where your yeses come from, the next habit is tracking every “no”.

Key takeaways

✓
Social apps hide where visitors come from. A tag inside the link is the reliable way to tell platforms apart.
✓
One platform, one link. Source is the platform, medium is where the link sits.
✓
Lowercase, no spaces, same spelling forever. Naming rules matter more than any tool.
✓
Test that the tag survives. Tap the link on your phone and read the address bar.
✓
Read source / medium every 28 days. Then move your hours toward the platform that earns them.

Frequently Asked Questions

A UTM tag is a short label added to the end of a link, after a question mark, such as utm_source=instagram. It does not change the page that opens. It tells Google Analytics where the visitor came from, so each platform shows up on its own row in your reports.

Links tapped inside social apps open in the app's built-in browser, which often does not pass along where the visitor came from. Analytics then files the visit under direct. A tag inside the link itself solves this because it arrives with the visitor no matter which app opened the page.

Use the plain platform name in lowercase for utm_source, such as instagram, tiktok or linkedin. Use utm_medium for where the link sits: bio, post, story or video. Keep the spelling identical every time, because Analytics treats different capital letters as different sources.

They can, because some platforms show the full address. Create a short address on your own domain, such as yourdomain.com/go/ig, that forwards to the long tagged link. Visitors see the short version and Analytics still receives the tag.

The Realtime report in Google Analytics shows a tagged visit within a few minutes, which is how you test each link. The Traffic acquisition report fills in later the same day or the next, and figures can keep settling for a day or two.

Sources

Dahlia Imanbay, AI Strategist and Fractional CMO

Dahlia Imanbay

AI Strategist, Fractional CMO, and Full-Stack Developer with 16+ years of experience building AI systems for healthcare, SaaS, and mission-driven brands. Writes from production experience, not theory.

More from the series

Browse all 30 hacks

Every video in the 30 Hacks From Dahlia series, with a companion post like this one for each.