// HOW-TO · ANALYTICS

How to measure social media performance in GA4 (2026)

How to measure social media in GA4: tag links with UTMs, read the Traffic acquisition report, mark key events, and build a social explorations dashboard.

Last verified · 2026-09-12 · by Moe Ameen

Native platform analytics tell you what happened on the platform — reach, likes, saves. They cannot tell you what those posts did once someone left the feed and landed on your site: whether they signed up, bought, or bounced. Google Analytics 4 is where that second half lives. It is the one place you can attribute a session, a lead, or a purchase back to the exact platform, campaign, and post that sent it, so "social is working" stops being a vibe and becomes a number you can defend.

This is the practical setup. You will tag your outbound links so GA4 knows which platform and campaign each click came from, confirm GA4 is sorting that traffic into the right channel, define the on-site actions that count as success, and assemble a report you can read in ten seconds each week. The tagging discipline is the part everyone skips and the part everything else depends on — get it right once and every downstream report is clean. For turning these numbers into a repeatable report, see [how to create social media reports with AI](/how-to/create-social-media-reports-with-ai); for reducing your reliance on any single traffic source, [how to diversify away from Google Search traffic](/how-to/diversify-away-from-google-search-traffic).

The steps

  1. Tag every outbound social link with UTM parameters. GA4 can only credit social precisely if you tell it where a click came from, and you do that with UTM parameters appended to the link. Use Google's own Campaign URL Builder to generate them so the format is correct. Set utm_source to the platform (facebook, instagram, tiktok, linkedin), utm_campaign to the campaign or content theme, and — critically — utm_medium to a value GA4 recognizes as social. Untagged links fall into Referral or Direct and blur your social numbers with everything else.
  2. Use a utm_medium value GA4 files as 'social', not a custom one. This single choice decides your channel report. GA4 sorts a session into Organic Social when the referrer matches a known social site or the utm_medium is one of: social, social-network, social-media, sm, social network, or social media. Tag a paid post with a medium containing 'paid', 'cp', 'ppc', or 'retargeting' and it goes to Paid Social instead. Invent your own value like 'ig-bio' and GA4 can't classify it — the traffic lands in Unassigned. Pick one convention and document it so every link and every teammate uses it.
  3. Confirm the traffic is landing in the right channel. After a day of tagged posting, open Reports > Acquisition > Traffic acquisition and look for Organic Social and Paid Social rows. Then change the primary dimension dropdown to Session source / medium to see the platform-level breakdown (instagram / social, tiktok / social, and so on). If real social clicks are showing as Unassigned or Referral, your utm_medium is the culprit — go back and fix the tag. Verifying now saves you from a month of misattributed data you can't retroactively repair.
  4. Define what counts as success and mark it as a key event. Traffic alone is a vanity number; the point of GA4 is tying social to outcomes. Decide the on-site actions that matter — a sign-up, a purchase, a demo request, a lead form — and in Admin > Events, toggle each one on as a key event (GA4 renamed 'conversions' to 'key events' in March 2024). Only events you mark as key are counted in your attribution and channel reports as outcomes, so this step is what lets you say 'Instagram drove 14 sign-ups,' not just 'Instagram drove clicks.'
  5. Read social outcomes, not just sessions. Back in Traffic acquisition, the same table shows a Key events column and, once you scope one, its value — so you can rank platforms by leads or revenue rather than raw sessions. A platform sending fewer but higher-intent clicks will often beat a high-volume one here, which is the insight native analytics can never surface. Match the report's attribution and comparison window to your sales cycle so a slow-converting channel isn't judged on a same-day snapshot.
  6. Check assisted conversions before you cut a channel. Social often opens the relationship and a later search or direct visit closes it, so last-click reporting undersells it. Go to Advertising > Attribution to compare attribution models and view conversion paths — you will frequently find a platform that rarely gets the final click but appears early in many winning journeys. Kill a channel on last-click alone and you can amputate the top of your funnel. Judge social on its assisting role, not only its closing role.
  7. Build one explorations dashboard you actually read weekly. Turn the above into a standing view in the Explore section: a free-form or table exploration with source/medium and campaign as rows, and sessions, engagement rate, and your key events as columns, filtered to social traffic. Save it and revisit the same view every week. A report you rebuild from scratch each time gets skipped; a saved exploration you glance at in seconds is what turns measurement into a habit and a habit into better content decisions.

Common gotchas

  • Inventing your own utm_medium. A custom value like 'ig-story' or 'fb-ads' is not recognized as social, so GA4 dumps the traffic into Unassigned or the wrong channel — utm_medium must be a value on GA4's social list (or a paid pattern) to classify correctly.
  • Confusing utm_source and utm_medium. Source is the platform (instagram); medium is the channel type (social). Swapping them scrambles every channel report and the mistake is hard to spot until the data is already dirty.
  • Forgetting to mark key events. If no event is toggled as a key event, your reports show sessions but zero outcomes, and social looks like it drives nothing. Define success actions before you judge any channel.
  • Judging social on last-click only. Social frequently assists rather than closes; a last-click view alone will understate it. Check conversion paths in Advertising > Attribution before declaring a platform dead.
  • Inconsistent tags across a team. Two people using 'Instagram' and 'instagram', or 'social' and 'Social', split the same platform into separate rows. Lowercase everything and keep a shared naming convention.
  • Not verifying the setup before scaling. A tagging error caught after a week costs a week; caught after a quarter it costs a quarter of unusable data that can't be re-tagged retroactively.

