Proje vitrini hazırlanıyorPreparing project showcaseПодготавливаем витрину проекта

Marketing

True ROAS from your CRM, not the ad platform

The four reasons platform conversion value and closed-won revenue disagree, how cohort maturity changes the answer, and the tests a rule should survive first.

Rocketly · 2026-09-05

Tuesday, 9:40 a.m. A performance marketer opens the ads dashboard and reads the seven-day summary: the campaign reports 4.2 ROAS, and the button that raises the budget is practically glowing. That same afternoon, finance shares a pull from the CRM — across every record that arrived from that campaign, the total value of closed-won opportunities comes to 1.6 times what the campaign spent in the same period. Neither number is miscalculated. Both describe the same campaign. One of them opens the budget, the other closes it. The figures here are illustrative; what matters is where the gap between them comes from.

This article takes that gap apart. First, what an ad platform actually counts when it says "conversion value," what the CRM counts instead, and the four specific sources of the difference. Then: which fields have to live on the record before true ROAS can be calculated at all, whether you should divide revenue or margin, and why deciding before a cohort has matured costs money. After that we put the stop-and-scale thresholds into a table, walk through the tests a rule should survive before it runs on its own, close out the attribution argument in a practical way, and finish with the weekly rhythm that turns the number into decisions.

What is the platform actually counting as "conversion value"?

The revenue on your ads dashboard is not your definition of revenue. It is the sum of events the platform saw inside its own measurement universe. A pixel or SDK receives a purchase event, reads the value attached to it, and credits it to an ad inside an attribution window. Every link in that chain carries an assumption: did the event fire correctly, does the value include shipping and tax, was the discount code subtracted, was the same order sent twice.

And at the end of the chain there is one more thing: the platform never sees what happened afterwards. Returned orders, cancelled bookings, chargebacks, forms filled in with a throwaway phone number — none of them get clawed back. In B2B the problem is sharper still, because the "conversion" being counted is usually a form submission, and a form is not revenue. Optimising for cheaper forms without knowing how many of them are worth anything is the fastest way to reward low-quality traffic.

So the first job here is lexical rather than technical: write down what the word "conversion" means in your company. A surprising share of cross-team arguments come from people using the same word for different things, and agreeing on one written definition per metric is the precondition that makes everything below workable.

Why does the same campaign produce two different ROAS numbers?

The difference is not random. It comes from four identifiable places. First, the counting unit: the platform counts events, the CRM counts records. Between the two sit spam submissions, duplicate orders, internal test entries and deals that support cancelled the next morning. Second, the window: the platform credits everything that happens within a fixed period after the click, while the CRM uses the date the opportunity was won. The campaign ran in May, the deal closed in July, and the two systems book that revenue in two different months.

Third, deduplication. If someone arrives through a prospecting campaign and returns through a branded search, both campaigns can claim credit on the platform side, while the CRM sees a single customer. Fourth, cash reality: the platform sees the gross order value, the CRM carries the net figure after refunds. Stack those four on top of each other and a two-fold gap is entirely ordinary.

The gap itself is not an error — it is information. A campaign with strong platform ROAS and weak true ROAS is telling you something specific: the traffic arrives, the interest is real, but the records it produces do not turn into revenue. That is a quality problem rather than a budget problem, and the fix might be the targeting or the offer rather than the spend. Measuring the real yield of the funnel stage by stage is the only way to tell whether the fault sits in the ad or in everything that happens after it.

What has to live in the CRM before true ROAS can be calculated?

The formula is simple: the closed-won value of opportunities that originated from a campaign, divided by what that campaign spent in the same period. What makes it hard is the set of fields the numerator depends on. Four are non-negotiable: which campaign the record came from, the date of first contact, the monetary value of the opportunity, and the close date together with the close reason. None of these should be a field a human types. A manually filled source field collapses into an "other" pile within a few weeks.

Inside Ads Automation, the true ROAS from CRM feature runs exactly this calculation: instead of the conversion value the platform reports, the rule reads the opportunity revenue won in the sales process and decides on that figure. Sitting next to it, the data health gate checks the ground the calculation stands on — it will not let a rule be created until sync freshness, 28-day data coverage and the account currency have been verified. Refusing to decide on stale or partial data is a stronger guarantee than any single rule.

