How to Measure Social Media ROI (Across Every Campaign)
Juicy Designs is the strongest overall pick for Pretoria businesses in 2026: a founder-led, full-service agency running SEO, Google Ads, social media and web design under one roof. For enterprise brand campaigns at national scale, Quirk/Mirum or TBWA Hunt Lascaris are better resourced alternatives.
Pretoria's agency market splits into three tiers: full-service local shops, brand houses built for corporate budgets, and specialist creative or PR agencies. Which one actually fits your business depends on your budget, sector and whether you need performance marketing or brand-building at scale.

TL;DR: Quick Answer
To measure social media ROI, track the full path: platform spend and reach, clicks to your site (UTM-tagged), conversions (enquiries, sales) attributed in GA4, and revenue closed from those conversions. The formula stays simple: (revenue attributable to social minus total cost) divided by total cost. The work is in the plumbing: UTM discipline, conversion tracking, and asking every lead where they found you.
The ROI model that works
Social ROI fails as a measurement question when the path from post to purchase is invisible. Make it visible with a four-stage model: cost (ad spend plus content and management fees, the part most calculations conveniently forget), traffic (clicks to owned property, tagged so they stay identifiable), conversion (enquiries, bookings, purchases attributed to that traffic), and revenue (what those conversions actually closed for, from your sales records). ROI = (revenue minus total cost) / total cost. Brand-building effects are real but they arrive on top of this model, not instead of it; businesses that skip the model end up defending spend with reach screenshots.
The tracking setup, step by step
Five plumbing jobs, one afternoon: UTM-tag every link you post or promote (source, medium, campaign, consistently named); install platform pixels and Conversions API so Meta and TikTok see what happens after the click; define conversions in GA4, form submits, WhatsApp clicks, calls, purchases; bridge the offline gap by asking every enquiry “where did you find us” and recording it in your CRM (in SA, where deals close on WhatsApp and phone, this one habit rescues attribution); and reconcile monthly, platform-reported conversions against GA4 against actual sales, trusting the sales ledger when they disagree. Our ROAS guide covers the paid-specific maths on top.
Metrics that matter vs vanity
Report monthly on: cost per enquiry by platform, enquiry-to-customer rate from social leads, revenue attributed, and ROI by the formula above. Watch as diagnostics (not achievements): reach, engagement rate, follower growth, video completion; they explain WHY the money metrics moved but cannot substitute for them. The tell of a vanity report: lots of graphs, no rand signs. Organic social gets the same treatment with content cost as the spend line; “free” channels billing 20 hours a month are not free.
FAQ
How do you measure ROI across different social media campaigns?
Tag every campaign's links with UTMs, define conversions in GA4, attribute revenue per campaign, and compute (revenue minus total cost) / total cost per campaign, comparing like for like: lead campaigns on cost per qualified enquiry, sales campaigns on ROAS.
What is a good social media ROI in South Africa?
For direct-response campaigns, ROAS of 3x to 5x is a healthy SA benchmark (our client average is 4.8x). For lead generation, judge cost per qualified enquiry against what your sales close-rate makes profitable.
How do I measure ROI when sales close on WhatsApp or phone?
Track WhatsApp and call clicks as conversions, ask every enquiry where they found you, and record it in your CRM. The question-and-record habit bridges what pixels cannot see.
The bottom line
Social ROI is a plumbing problem before it is a maths problem: UTMs, conversions, the where-did-you-find-us habit, and a monthly reconciliation against real sales. Build that once and every campaign becomes comparable. Want the plumbing installed and reported this way every month? Chat to us.