Where Kompozy fits

GA4 is the read side of your social operation — it tells you, with attribution you can defend, which platform and which campaign turned a post into a sign-up or a sale. What it can't do is act on that answer. Reading in GA4 that Instagram carousels drove your key events while TikTok drove clicks that never converted is only useful if something then produces more carousels, shifts the mix, and publishes them across the platforms that actually pay off. That production-and-publishing half is Kompozy — the write side of the same loop. It is a full AI content generation and multi-platform publishing engine, and the point of pairing it with GA4 is that measurement stops being a monthly autopsy and becomes next week's brief.

Here is the loop in practice. GA4's Traffic acquisition and attribution reports name the winners: a format (carousel, short, quote graphic), a pillar, and the two or three platforms carrying your key events. You feed that back into what Kompozy generates — [Carousel Posts](/glossary/output-buckets) rendered brand-exact through [HyperFrames](/glossary/hyperframes), [Persona Shorts](/glossary/persona-shorts) and avatar video, [Clipped Shorts](/glossary/clipped-short) from long-form, photo posts, blogs, and newsletters — all governed by one [Persona Brief](/glossary/persona-brief) so the voice stays consistent as you double down. Then [Autopilot](/glossary/autopilot) schedules the batch and fans it across the eight social platforms plus blog and email behind a per-post review gate, so the reallocation GA4 pointed to actually ships instead of sitting in a doc. The measurement tells you where to lean; Kompozy is what leans there.

One discipline this makes easier: because every post moves through Kompozy's single review pipeline before it publishes, that gate is the natural place to confirm the destination link carries the right UTM tags — the step from step one that keeps GA4's numbers clean. The honest boundary is worth stating plainly: Kompozy is not an analytics tool and does not replace GA4. It won't build your UTM convention, mark your key events, or read your conversion paths — you keep GA4 for measurement and use Kompozy to act on it. That division is the feature: a scoreboard you trust, and a production engine that changes the game based on the score. Creator ($49/mo, 2,500 credits) fits a solo creator closing the measure-then-make loop weekly; Pro ($299/mo, 18,000 credits) suits a team reallocating across every surface on the numbers; Enterprise is custom for agencies running the loop across many brands.

Frequently asked questions

Why is my social media traffic showing as Unassigned or Direct in GA4?

Almost always a UTM problem. GA4 classifies a session as Organic Social only when the referrer matches a known social site or the utm_medium is a recognized social value (social, social-network, social-media, sm, social network, or social media). A custom medium GA4 doesn't recognize lands in Unassigned, and a link with no UTM tags at all often shows as Direct — especially clicks from in-app browsers that strip the referrer. Fix the tags and future traffic classifies correctly; existing rows can't be reclassified after the fact.

What is the difference between a key event and a conversion in GA4?

They are the same idea under two names in two products. In March 2024 GA4 renamed 'conversions' to 'key events' — an important on-site action you mark so GA4 counts it in reports. The word 'conversion' now belongs to Google Ads: you import a GA4 key event into Ads and it becomes a conversion the Ads system optimizes toward. For measuring social in GA4, the term you use is key event; mark your sign-up, purchase, or lead events and they'll appear in your channel and attribution reports.

Do I need UTM parameters if GA4 already detects social referrers?

Yes, if you want precision. GA4 can auto-classify traffic from recognized social domains into Organic Social, but it can't distinguish which campaign, which post, or which link in a crowded bio sent the click — and many mobile and in-app clicks arrive with the referrer stripped, so auto-detection misses them entirely. UTM tags give you campaign and content granularity and rescue the referrer-less clicks. Auto-detection is a floor; UTMs are what make social reporting actually actionable.

How do I know which social platform actually drives revenue in GA4?

Mark your revenue or lead action as a key event, then open Reports > Acquisition > Traffic acquisition and set the dimension to Session source / medium so each platform is its own row with a key events (and, for purchases, value) column. Rank by outcome, not sessions — a lower-traffic platform sending higher-intent visitors often wins. Then cross-check Advertising > Attribution conversion paths, because a platform that assists early without taking the last click is easy to undervalue on the surface report.

How often should I check GA4 for social media measurement?

Set the tagging and key events up once, then read a saved social exploration weekly for the operating rhythm — which platforms and campaigns are trending on outcomes — and do a deeper attribution and conversion-path review monthly, matched to your sales cycle. Daily checks add noise more than signal for most social programs, since conversions lag the click. The value is in a consistent cadence against a stable, saved view, not in refreshing the dashboard.

Related tutorials

← All how-to guides · Get Started