Record quality is not a technical footnote here; it is the floor everything else stands on. Any design that depends on a rep tagging each record by hand falls apart in week three. Automating data capture so it stops depending on the rep is what turns true ROAS from a reporting enthusiasm into a measurement you can keep running.

Revenue or margin: which one belongs in the numerator?

Even true ROAS is half an answer, because the numerator is revenue. Two campaigns can bring in the same revenue for the same spend, and if one of them sells a forty-percent-margin product while the other sells an eight-percent-margin product, they are not the same campaign at all. The margin-based version is usually called POAS: you divide the gross profit the revenue leaves behind rather than the revenue itself.

Moving to margin means genuinely knowing your costs. The purchase price of a product is not its cost; add freight, duty, insurance, storage and a share of return handling and the picture changes. Working out what a product truly costs once freight is included is tedious work, but it permanently raises the quality of every advertising decision made afterwards.

One practical caution: do not make the jump in a single step. Stand true ROAS up on revenue first, run it for a quarter, let the team learn to trust the number. Bring margin into the numerator only once the cost data is genuinely reliable. A POAS built on half-known costs produces worse decisions than a clean revenue-based ROAS.

Why does deciding before a cohort matures cost you money?

In any business with a long sales cycle, today's true ROAS is structurally low. The spend happens now and the revenue closes weeks later. A rule that ignores that lag will kill every new campaign in the week it launches, because no new campaign can clear a threshold with an immature cohort behind it.

The right approach is to read cohorts by age. Treat the records created in one week as a group and track how much revenue that group has booked at day 7, 14, 30, 60 and 90. After a few months you have a maturation curve: a 30-day-old cohort has typically revealed roughly a known share of its eventual revenue. From then on you can adjust a young cohort's figure by that factor before comparing it with your threshold. The true ROAS calculation in Ads Automation follows the same logic — a loss decision is not taken before the cohorts have matured.

That curve is worth more than the ad decision it enables. Multiply today's record volume by the maturation curve and you have a defensible draft of next quarter's revenue. Moving the forecast from gut feel to observed behaviour and tying ad budgets to real revenue turn out to be two faces of the same piece of work.

At which threshold do you stop, and at which do you scale?

A threshold is not a single number; it is a decision matrix in which the platform figure, the true figure and the maturity of the data are read together. The table below summarises which action is defensible depending on whether the two numbers agree. Treat the threshold values as examples — the real ones come out of your own distribution.

SituationPlatform ROASCRM true ROASData conditionDefensible action
Genuine winnerAbove targetAbove targetCohort past 30 daysRaise budget in steps
False winnerAbove targetClearly below targetCohort past 30 daysPause; revisit targeting and offer
Hidden winnerBelow targetAbove targetOpportunity values completeProtect it; retune the platform goal
Young campaignAnyLowCohort younger than 14 daysDo not decide; set an alert only
Measurement gapAnyCannot be calculatedHigh share of blank source fieldsDo not enable the rule; fix capture first

You can also derive the threshold instead of guessing it. The pick your threshold from the data behaviour shows how a metric is distributed across your own campaigns; you can make the median a threshold in one click and read how many campaigns that threshold would catch before the rule is ever switched on. Funnel length and sensible thresholds vary sharply by sector, and looking at how CRM is used across different industries makes it easier to place your own numbers in context.

Which tests should a rule survive before it runs on its own?

A rule tied to true ROAS is more powerful than one tied to platform ROAS, which also means it does more damage when it is built wrong. So the order matters. The rule first only shows: how many campaigns were evaluated, how many matched, what would have changed — and not a single value is written to the account. Then it moves to approval mode, where matches land in a queue and you approve them after seeing the reason and the exact change. Only once it has earned trust does it go fully automatic.

Two more tests sit in front of those three modes. Backtest before you switch on shows how many times, and on which campaigns, the rule would have fired over the past 28 days without touching anything. Simulate with your own numbers lets you enter sample metrics to check whether the condition matches and how the guardrails would clip the change. After that you roll the rule out to a small share of campaigns first, compare the effect, then scale it to all of them. Any applied decision — or an entire run — can be reversed within 24 hours, and the budget returns to its previous value.

