Free tool · no signup

Social media ROI calculator

Most ROI formulas count ad spend and stop there. This one counts the hours too — which is usually the largest cost, and the reason reported ROI and actual profit disagree.

Your numbers

$
$
$
$
60%

Return on investment

88.6%

Net gain of $5,075

Profitable

Gross profit covers all costs with $5,075 left over. Labour is 51% of your total cost — that is the line to optimise before cutting ad spend.

Total cost
$5,725
Gross profit
$10,800
ROAS (ads only)Revenue divided by ad spend. Ignores labour, which is why it always looks better than ROI.Revenue divided by ad spend. Ignores labour, which is why it always looks better than ROI.
7.20×
Break-even revenue
$9,542

Labour alone runs $35,100 a year at this cadence.

Most published ROI formulas count only ad spend, which is why they flatter social so badly. Labour is almost always the largest line — this calculator makes you look at it.

In short

How do you calculate social media ROI?

Multiply attributed revenue by your gross margin to get gross profit. Subtract total cost — ad spend plus tools plus labour. Divide what is left by total cost and multiply by 100.

The step almost everyone skips is labour. Fifteen hours a week at a $45 loaded cost is roughly $2,900 a month. Leave that out and a programme that is quietly losing money reports a healthy return.

The formula

Social media ROI

ROI = ((Revenue × Margin) − (Ad spend + Tools + Labour)) ÷ (Ad spend + Tools + Labour) × 100

Labour uses 52 ÷ 12 = 4.33 weeks per month, not 4. Using 4 understates the cost by about 8% and flatters every result.
The gap

Why your ROAS looks great and your P&L does not

ROAS answers one narrow question: for every dollar of media, how many dollars came back. It is the right metric for a media buyer optimising a campaign, and the wrong one for deciding whether a social programme is worth running.

Consider a programme doing $18,000 a month in attributed revenue on $2,500 of ad spend. That is a 7.2× ROAS — excellent by any standard. Now add a 60% gross margin, $300 of tools, and one person spending fifteen hours a week at a $45 loaded cost. Gross profit is $10,800; total cost is about $5,725. The ROI is roughly 89% — still good, but a completely different conversation than 7.2×.

Drop the margin to 25%, as it would be for many physical products, and the same campaign is losing money every month while its ROAS dashboard stays green.

Attribution

Be conservative, and be consistent

The fastest way to make this calculation useless is to be generous with what counts as social revenue. If your attribution model credits social for every purchase that ever touched a social post, the ROI number is a story rather than a measurement.

Consistency matters more than picking the theoretically correct model. Whatever window and model you use, use the same one every month so the trend means something. Consistent UTM tagging is the unglamorous foundation of all of it — inconsistent casing alone will split one channel into three rows in GA4 and quietly understate your results.

Social also carries value that direct attribution structurally cannot see: branded search lift, sales that close over the phone, the customer who found you eight months ago. That is an argument for treating a modest positive ROI as a genuine win, not an argument for inflating the input.

Improving it

The lever is usually hours, not spend

When ROI comes out negative, the instinct is to cut ad budget. But look at the cost split first — on most in-house programmes labour is 60–80% of the total. Halving a $2,500 ad budget saves less than removing four hours a week of production time.

That does not mean working less. It means the same output taking fewer hours: batching a month of content in one sitting instead of daily, adapting one idea across networks rather than starting fresh each time, and letting scheduling remove the manual publish step entirely.

Run the same numbers with your hours cut by a third and watch what happens to the ROI figure. It moves far more than any realistic change to ad spend or conversion rate.

FAQ

Common questions

How do you calculate social media ROI?

Take the revenue you can attribute to social, multiply by your gross margin to get gross profit, subtract every cost — ad spend, tools and labour — then divide the result by that total cost and multiply by 100. The formula most people use skips labour entirely, which is why their reported ROI looks far better than the business feels.

What is the difference between ROI and ROAS?

ROAS is revenue divided by ad spend and nothing else. ROI is profit divided by total cost, including labour, tools and cost of goods. A campaign at 4× ROAS can still have negative ROI once you count the two people who spent half their month on it. ROAS is a media-buying metric; ROI is a business metric.

Why does labour matter so much?

Because on most social programmes it is the largest line by a wide margin. Fifteen hours a week at a $45 fully-loaded hourly cost is about $2,900 a month — usually more than the ad budget and always more than the tooling. Any ROI figure that ignores it is measuring the wrong thing.

How do I attribute revenue to social media?

Use tracked links with consistent UTM parameters, platform-specific discount codes, or a documented last-touch model in your analytics. Whatever you choose, apply it consistently and be conservative — social is usually an assist channel, and over-claiming attribution makes the ROI number worthless for decisions.

What is a good social media ROI?

Anything above 0% means the programme is contributing more than it costs. Because social carries assisted conversions and brand effects that direct attribution misses, most teams treat 100% ROI — doubling your money — as a healthy target for a mature programme, and accept lower or negative figures during the first six to twelve months.

Should I include the cost of content creation?

Yes. If a photographer, designer or editor touches the work, their time or invoice belongs in the calculation. Add it to the hours or fold it into your hourly cost — just do not leave it out because it sits in a different budget line.