Tracking basics
Tracking your Instagram link in bio
On Instagram, the link in your profile is often the main door from your account to your website. It is also the link most people forget to tag, change once and then leave for a year. This guide shows how to tag it, how to tell bio clicks apart from stories and posts, and how to keep it current without breaking your reports.
Why tag a link that already says "Instagram"?
When someone taps a link on Instagram, GA4 can often work out that the visit came from Instagram on its own. So why bother tagging?
Because "came from Instagram" is not the useful part. What you want to know is which Instagram link: the one in your bio, a link sticker in a story, or a link you sent in a direct message. Without tags they all blur into one row. With tags you can see which habit is actually sending people to your site.
A simple tagging pattern
Use the same source and medium for every Instagram link, and let utm_content say where on Instagram it lived:
| Where the link lives | utm_source | utm_medium | utm_content |
|---|---|---|---|
| Profile bio link | instagram | social | bio |
| Story link sticker | instagram | social | story |
| Link sent in a direct message | instagram | social | dm |
| Boosted post or ad | instagram | paid_social | the ad version |
The campaign value depends on what the link is promoting at the time. That is where the bio link needs a little thought.
The campaign problem with bio links
A bio link stays up for weeks or months, while campaigns come and go. There are two sensible ways to handle that.
Option 1: an evergreen bio link
If your bio always points to the same place, such as your homepage or a "get involved" page, give it a campaign value that never changes:
https://example.org/?utm_source=instagram&utm_medium=social&utm_campaign=profile&utm_content=bio
In reports, profile then shows the steady background traffic your Instagram account produces, separate from any campaign.
Option 2: swap the link with each campaign
If you change the bio link to promote each appeal or event, change the campaign value with it, so bio clicks count towards that campaign:
https://example.org/winter-appeal?utm_source=instagram&utm_medium=social&utm_campaign=2026-11-winter-appeal&utm_content=bio
When the campaign ends, put the evergreen link back. Note both changes in your campaign log with the date, so a spike in a report can be traced to the right link.
Do not forget the swap back
The most common bio-link mistake is leaving an old campaign link in place for months. The appeal page may be out of date, and every profile visit keeps counting towards a campaign that has finished. Put a reminder in your calendar for the day the campaign ends.
If you use a link-in-bio page
Many accounts point the bio at a page of several links, either a page on their own website or a third-party link page. Each link on that page should be tagged separately:
- The link from the bio to the link page itself: this only tells you people reached the link page.
- Each button on the link page: tag these with
utm_source=instagram,utm_medium=social,utm_content=bioand the campaign each button promotes.
If the link page lives on your own website, GA4 will see the visit to it and then a second page view when someone taps a button. If it is a third-party page, GA4 only sees the visit when it reaches your site, so the tags on each button are what carry the information across.
A link page on your own site has one more advantage: it is yours. You can update it without touching the Instagram profile, and it keeps working if you change link tools.
Build and check the links
- Open the UTM Builder, enter the page and campaign, and tick Instagram.
- Set the content field to
bio,storyordmbefore you generate. - Copy the link and paste it into the UTM Reader to check it reads correctly.
- Add it to your profile, then tap it from your own phone to confirm it lands on the right page with the tags still in the address.
Long links look untidy in a profile. If you want a shorter display link, use a short address on your own site that redirects to the tagged link, and test that the redirect keeps the tags.
Reading the results
In GA4, open Traffic acquisition, set the dimension to Session source / medium and look for instagram / social. To split bio from story and DM clicks, use an Exploration with the content dimension alongside source and medium. To see a campaign's Instagram share, filter to the campaign value instead.
Look at trends rather than single days. A bio link's traffic moves with how often you post and how many people visit your profile, so a quiet week is not necessarily a problem.
Running more than one account
If your organisation has several Instagram accounts, for example a main account and one for a shop or a local branch, keep the source as instagram for all of them and add the account to the content value: bio-main, bio-shop. Changing the source to something like instagram-shop would split your Instagram traffic across several rows and make the overall total harder to read. One source with clear content values keeps both views easy.
Quick checklist
- Bio link tagged with
utm_content=bio. - Evergreen campaign value, or swapped with each campaign and swapped back.
- Story and DM links tagged differently from the bio.
- Every button on a link page tagged.
- Changes noted in the campaign log with dates.
The same thinking applies to other places where one link stays up for a long time, such as email signatures and profile links on other platforms. For links you send privately, read Tracking links shared on WhatsApp and by SMS.