How do I track TikTok ads in GA4?
Add UTM parameters to every TikTok ad URL, ideally with TikTok's Auto-attach, so GA4 files the clicks under one source and medium, usually Paid Social. Link TikTok in GA4's Admin to import cost. GA4 still sees only the clicks that reach your site, not the views TikTok counts.
By Joris van Huët, Founder & CEOUpdated 7 min read
Run the numbers for your store: the free break-even ROAS calculator.
Add UTM parameters to every TikTok ad URL, usually with TikTok's Auto-attach, so GA4 files the clicks under one source and medium. Then link TikTok in GA4's Admin to import cost, clicks and impressions. Even then, GA4 sees only the clicks that reach your site, not the views TikTok counts.
GA4 auto-tags clicks through integrations such as Google Ads. Its TikTok link works differently: GA4's help asks you to put the UTM parameters in your TikTok ad URLs yourself.
TikTok makes that part easy. Its Auto-attach feature fills in the source (TikTok), the medium (Paid), the campaign ID and the campaign name while you build the ad. In GA4, that pair lands in Paid Social. GA4's source list files tiktok as a social site, and paid passes its test for a paid medium.
Keep one spelling everywhere. GA4 reads TikTok and tiktok as two values in reports, even though its channel rules ignore capitals.
Then add the money. In GA4, go to Admin, then Product links, then TikTok Links, and click Link. GA4's help says the import tries to pull at least 24 months of TikTok history. It fills Ads cost, Ads clicks and Ads impressions, which you read under Reports > Acquisition > Non Google campaign.
That is the usual answer, and it is right about clicks. The catch is that TikTok is an app people watch, and GA4 only hears about the part that turns into a click.
What one store's data shows
One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.
| What the export shows | Share of revenue | Source cell |
|---|---|---|
| Paid Social, in all three views | 0.0% | Channels sheet, Paid Social row |
| Organic Video, in all three views | 0.0% | Channels sheet, Organic Video row |
| Direct, in last click, first click and touched views | 57.7% | Channels sheet, Direct row |
| Journeys with 1 touch (0.5 days to buy) | 79.5% | Journeys sheet, 1 touch row |
| Journeys with 2 to 3 touches (12.5 days to buy) | 12.2% | Journeys sheet, 2 to 3 touches row |
Start with the zeros. On the Channels sheet, Paid Social and Organic Video hold 0.0% of revenue in last click, first click and touched. Touched is the generous view: a journey counts for every channel it passed through. So not one revenue journey in the export passed through either channel.
Paid Social is where tagged TikTok clicks with a paid medium belong. Organic Video is where you might look for TikTok, because GA4's channel notes call TikTok a video site. Its source list says social, though, so TikTok traffic should not land there.
The export does not say whether this store ran TikTok ads. If it did, the zero fits three stories. The clicks arrived untagged. The tags used a medium GA4 files elsewhere. Or the ads worked through views, which never reach GA4. Tags fix the first two stories. Nothing inside GA4 fixes the third.
On the Channels sheet, Direct holds 57.7% of revenue in every view. GA4's help names links without UTM parameters as one way a visit loses its source. An untagged click that also lost its referrer ends up in that row.
On the Journeys sheet, journeys with 1 touch hold 79.5% of revenue and took 0.5 days to buy. Picture a shopper who watches your TikTok on Monday and types your address on Friday. GA4 records one Direct visit, and a path report files it as a 1-touch journey.
Journeys with 2 to 3 touches hold 12.2% of revenue on the Journeys sheet and took 12.5 days to buy. If a tagged TikTok click opened a journey that long, a 7-day click window in TikTok would miss the sale. GA4's default lookback of 90 days would still see the click.
What the export cannot show is which visits came from TikTok, or what any TikTok view did. It holds revenue shares by channel, not ad names, clicks or impressions.
Why does TikTok count more sales than GA4?
Because they count different events. TikTok's Engaged View-Through Attribution credits an ad when someone watches at least 6 seconds of it, then converts. Those conversions sit inside TikTok's Conversions column, next to click-through ones.
View-through attribution goes further and counts a purchase after a plain view. TikTok's help says it is common to see more view-through conversions than click-through ones, since every click starts with a view.
GA4 sees none of that. A view sends no visit, so there is no session to credit. GA4's models also skip Direct unless a path holds nothing but Direct visits.
That last rule cuts both ways. A tagged TikTok click followed by a typed-in return can still earn TikTok credit in GA4. An untagged first click cannot, because GA4 never knew it came from TikTok.
Windows differ as well. TikTok lets each ad group count clicks for 1, 7, 14 or 28 days, and views for off, 1 or 7 days. GA4's lookback for purchases defaults to 90 days, with 30 and 60 as options. Compare the two totals only after you know both windows.
What can GA4 not tell you about TikTok?
Whether the ads caused the sales. GA4 shows which sessions came before a purchase. TikTok shows who saw or clicked before one. Neither shows what would have happened with the ads switched off.
The cost import does not change that. GA4 can then show return on non-Google ad spend for TikTok, but only on the revenue its own model hands to TikTok's clicks. If your buyers watch first and search later, TikTok will look weak in GA4 and strong in TikTok.
The test that answers the causal question is a holdout. Switch TikTok off in some regions, keep it on in the rest, and compare sales between the two groups.
What to do this week
- Find every spelling of TikTok in GA4. Go to Reports > Acquisition > Traffic acquisition. Set the table to Session source / medium and search for tiktok. Pass: one row, such as tiktok / paid, in Paid Social. Fail: several spellings, or TikTok under Organic Social or Unassigned, so switch on Auto-attach for new ads.
- Connect the TikTok import. In GA4, go to Admin, then Product links, then TikTok Links, and click Link. Pass: TikTok cost shows in Reports > Acquisition > Non Google campaign within 24 hours. Fail: sessions but no cost, which usually means the import's source and medium do not exactly match your tags.
- Split TikTok's count by type. In TikTok Ads Manager's reporting view, add custom columns for click-through, engaged view-through and view-through conversions. Pass: you know how much of TikTok's total came from views GA4 cannot see. Fail: you are still comparing GA4 with a total that mixes all three.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: Connect TikTok to Google Analytics (Google); Default channel group (Google); GA4 default-channel-group sources and categories (Google); URL builders: Collect campaign data with custom URLs (Google); Traffic-source dimensions, manual tagging, and auto-tagging (Google); Understand (direct) / (none) traffic (Google); Get started with attribution (Google); Select attribution settings (Google); Import campaign data (Google); Traffic acquisition report (Google); How to add URL parameters to your website URL in TikTok Ads Manager (TikTok); About Engaged View-Through Attribution (TikTok); About View-through Attribution (VTA) (TikTok); How to Create Attribution Windows for your Ad Group (TikTok); About TikTok Pixel (TikTok)
Related answers
Frequently asked questions
Why does TikTok show more conversions than GA4?
Because TikTok also counts conversions after views. Its Conversions column can include engaged view-through conversions, after at least 6 seconds of watching, and view-through ones within your window. GA4 credits sessions only, so a view without a click never reaches it.Will TikTok clicks show as Paid Social or Paid Video in GA4?
Usually Paid Social. GA4's downloadable source list files tiktok and tiktok.com as social sites, so a click tagged with a paid medium lands in Paid Social. GA4's channel descriptions also mention TikTok as a video site, which is why people go looking under Paid Video.Do I still need the TikTok pixel if I track TikTok in GA4?
Yes, if you want TikTok to measure and optimise your campaigns. The pixel shares website events with TikTok, while GA4 keeps its own record of sessions and purchases. Neither feeds the other, so dropping the pixel takes away the events TikTok uses for optimisation.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Attribution WindowAttribution Window is the defined period after a user interacts with a marketing touchpoint, during which a conversion can be credited to that ad. It sets the timeframe for assigning conversion credit.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- Google AdsGoogle Ads is an online advertising platform where advertisers bid to display ads, service offerings, and product listings.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- ImpressionAn Impression counts each time an ad or content displays on a user's screen. It measures exposure, not engagement.
- TikTok AdsTikTok Ads are advertisements on the TikTok platform. They allow brands to reach younger audiences through short-form video content.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.