Many operators set utm_source=tiktok-ads or utm_source=linkedin-ads on their TikTok Ads / LinkedIn Ads URLs. Naming a media + -ads is intuitive — it makes "TikTok ad" or "LinkedIn ad" explicit in the data.
But GA4's (Google Analytics 4) officially distributed "Default Channel Group Source Categories" file[1] contains only 2 rows for TikTok and 3 rows for LinkedIn, and neither tiktok-ads nor linkedin-ads is in those 5 rows. Any value outside this list is judged by GA4 as "not from a social site" and silently drops out of the Paid Social report.
This article works through what to put into utm_source for TikTok and LinkedIn Ads, using the 5 rows from the official list GA4 actually evaluates.
Key takeaways#
- Use
tiktokorlinkedin(lowercase shortform). These are the official entries — shortest match, lowest typo risk tiktok-ads/tiktok_ads/linkedin-ads/linkedin_adsare not registered. They fall out of Paid Social into the(other)channel- Short URLs and mobile subdomains are not registered either.
vt.tiktok.com/m.tiktok.com/m.linkedin.comwon't get SOCIAL judgment (the one exception is LinkedIn's official shortlinklnkd.in)
1. How GA4 decides "Paid Social"#
GA4's default channel group classifies every visit by reading utm_source × utm_medium[2]. Paid Social requires both of these conditions to hold simultaneously:
utm_sourcemust match a value registered in GA4's "social sites regex list"utm_mediummust match the regex^(.*cp.*|ppc|retargeting|paid.*)$[2]
The "social sites regex list" itself is distributed by Google as an .xlsx file (actually delivered as PDF), and it contains 819 source names and category labels[1]. Whether TikTok or LinkedIn is judged as Paid Social depends not on industry convention or tool recommendations — it depends on this single file.
The utm_medium side and its recommended value are fully unpacked in the sister article What goes into utm_medium for Meta Ads. This article focuses on the utm_source side, reading the TikTok and LinkedIn rows.
2. TikTok and LinkedIn entries actually in the official list#
Out of the 819 entries on the official list, the rows for TikTok and LinkedIn are exactly the 5 shown below — organized across platform, registered value, official category, and note.

