How to measure ROI in digital marketing (2026 guide)

How to measure ROI in digital marketing (2026 guide)
Written by:
Picture of Lawrence Philemon
Lawrence Philemon
Share a little biographical information to fill out your profile. This may be shown publicly.

Table of Contents

Learning how to measure ROI in digital marketing starts with one formula: net profit divided by marketing cost, times 100. That number is only as accurate as the tracking behind it. This guide covers the formula, the UTM and CRM setup it depends on, attribution model choices, and the WhatsApp tracking gap specific to Indonesia, worth reading in full before you trust any ROI number your dashboard shows you.

What is digital marketing ROI?

Digital marketing ROI is a percentage that shows how much profit a marketing channel or campaign generated relative to what it cost. A 150% ROI means every rupiah spent returned 1.5x in profit on top of the original amount. A 0% ROI means the campaign broke even: no gain, no loss.

The number only means something once you know what’s inside it. Net profit has to exclude the cost of goods sold, not just marketing spend, or the figure overstates performance. Marketing cost has to include agency fees, ad spend, tools, and staff time, not just media budget, or it understates cost and inflates the result.

How to measure ROI in digital marketing: the formula and a worked example

The standard formula:

ROI = (Net Profit minus Marketing Cost) / Marketing Cost x 100

A worked example for a hypothetical Rp50,000,000 monthly Meta Ads budget that generated Rp180,000,000 in attributed revenue at a 40% margin:

Line itemValue
Revenue attributed to the campaignRp180,000,000
Gross profit at 40% marginRp72,000,000
Marketing cost (ad spend plus management fee)Rp50,000,000
Net profitRp72,000,000 minus Rp50,000,000 = Rp22,000,000
ROI(Rp22,000,000 / Rp50,000,000) x 100 = 44%

That 44% only holds if every rupiah of the Rp180,000,000 in revenue is actually attributable to the campaign. Most ROI calculations quietly fall apart at exactly this step, not the math, the attribution behind it.

ROI vs. ROAS: what’s the difference?

ROAS (Return on Ad Spend) is revenue divided by ad spend, with no profit margin or overhead subtracted. ROI is net profit divided by total marketing cost, margin and overhead included.

ROASROI
FormulaRevenue / Ad spendNet profit / Total marketing cost
Accounts for margin and overheadNoYes
What it tells youRevenue efficiencyActual profitability

A campaign can post a strong 4x ROAS and still lose money once thin margins and overhead are factored in.

Set up tracking before you calculate anything

Every ROI formula assumes clean, attributable revenue data. Most businesses don’t have it. A sale gets credited to the wrong channel. The same lead gets counted twice, once in GA4 and once in the CRM. A WhatsApp conversation never makes it into either system at all.

Three things need to be in place before the formula is worth running:

  1. UTM parameters on every paid and owned link, with a shared naming convention for source, medium, and campaign that whoever books media actually follows. One inconsistent tag breaks attribution for that entire campaign.
  2. GA4 configured with conversion events tied to real business outcomes (form submit, WhatsApp click, checkout) rather than default pageview goals. Gwenchana’s step-by-step GTM and GA4 setup guide covers the consent-mode configuration most setups skip.
  3. A CRM that logs source, campaign, and deal stage on every contact record, not just name and email.

Skip any of the three and the ROI number becomes a guess wearing a percentage sign.

 

Tracking Check

 

Not sure your UTM, GA4, and CRM setup is actually clean?

 

Gwenchana reviews existing tracking setups and flags the gaps that quietly break attribution before ROI gets calculated on top of it.

  Contact Gwenchana

Choose the right attribution model

Which touchpoint gets credit for a sale isn’t a settled question. It’s a modeling choice, and the model changes which channels look like they’re working.

ModelHow it credits a saleBest fit
First touch100% to the first channel a lead interacted withBrand awareness campaigns, long sales cycles
Last touch100% to the final channel before conversionShort sales cycles, e-commerce, direct response
LinearEqual credit split across every touchpointBusinesses with four or more touchpoints, no standout channel
U-shaped40% first touch, 40% last touch, 20% split across the middleB2B pipelines where first inquiry and closing conversation both matter

