Advertising & Marketing

Measuring Campaign Results: Conversions and ROAS

Which campaign metrics are worth tracking, how they are calculated, why platform numbers never match your sales, and how UTM parameters and pixels show what really works.

Thebes International teamPublished 8 min read

Measuring Campaign Results: Conversions and ROAS

To measure ad campaign results properly, you need to know, with reasonable accuracy, how much you spent, what came back and which ad or channel caused it. Platform dashboards are full of numbers, but few of them answer the question a business owner actually cares about: is this spend making money? This guide explains the core metrics and how to calculate them, the ideas behind attribution, UTM parameters and pixels, and how to tell whether an ad really created new sales. It is part of the complete digital marketing guide.

Start with the goal: which conversion are you measuring?

A conversion is the action you want someone to take after seeing an ad: a purchase, a form submission, a call, a WhatsApp chat or an app install. Every campaign should have one primary conversion it is judged on, plus secondary conversions that help you understand the journey, such as product page views or add to cart.

Define the primary conversion before launch and confirm it is actually being recorded. If conversions vary in value (one order is AED 100, another AED 1,000), send the value of each order to the platform. Counting orders alone isn't enough to calculate return.

Core metrics and how they're calculated

MetricFormulaWhat it tells you
CPM (cost per thousand impressions)Spend ÷ impressions × 1,000The cost of reaching people; affected by competition and season
CTR (click-through rate)Clicks ÷ impressionsHow appealing the ad is to those who saw it
CPC (cost per click)Spend ÷ clicksThe cost of bringing one visitor
Conversion rateConversions ÷ clicksHow well the page and offer persuade
CPA (cost per acquisition)Spend ÷ conversionsThe cost of one order or customer
ROAS (return on ad spend)Revenue ÷ spendSales generated per unit of ad spend
FrequencyImpressions ÷ people reachedHow many times, on average, each person saw the ad

Illustrative example: a campaign spends AED 2,000, gets 100,000 impressions, 1,500 clicks and 40 orders worth AED 8,000. That gives a CPM of AED 20, a CTR of 1.5%, a CPC of about AED 1.33, a conversion rate of about 2.7%, a CPA of AED 50 and a ROAS of 4.

A ROAS of 4 doesn't automatically mean profit. If your margin before advertising is 25%, your break-even ROAS is exactly 4, so the campaign in the example made nothing. How to calculate that threshold is covered in setting and allocating an advertising budget. It also helps to track blended ROAS: all store revenue for the period divided by all ad spend. It isn't distorted by how each platform credits itself.

Read metrics together, not alone

A single metric rarely diagnoses a problem. A combination points to where it is:

  • High CTR, low conversion rate: the ad attracts people, but the page, price or checkout doesn't convince them. Review the landing page and the common causes of cart abandonment.
  • Low CTR: the message or creative doesn't fit the audience, or targeting is too broad.
  • High CPM: heavy competition for the audience, a very narrow audience, or a busy season.
  • Rising frequency with falling CTR: the audience is tired of the ad and needs fresh creative.

Don't forget what happens after the order: cancellation rate, return rate and refused cash-on-delivery parcels. A campaign that brings many orders, half of which are refused at the door, isn't a success. These are explained in e-commerce KPIs you should track.

Attribution windows and models

Attribution means deciding which ad or channel gets credit for a sale. Two concepts matter.

The attribution window is the period during which a platform counts a conversion after someone interacts with an ad. There is usually a click-through window (they bought within a number of days after clicking) and a view-through window (they saw the ad without clicking and bought within a shorter period). Each platform sets its own defaults, which you can often change, so check the settings in your account.

The attribution model decides how credit is shared when the journey involves several touchpoints:

  • Last click: all credit to the last ad clicked before purchase.
  • First click: all credit to the first touchpoint that introduced the brand.
  • Distributed models: credit shared across touchpoints, equally or with different weights.
  • Data-driven: the tool assigns weights based on actual conversion patterns in your account.