Three facts stand out from these 5 rows:
- All 5 rows fall under
SOURCE_CATEGORY_SOCIAL. The Source-side condition for Paid Social is met only when one of these 5 rows is matched exactly - TikTok has 2 rows, LinkedIn has 3. Only LinkedIn includes its official shortlink
lnkd.in, which makes it easier to capture mobile referrals - No variants exist at all.
tiktok-ads/tiktok_ads/TikTok-Ads/linkedin-ads/linkedin_ads/m.tiktok.com/vt.tiktok.com/m.linkedin.com— none of these match any of the 5 rows
The name "social sites list" might suggest that all variants of TikTok or LinkedIn are covered. In reality, only one lowercase shortform and one or two domain forms are present.
Because Google may update the official .xlsx at any time, when you reference this for production work, download a fresh copy each time instead of relying on the values captured at this article's publication (April 2026 release, May 2026 latest check).
3. Four utm_source failure modes#
What happens when you put a value that is not in those 5 rows? Here are 4 patterns.
Failure 1: tiktok-ads / linkedin-ads disappear from Paid Social#
Media name + -ads reads naturally to internal operators, but neither value is registered in the official list. As a result, TikTok Ad traffic shows up as a standalone "source/medium = tiktok-ads / cpc" row and never enters the Paid Social aggregate. Monthly reports show "Paid Social revenue dropped sharply" when, in reality, the classification has simply detached. linkedin-ads produces the same failure.
Failure 2: TikTok / LinkedIn (mixed case) splits one campaign into two rows#
GA4 stores utm_source values case-sensitively, as-is. If utm_source=tiktok and utm_source=TikTok coexist inside the same campaign, the report splits into two rows. Only the tiktok side passes Paid Social judgment; the TikTok side does not match the lowercase tiktok entry and falls into Referral or (other). With multiple operators running spreadsheet-based naming, 3–4 variants will line up and break aggregation.
Failure 3: vt.tiktok.com / m.tiktok.com / m.linkedin.com (shortlinks and mobile) are not judged as SOCIAL#
TikTok's in-app share feature generates vt.tiktok.com referrals, and TikTok mobile web sends m.tiktok.com as the host. LinkedIn mobile arrives via m.linkedin.com. None of these match any of the 5 rows. Even for non-ad organic traffic, those visits stack into Referral / (other) and never get categorized as Organic Social or Paid Social. Only LinkedIn's official shortlink lnkd.in is registered, so internal shares and shortened URLs via LinkedIn do get SOCIAL recognition.
Failure 4: tiktok_ads / linkedin_ads (underscore-separated) also disappear#
Same as the hyphen-separated form, the underscore-separated forms are not in the official list either. On the utm_medium side, values like paid_social / paid-social get caught by the paid.* regex and Paid Social judgment passes; on the utm_source side, the list is exact-match only, so similar-looking strings fall into (other) immediately.
4. Recommended format and verification steps#
The recommended format, derived by reverse-reading the 5 official rows, is:
# TikTok Ads
utm_source=tiktok
utm_medium=cpc
utm_campaign={{campaign.name}}
utm_content={{ad.name}}
utm_id={{campaign.id}}
# LinkedIn Ads
utm_source=linkedin
utm_medium=cpc
utm_campaign={{campaign.name}}
utm_content={{ad.name}}
utm_id={{campaign.id}}
Three reasons to recommend utm_source=tiktok / linkedin:
- Shortest exact match on the official list: 5 rows total, this is the shortest form. Near-zero typo risk
- Reads cleanly across the org: the media name itself, no decoding needed when someone reads the report
- Consistent with other media: parallel to
facebookfor Meta Ads andgooglefor Google Ads
What happens by utm_source value, summarized in one image:

The before/after checks are 2 items:
- Pre-launch URL preview: In TikTok Ads Manager / LinkedIn Campaign Manager, open the URL preview from the ad edit screen and verify
utm_source=tiktokorutm_source=linkedinis rendered as-is - Post-launch GA4 Realtime: Within 30 minutes of launch, in "Realtime" → "Source/Medium", verify the visit shows up as
tiktok / cpcorlinkedin / cpc. If it showstiktok-ads / cpcor(direct) / (none), the parameters didn't arrive — or the UTM naming doesn't match the official list
Conclusion: only 5 rows are written in the official list#
Across social and operator blogs, you'll find factions debating "for TikTok Ads, tiktok-ads is the cleanest naming" or "for LinkedIn, linkedin_ads". But what GA4 actually references during Paid Social judgment is TikTok 2 rows + LinkedIn 3 rows = 5 rows on the official list[1]. tiktok-ads and linkedin-ads are not in those 5 rows. tiktok and linkedin are. That's the only fact.
RevenueScope automatically normalizes utm spelling variants and merges tiktok / TikTok / tiktok-ads / tiktok_ads into a single channel before showing media-level revenue, RPS (Revenue Per Session), and AOV (Average Order Value). Even when naming is scattered, you see the data aligned with GA4's official list — collapsed to one row before any channel-level revenue is computed.
Related articles in /news/en:
- What goes into utm_medium for Meta Ads
- What goes into utm_source for Meta Ads
- Why "(direct) / (none)" grows in GA4 and how to handle it
- The last-click trap distorting your ad budget calls
- GA4 isn't a tool for reading revenue — the attribution blind spot
References#
- Google « GA4 Default Channel Group Source Categories (official distribution file · 819 entries) » Last checked May 2026
- Google Analytics Help « [GA4] Default channel group » May 2026
See which ads actually drive revenue, at a glance
14-day free trial. No credit card required. Up and running in 5 minutes.
Start 14-day free trial