Most small and mid-size teams default to last touch because it’s what GA4 shows out of the box, not because it fits their sales cycle. For a business where a lead sees an Instagram ad, reads two blog posts over three weeks, then converts on a WhatsApp message, last touch hands 100% of the credit to WhatsApp and zero to the content that built the trust. None of the four models is objectively correct. They’re approximations of a buyer journey GA4 and most CRMs can’t fully see, especially once WhatsApp, referrals, and offline conversations enter the picture. Gwenchana’s breakdown of all six B2B attribution models goes deeper into the setup for each.

Track the metrics that actually predict ROI, not just leads

A rising lead count and a rising ROI are not the same thing. According to HubSpot’s State of Marketing Report (2026), lead quality and MQLs are the metric 39% of marketers rank as mattering most, ahead of lead-to-customer conversion rate at 34% and raw ROI at 31%.

Metrics worth tracking alongside ROI:

  • Cost per qualified lead (CPL), filtered by qualification criteria, not raw form fills
  • Lead-to-customer conversion rate, broken out by channel
  • Customer acquisition cost (CAC), including sales team time, not just ad spend
  • Customer lifetime value (CLV), especially for subscription or retainer businesses, since a low-CAC channel that also produces low-CLV customers isn’t actually cheap
  • Sales cycle length, by lead source

Gwenchana’s eight dashboard metrics that skip vanity numbers is a useful checklist if the current dashboard is mostly impressions and reach.

What counts as a qualified lead?

A qualified lead is a contact that matches defined criteria for budget, authority, need, and timeline, not simply anyone who filled out a form. Counting every submission as a lead is the single most common way ROI numbers get inflated. A landing page that collects 200 form fills but only 12 of them have budget and decision-making authority isn’t a 200-lead campaign. It’s a 12-lead campaign with 188 pieces of noise sitting on top of it.

Connect ROI to CRM pipeline stages, not just one number

A single ROI percentage hides where the money actually moved. Two campaigns can post the same 40% ROI for different reasons: one because leads converted cleanly through the pipeline, the other because two large, unrelated deals happened to close in the same month and got attributed to the wrong campaign by default.

Tracking ROI against pipeline stage instead of one blended number shows where a campaign is actually earning its cost:

StageCampaign ACampaign B
Leads4020
Marketing qualified (MQL)1512
Sales qualified (SQL)67
Closed25

Both campaigns can show a similar blended ROI on a spreadsheet, while Campaign B is doing all the real work. A campaign with a strong lead-to-MQL rate but a weak MQL-to-opportunity rate has a message problem, not a targeting problem, and that distinction only shows up once ROI is split by stage.

This is the layer most ROI dashboards skip, and it’s usually the layer that explains why the top-line number doesn’t match what sales is seeing on their calls. Gwenchana’s CRM lead funnel building work is built around this exact gap: wiring pipeline stages into the same system as the ad and content data, instead of running ROI math and CRM reporting as two disconnected spreadsheets.

 

Pipeline Visibility

 

Still reporting one blended ROI number instead of pipeline stages?

 

Gwenchana’s CRM and attribution work connects campaign data to pipeline stage, so ROI reporting shows where a campaign is actually earning its cost.

  Contact Gwenchana

The Indonesia blind spot: measuring WhatsApp and chat-based leads

GA4 and most attribution software were built around a form-submission model of conversion. In Indonesia, a large share of B2B and D2C conversations start, and often close, on WhatsApp, a channel neither tool sees natively.

A lead that clicks a Meta ad, opens WhatsApp, negotiates for three days, and closes over a phone call shows up in GA4 as a single unattributed click, if it shows up at all. The revenue lands in the CRM or on an invoice with no link back to the campaign that started it. ROI calculated only from form and checkout data will systematically undercount every channel that feeds WhatsApp, which for a lot of Indonesian businesses is most of them.

The fix isn’t glamorous: click-to-WhatsApp tracking parameters on the ad platform, a WhatsApp Business API integration that logs the referring campaign, and a CRM field that captures “how did you hear about us” at the point a conversation starts. Gwenchana’s guide to WhatsApp lead nurturing for B2B and the piece on proving ROI to your CFO with an attribution dashboard both walk through this setup for teams selling primarily through chat.