The practical consequence: each platform counts conversions from its own point of view. Add up what Meta, Google and TikTok report and you'll usually get more than your real orders, because several platforms can claim the same sale. So pick one source of truth, your store or order system, and use platform figures to compare ads within that platform. The models on offer also vary between tools and change over time.

UTM parameters: know where every visit came from

UTM parameters are tags added to the end of a link that tell an analytics tool, such as Google Analytics, where a visit came from. They follow a question mark at the end of the URL, separated by an ampersand (&).

ParameterPurposeExample value
utm_sourceThe sourceinstagram
utm_mediumThe channel typepaid_social
utm_campaignThe campaign nameramadan_offer
utm_contentThe specific ad or creativevideo_a
utm_termThe keyword (mostly for search ads)arabic_coffee

Rules that keep them useful: always use lowercase, since some tools treat "Instagram" and "instagram" as different sources. Agree on a written naming convention with your team, and build links from a spreadsheet instead of typing them by hand. Most ad platforms can append parameters automatically at account or ad level.

Links that open a WhatsApp chat don't pass UTM data to your analytics. A practical workaround is to prefill the message with a different code for each campaign, or to ask customers where they heard about you and log the answer.

Pixels and server-side conversions

A pixel is a snippet of code on your website that sends events such as page views, add to cart and purchases to an ad platform. The platform then knows which ad preceded a sale and learns whom to target. Because the pixel runs in the visitor's browser, it loses some signals to ad blockers, browser and device privacy restrictions, and visitors declining cookies.

To make up for this, platforms offer server-side sending, such as Meta's Conversions API and similar options on other platforms. Your store's server sends the event directly to the platform, which is more reliable because it doesn't depend on the browser. Common practice is to run both together with a shared event ID, so the platform recognizes duplicates and doesn't count them twice.

Many store platforms, such as Shopify, Salla and Zid, offer ready-made integrations for these tools, so start there before building anything custom. Whatever the method, respect visitor consent and the data protection rules in your country and your audience's, and don't send personal data without a clear basis. The principles are covered in online store security and customer data protection.

Incrementality: did the ad actually create the sale?

Incrementality is the difference between what happened with the ad and what would have happened without it. Retargeting ads, for example, often show a very high ROAS, yet some of those buyers were already on their way to checkout and would have bought anyway. The platform takes the credit, but the real effect is smaller.

Practical ways to measure it:

  1. Holdout group: exclude a random part of the audience from seeing the ad, then compare their purchases with those who saw it.
  2. Geo test: run the campaign in one city or emirate and pause it in a similar one, then compare how sales change in each.
  3. Planned pause: switch off a channel for a set period and watch total sales, allowing for seasonality.
  4. Platform lift studies: some platforms offer built-in lift tests for accounts that meet their requirements.

Measuring offline sales

In Gulf and Egyptian markets many sales close by phone, on WhatsApp, with cash on delivery or in a physical store. To connect them to ads, use a discount code per campaign, dedicated phone or WhatsApp numbers, and a standard question at checkout: "How did you hear about us?" The same approach works for measuring influencer campaigns and outdoor and print advertising.

A simple weekly report

You don't need a complex dashboard. A weekly sheet with these columns covers most small and medium businesses: spend per channel, orders from your store records, orders reported by each platform, CPA, ROAS, blended ROAS, cancellation and return rate, and a note on anything changed that week. Compare each week with the previous one and with the same point in last year's season, and end every review with at least one decision. Reading reports inside each platform is covered in the Meta Ads beginner's guide and the Google Ads guide.

Measurement checklist

  • Does each campaign have one primary conversion, and is it being recorded?
  • Is order value sent with the purchase event?
  • Are the pixel and server-side events both working without double counting?
  • Do all ad links carry UTM parameters under one naming convention?
  • Is your order system the single source of truth?
  • Have you calculated break-even ROAS, and do you compare against it rather than ROAS alone?
  • Are you tracking cancellations, returns and refused deliveries, not just orders?
  • Have you run a simple incrementality test on your biggest channel?

Related articles