Short answer: give every account its own tagged profile link. Use
utm_source for the platform, utm_medium for the placement (for example
social_bio), utm_campaign for the program, and utm_content for the
specific account. Write everything in lowercase, because Google Analytics
treats values as case sensitive, and keep the scheme in one shared sheet.
The parameters
Google Analytics supports utm_source, utm_medium, utm_campaign,
utm_id, utm_term, utm_content, utm_source_platform,
utm_creative_format and utm_marketing_tactic. Its help page says to always
use source, medium and campaign, and that values are case sensitive, so
utm_source=google and utm_source=Google are different
(Google Analytics Help,
checked 17 September 2026).
A convention for many accounts
| Parameter | Rule | Example |
|---|---|---|
utm_source |
Platform, lowercase | tiktok, instagram, youtube |
utm_medium |
Where the link lives | social_bio, social_profile |
utm_campaign |
Program or quarter | organic_short_2026q3 |
utm_content |
Account identifier | brand, founder, edu_spreadsheets |
utm_term |
Leave empty for organic |
Example for a made-up education account:
https://example.com/signup?utm_source=tiktok&utm_medium=social_bio&utm_campaign=organic_short_2026q3&utm_content=edu_spreadsheets
Where the link can go
| Platform | Clickable link location | Note (checked 17 Sept 2026) |
|---|---|---|
| Profile, up to five links | TechCrunch | |
| TikTok | Profile website field, when eligible | Tied to follower thresholds or a business account, per Buffer |
| YouTube | Channel profile links; not Shorts descriptions | Tubefilter |
Where a clickable link is not available, speak or show a short vanity URL that
redirects to a tagged link, such as example.com/tt.
Keeping it clean
- One sheet. Columns: account handle, platform, full URL, short URL, date added, owner.
- Lowercase only. Mixed case splits one account into two rows.
- No spaces. Use underscores.
- Don't tag internal links. UTMs are for links arriving from outside your site; keep them off internal links so reports stay clean.
- Change
utm_campaignper quarter or program, not per post, unless you are running a specific test. - Short links: if you use a link shortener, keep the full tagged URL in the sheet.
Common mistakes
| Mistake | Result | Fix |
|---|---|---|
TikTok in one link, tiktok in another |
Two sources in reports | Lowercase only |
| Same link on every account | Cannot tell accounts apart | One utm_content per account |
| Link edited in the app, not the sheet | Sheet goes stale | Change the sheet first |
| Shortener with no record of the target | Lost tracking | Store full URL in the sheet |
| Tagged link points to a redirecting page that drops parameters | Traffic shows as direct | Test each link once |
Per-post tracking
Bio links are per account, not per post. For per-video tracking, use a vanity URL (a short path on your own domain that redirects to a tagged link) spoken in that video, or a unique code. For test design, see short-form experiments. For how UTMs fit with self-reported attribution, read measuring signups from short-form.
Many accounts, many links
The more accounts you run, the more the sheet matters. When accounts live on iPhones driven by Farmero, the account list in the web hub is a handy place to cross-check that every account has a sheet row. Farmero posts and warms accounts; it does not set bio links for you. See adding accounts.
FAQ
Should I use utm_source=tiktok or tiktok.com?
Either works if you are consistent. Pick one and write it in the sheet.
Can I track each video separately?
Not with a bio link alone. Use a spoken vanity URL or a unique code per video.
Where should UTMs not be used?
Anywhere a click stays inside your own site. Keep them on inbound social links and off internal links.
What medium should organic social use?
Anything consistent and distinct from paid, such as social_bio for profile
links.
