2025 Social Media Analytics Playbook — Track Revenue, Not Likes
Download printable cheat-sheet (CC-BY 4.0)24 Jul 2025, 00:00 Z
TL;DR Standardise UTMs across channels, wire GA4 events to Looker Studio and monitor ROAS/CPL/CAC inside a live dashboard that updates every time your content converts.
1 UTM parameter schema by platform
| Platform | utm_source | utm_medium | utm_campaign | utm_content |
| social | {{campaign}} | {{post_id}} | ||
| TikTok | tiktok | social | {{campaign}} | {{video_id}} |
| YouTube | youtube | social | {{campaign}} | {{short_id}} |
| social | {{campaign}} | {{post_id}} | ||
| X (Twitter) | x | social | {{campaign}} | {{tweet_id}} |
Use utm_term for paid keywords. Use utm_id as a stable campaign ID you
define (recognized by GA4 for campaign mapping); don’t rely on platform
auto-tagging IDs like gclid/fbclid to replace UTMs.
2 GA4 and Looker Studio setup
2.1 GA4 events
- Enable Enhanced Measurement for scroll, outbound and site search.
- Create custom events:
- dm_start triggered by click on DM link.
- dm_click (or similar) for outbound DM link clicks.
- Avoid emitting “assisted purchase” as a GA4 event — assisted revenue should be modeled in reporting, not captured as a site event.
- Mark applicable on-site actions (e.g., dm_click) as Conversions.
2.2 Looker Studio dashboard
- Connect GA4 property as data source.
- Add charts:
- Retention cohort table using first_user_source.
- DM conversion funnel with dm_start → dm_complete.
- Assisted revenue bar using a Looker Studio/BigQuery model that applies your attribution window (e.g., 7 days) to social touchpoints.
- Apply filter control for source / medium to drill down by platform.
3 ROI formulas and benchmarks
3.1 Formulas
\[ ROAS = \frac{\text{Revenue}}{\text{Ad Spend}} \]
\[ CPL = \frac{\text{Total Spend}}{\text{Leads}} \]
\[ CAC = \frac{\text{Total Spend}}{\text{New Customers}} \]
3.2 Benchmarks (how to set them)
- Start with your trailing 90-day averages for ROAS, CPL and CAC.
- Define “maintain”, “improve” and “stretch” bands relative to those baselines.
- Update targets quarterly as campaigns, seasonality and pricing change.
- When benchmarking externally, favour first-party partner data or paid research; public blog round-ups often lag reality.
4 Build a real-time content performance dashboard
- Data ingestion
- Send UTM-tagged link clicks to Google Sheets via Zapier or n8n.
- Enable the GA4 → BigQuery export link (daily + intraday export for standard; streaming for 360).
- Model layer
- Join Sheets UTM logs with BigQuery events/sessions on utm_source and utm_campaign.
- Calculate ROAS, CPL and CAC using the formulas above.
- Visualization
- Connect Looker Studio to the model.
- Create scorecards for ROAS/CPL/CAC and a table showing content pieces ranked by assisted revenue.
- Automation
- Refresh data every 15 minutes for near real-time reporting.
- Email a PDF snapshot to stakeholders every Monday.
5 Call-to-action
Want to explore how to instrument this? DM us “ATTRIBUTION” on LinkedIn for a walkthrough of the dashboard stack we use for clients.Shoot us an idea
References
- Google Analytics 4 BigQuery Export: https://support.google.com/analytics/answer/9358801
- GA4 Campaign parameters (
utm_idsupported): https://support.google.com/analytics/answer/10917952 - GA4 Attribution overview (assisted conversions via attribution): https://support.google.com/analytics/answer/12153618
Last updated 24 Jul 2025. Clarified GA4/UTM mechanics; added references.