When manual tracking breaks: signs you need a system, not just a formula

The formula holds up fine at one or two channels. It starts to break at three or four, once a lead can arrive through paid social, get nurtured by email, get re-engaged by retargeting, and close after a WhatsApp conversation, with three different tools each claiming partial credit for the same sale.

A few signs the spreadsheet version has reached its limit:

  • Marketing and sales report different numbers for the same month, and nobody can fully explain the gap
  • The CFO asks which channel to cut and the honest answer is “we don’t know”
  • Attribution data lives in four places (ad platform, GA4, CRM, WhatsApp) that don’t talk to each other
  • ROI looks fine on paper but the sales team says lead quality has dropped

None of these mean the formula is wrong. They mean the business has outgrown manual tracking and needs a system that reconciles data across channels automatically: consistent attribution logic and connected reporting, rather than a monthly spreadsheet reconciliation exercise. Some larger advertisers eventually add marketing mix modeling on top of digital attribution to account for offline and brand effects attribution alone can’t capture, though that’s usually a later step, not a starting point. Gwenchana’s seven questions to ask before hiring a B2B marketing agency is a reasonable filter when evaluating outside help, and the media analysis and campaign performance tracking service covers the data consolidation side specifically.

How to measure ROI in digital marketing isn’t the hard part: the formula is one line. Trusting the result is, because the inputs feeding it (attributed revenue, qualified leads, true marketing cost) are usually messier than the formula assumes. Fixing the formula rarely fixes the number. Fixing the tracking underneath it does.

 

Start Here

 

Ready to see where your ROI numbers actually come from?

 

Talk to Gwenchana about setting up attribution that holds up when someone in the room asks where the number came from.

  Contact Gwenchana

How do you calculate ROI in digital marketing?

Digital marketing ROI equals net profit minus marketing cost, divided by marketing cost, times 100. Net profit is revenue attributed to the campaign minus both the marketing cost and the cost of goods sold. Using revenue instead of profit is the most common calculation error.

What is the 70/20/10 rule in digital marketing?

The 70/20/10 rule is a budget allocation guideline: 70% of marketing spend goes to proven channels and tactics, 20% to channels showing early promise, and 10% to experimental, unproven ideas. It’s a budgeting framework, not an ROI measurement method: it sizes the bets, it doesn’t calculate the returns.

What does a 20% ROI mean?

A 20% ROI means a campaign returned Rp0.20 in profit for every Rp1 spent, on top of recovering that original rupiah. Whether 20% is good depends on the channel: it’s solid for a brand awareness campaign with a long payback window, but weak for a direct response channel like paid search, where 200%+ is a more typical target.

What is the difference between ROI and ROAS?

ROAS divides revenue by ad spend with no cost of goods or overhead subtracted. ROI divides net profit by total marketing cost. A campaign can post a strong ROAS and still be unprofitable once margin and overhead are factored in.

How do you track WhatsApp or chat-based leads for ROI attribution?

Use click-to-WhatsApp tracking parameters on ad platforms, connect a WhatsApp Business API integration that logs the referring campaign, and add a CRM field that captures lead source at the start of the conversation. Without this, WhatsApp-originated revenue shows up disconnected from the campaign that generated it.

What is the best way to measure ROI in digital marketing?

There isn’t one best way. The right method depends on the channel and sales cycle. Paid search and e-commerce suit last-touch or ROAS-based measurement because the cycle is short. Long B2B sales cycles need multi-touch or U-shaped attribution tied to CRM pipeline stages, because a single-touch model misattributes most of the credit.

Share this:
Related Blogs

A Tableau marketing dashboard pulls data from web analytics, CRM records, and ad-spend platforms into...

ROI marketing digital adalah selisih pendapatan dan biaya campaign, dibagi biaya, lalu dikali 100%. Rumusnya...

An email marketing dashboard pulls your campaign metrics into one screen: opens, clicks, conversions, deliverability....