What this sequence really is, is experimental discipline. Form a hypothesis, test it small, measure, then widen. Building growth through systematic experiments and staging automation rules are two applications of the same habit, and impatience is what loses money in both.

How do you settle the attribution argument?

Every team that moves to true ROAS hits the same wall: if the customer touched six things, whose line does the revenue go on? First-touch inflates prospecting, last-click inflates branded search. Both are partly right and both are misleading on their own.

The practical answer is not to find the perfect model. It is to choose one, write it down, and run every comparison through it. Consistency matters more than absolute accuracy, because your decisions come out of the ranking between campaigns rather than the absolute figure. Accept up front that changing the model means recalculating every historical number you have quoted.

A workable middle path is to split credit between first touch and the touch closest to close rather than assigning all of it to one campaign. Set the weights at the start of the quarter and leave them alone until it ends. Read the roles separately as well: some campaigns do not bring customers in, they shorten the time it takes to close the ones already there. Judging both kinds against a single threshold is the most common way a working upper-funnel campaign gets switched off.

How does this number align marketing and sales?

As long as marketing is measured on form volume and sales on closed deals, the two teams are playing different games. True ROAS builds one scoreboard: marketing's result is no longer the number of records delivered but the revenue those records produce. That single change moves the weekly meeting from an argument about "more leads" to a conversation about which sources actually close.

The shift lands on the sales side too. A rep starts to see which campaign a record came from and which objection tends to arrive with it, and frames the conversation accordingly. A selling approach that talks about return rather than price earns its keep especially on expensive but high-quality channels, whose true ROAS only survives when deals close without discounting.

Over a longer horizon, the return on a single sale is not a sufficient measure either. Some channels break even on the first order but bring customers who reorder; others look profitable on the first order and never produce a second one. Measuring the whole relationship rather than one transaction only reveals which channel is genuinely valuable after a few months — and it frequently inverts the short-term ROAS ranking.

The weekly rhythm: how does a number become a decision?

Measurement is worth exactly as much as the frequency with which it turns into decisions. A workable cadence is one review a week, thirty minutes at most, with a fixed agenda: campaigns whose true ROAS has fallen below threshold on matured cohorts, campaigns whose true ROAS sits clearly above the platform figure, the share of records with a blank source field, and the automatic decisions applied over the past week.

The output of that meeting is not a summary; it is a list of items with an owner and a date. Leaving a meeting with tasks rather than notes closes the gap where measurement projects most often die: the quiet stretch where everyone has seen the number and nobody has changed anything.

You also need to watch whether the decisions you applied actually helped. The after-action measurement behaviour compares the window before each applied action with an equal window after it; the comparison is observational and claims no causality, but it does show whether the rule is pointing the right way. And if a rule stops producing results run after run, notify on a silent rule fires, so broken automation does not sit quietly for months.

A sensible starting order: in week one, guarantee that the source field and the opportunity value get populated; in week two, read true ROAS as a report only; in week three, run one rule in show-only mode; in week four, move it to approval. If you want to try the preview and approval queue on your own campaigns, you can open a Rocketly account and set up that first rule in show-only mode.

FAQ

Should I abandon platform ROAS entirely?

No. The platform figure is fast, it is still useful for day-to-day optimisation, and it is the signal the bidding algorithm feeds on. The right arrangement is to use each for a different job: the platform number for daily fine-tuning, the CRM-based true number for budget and channel decisions.

How often should true ROAS be calculated?

The calculation can refresh daily, but the decision should be weekly. Daily movement is mostly noise, and a rule that reacts to every wobble shakes campaigns too often for them to leave the learning phase. Factor in cohort age as well: do not decide on cohorts younger than fourteen days.

My sales cycle is 90 days — does this still work?

It does, but you tie the threshold to intermediate stages rather than closed revenue. On a long cycle, cost per qualified opportunity is the more useful figure for weekly decisions, while true ROAS on closed revenue drives quarterly channel decisions. Keeping both on the same screen makes it easier to use them without confusing them.

What do I do with records that have no source?

Do not delete them from the calculation; track them as their own group and read the share every week. If that share is climbing, the problem is in capture rather than in measurement. Enabling a rule while the blank rate is high simply automates a decision built on missing data.