UTM links are one of the simplest ways to label social traffic. Direct tracking links are the better way to connect individual social posts to clicks, conversions, and revenue.
They are also one of the easiest things to mess up.
Most UTM problems are not technical. They are naming problems. One person writes LinkedIn, another writes linkedin, a third writes li, and suddenly your analytics report has three versions of the same channel.
This guide gives you a clean UTM system you can use for social media campaigns without making your data unreadable, plus a better workflow for when your scheduler creates tracked short links for every post.
Key idea
UTMs make traffic understandable. Unique short tracking links make revenue attribution practical at the post level.
What is a UTM link?
A UTM link is a normal URL with tracking parameters added to the end.
Example:
https://planpo.st/?utm_source=linkedin&utm_medium=social&utm_campaign=revenue_tracking&utm_content=post_001
The page still loads normally. The extra parameters tell analytics tools where the visitor came from.
The main UTM parameters are:
utm_sourceutm_mediumutm_campaignutm_contentutm_term
For organic social media, you usually need only the first four.
UTMs vs direct tracking links
UTMs are labels. They tell analytics tools that a visit came from linkedin, x, instagram, or a specific campaign.
Direct tracking links do more. A direct tracking link is a unique short URL created for one post, for example:
https://planpo.st/r/a8K2p
When someone clicks it, the system records the click first, then redirects the person to the final destination page. The short link can store:
- The original post.
- The platform.
- The campaign.
- The content ID.
- The destination URL.
- The click timestamp.
- The visitor session.
Then, when a conversion or payment happens, the revenue can be connected back to the tracked click and the original post.
This is why I prefer direct tracking over relying only on Google Analytics. You do not have to open GA, build custom reports, or manually match a conversion path to a post. GA can still receive UTMs for broader reporting, but your scheduler can show the post-level answer directly:
LinkedIn post_004 drove 37 clicks, 4 trials, and $156 in revenue.
That is the best version of UTM discipline: use UTMs for clean metadata, and use unique short links for direct attribution.
The four UTM fields that matter for social
utm_source tells you the platform, such as LinkedIn or Instagram.
utm_campaign ties the visit to a launch, offer, or initiative.
utm_content separates one post, thread, reel, or ad from another.
1. utm_source
Use this for the platform or traffic source.
Examples:
utm_source=linkedin utm_source=x utm_source=instagram utm_source=tiktok utm_source=youtube utm_source=facebook
Do not mix names.
Bad:
utm_source=LinkedIn utm_source=linkedin.com utm_source=li
Good:
utm_source=linkedin
Pick one and use it every time.
2. utm_medium
Use this for the channel type.
For most organic social posts:
utm_medium=social
For paid social:
utm_medium=paid_social
For newsletter links:
utm_medium=email
Keep medium broad. Source tells you where. Medium tells you what kind of channel.
3. utm_campaign
Use this for the campaign, launch, offer, or initiative.
Examples:
utm_campaign=revenue_tracking utm_campaign=creator_launch utm_campaign=agency_reporting utm_campaign=free_trial utm_campaign=july_webinar
Campaign names should be understandable six months later. campaign1 will make you angry later. Ask me how I know.
Naming test
If a teammate could not understand the campaign name without asking you, it is too vague. Use the offer, launch, audience, or theme.
4. utm_content
Use this for the specific post, creative, or variation.
Examples:
utm_content=post_001 utm_content=thread_002 utm_content=demo_video_003 utm_content=founder_story_001 utm_content=carousel_a
This is the field that makes post-level tracking possible.
Without utm_content, you may know LinkedIn drove revenue, but you will not know which LinkedIn post did it.
A simple UTM template
Use this template:
https://example.com/page?utm_source=SOURCE&utm_medium=MEDIUM&utm_campaign=CAMPAIGN&utm_content=CONTENT
For Planpo.st, the public link in the post might be a short tracking URL:
https://planpo.st/r/a8K2p
Behind that short link, Planpo.st can store and redirect to a full tracked destination like:
https://planpo.st/social-media-scheduler-with-revenue-tracking?utm_source=linkedin&utm_medium=social&utm_campaign=revenue_tracking&utm_content=post_001
Practical rule
The public social post should use the short link. The analytics metadata should live behind it. That keeps posts clean while preserving the data you need for reporting.
For the attribution guide:
https://planpo.st/social-media-revenue-attribution?utm_source=x&utm_medium=social&utm_campaign=attribution_education&utm_content=thread_001
For a creator-focused campaign:
https://planpo.st/social-media-scheduler-for-creators?utm_source=instagram&utm_medium=social&utm_campaign=creator_launch&utm_content=reel_001
Recommended naming rules
Use these rules and your analytics will stay clean.
Rule 1: lowercase everything
Use:
Not:
LinkedIn LINKEDIN Linkedin
Many analytics tools treat those as different values.
Rule 2: use underscores
Use:
creator_launch
Not:
creator launch creator-launch CreatorLaunch
Underscores are readable and easy to filter.
Rule 3: keep campaign names stable
Choose the campaign name before publishing.
If the campaign is revenue_tracking, every related post should use:
utm_campaign=revenue_tracking
Do not rename it halfway through the week.
Rule 4: make utm_content unique
Every post should have a unique content ID.
Examples:
post_001 post_002 thread_001 demo_video_001 carousel_001
If you post the same message on three platforms, give each platform its own tracked link because the source changes.
Rule 5: keep a tracking sheet
Even if your tool creates links automatically, keep a simple log.
Useful columns:
- Publish date.
- Platform.
- Campaign.
- Content ID.
- Destination URL.
- Post topic.
- Post format.
- Final UTM URL.
- Notes.
This makes reporting and debugging much easier.
UTM examples by platform
https://planpo.st/social-media-revenue-attribution?utm_source=linkedin&utm_medium=social&utm_campaign=attribution_education&utm_content=post_001
Use LinkedIn for founder posts, agency education, B2B content, and tactical guides.
X
https://planpo.st/social-media-scheduler-with-revenue-tracking?utm_source=x&utm_medium=social&utm_campaign=revenue_tracking&utm_content=thread_001
Use X for threads, build-in-public updates, quick opinions, and product walkthroughs.
https://planpo.st/social-media-scheduler-for-creators?utm_source=instagram&utm_medium=social&utm_campaign=creator_launch&utm_content=reel_001
Use Instagram for Reels, carousels, Stories, and visual examples. If the link lives in bio, keep the utm_content tied to the post or campaign you are promoting.
YouTube
https://planpo.st/social-media-scheduler-with-revenue-tracking?utm_source=youtube&utm_medium=video&utm_campaign=revenue_tracking&utm_content=short_001
Use YouTube for tutorials, Shorts, and product demos.
TikTok
https://planpo.st/social-media-revenue-attribution?utm_source=tiktok&utm_medium=video&utm_campaign=attribution_education&utm_content=video_001
Use TikTok for short educational videos, workflow demos, and creator-focused lessons.
How UTMs connect to revenue
UTMs do not track revenue by themselves. They label the visit.
Revenue tracking happens when the visit connects to a later event:
- Visitor clicks a UTM link.
- Analytics stores the UTM values.
- Visitor starts a trial, buys, subscribes, or books.
- Your system connects the conversion back to the UTM data.
That is the foundation of social media revenue attribution.
For example:
utm_source=linkedin utm_campaign=agency_reporting utm_content=post_004 conversion=trial_started revenue=$39.99
Now you can say:
LinkedIn post_004 in the agency_reporting campaign drove one paid conversion.
That is much more useful than:
LinkedIn got engagement.
Organic social vs paid social
Use different utm_medium values for organic and paid.
Organic:
utm_medium=social
Paid:
utm_medium=paid_social
This prevents paid campaign results from mixing with normal posting.
Example paid LinkedIn ad:
https://planpo.st/social-media-scheduler-for-agencies?utm_source=linkedin&utm_medium=paid_social&utm_campaign=agency_reporting&utm_content=ad_001
Example organic LinkedIn post:
https://planpo.st/social-media-scheduler-for-agencies?utm_source=linkedin&utm_medium=social&utm_campaign=agency_reporting&utm_content=post_001
UTM links for creators
Creators should use UTMs when promoting:
- Digital products.
- Courses.
- Templates.
- Coaching.
- Memberships.
- Newsletters.
- Affiliate offers.
Example:
https://yourdomain.com/template?utm_source=instagram&utm_medium=social&utm_campaign=template_launch&utm_content=reel_003
At the end of the campaign, compare:
- Which post drove the most clicks?
- Which post drove the most purchases?
- Which platform had the best conversion rate?
- Which topic should become a repeatable series?
If you are publishing consistently, a social media scheduler for creators should make this easier by connecting planning and measurement.
UTM links for agencies
Agencies should use UTMs to keep client reporting clean.
For every client campaign, define naming rules before the first post goes live.
Example:
utm_source=linkedin utm_medium=social utm_campaign=clientname_q3_leadgen utm_content=post_001
Then report:
- Traffic by platform.
- Leads by post.
- Revenue or pipeline by campaign.
- Best-performing creative.
- Recommended next actions.
This turns the report from "we posted things" into "here is what the campaign taught us." That is the job of a social media scheduler for agencies.
Common UTM mistakes
Mistake 1: using too many campaign names
If one launch uses five campaign names, your data will split.
Bad:
free_trial trial_launch july_trial planpost_trial trial_campaign
Good:
free_trial
Mistake 2: putting the platform in the campaign
Bad:
utm_campaign=linkedin_launch
Better:
utm_source=linkedin utm_campaign=launch
Source already tells you the platform.
Mistake 3: forgetting the content ID
If you skip utm_content, you lose post-level reporting.
Use it every time a campaign has more than one post.
Mistake 4: reusing the same link everywhere
If you use one link on LinkedIn, X, and Instagram, the data will not separate cleanly.
Create one link per platform and post.
Mistake 5: making URLs too ugly for public posts
Long UTM links can look messy. Use a short tracking link publicly, then keep the UTM data and destination URL behind that short link.
This is especially useful for social posts because it keeps links readable while preserving attribution. The person sees a clean short URL. Your reporting still sees the campaign, platform, post ID, clicks, conversions, and revenue.
A practical workflow
Before publishing:
- Pick the destination page.
- Choose the campaign name.
- Create a content ID for each post.
- Create one tracked short link per post.
- Save the link in your content calendar.
- Schedule the post.
- Review performance after publishing.
After publishing:
- Check clicks.
- Check conversions.
- Check revenue.
- Compare post formats.
- Decide what to repeat.
The UTM link itself matters less than the habit of learning from each post.
Workflow shortcut
When the scheduler creates the link, stores the UTM metadata, and reports the outcome, tracking stops feeling like an admin chore and just becomes part of publishing.
Suggested UTM dictionary
Use this as a starting point:
| Field | Values |
|---|---|
utm_source | linkedin, x, instagram, tiktok, youtube, facebook, newsletter, partner |
utm_medium | social, paid_social, video, email, referral |
utm_campaign | free_trial, revenue_tracking, creator_launch, agency_reporting, utm_guide |
utm_content | post_001, thread_001, reel_001, short_001, ad_001 |
Final checklist
Before you publish a social campaign:
- Use lowercase UTM values.
- Use underscores instead of spaces.
- Keep campaign names stable.
- Give every post a unique
utm_content. - Use a unique short tracking link for each platform and post.
- Store every link in your content calendar.
- Connect UTMs to conversion and revenue events.
- Review results by post, not just by platform.
UTM links are small, but they change the quality of your decisions. Direct tracking links take that one step further: they let the click begin inside your attribution system, so post-level revenue reporting does not depend on manually checking Google Analytics.
That is why UTM discipline pairs so well with a social media scheduler with revenue tracking: the calendar plans the work, short links capture the clicks, and attribution shows what was worth it.
