I shipped a change to Castlytics last week that I have been putting off for too long: adjusted revenue is now the default KPI on the dashboard. This post is about why I did it and what it took to commit to it.
Castlytics tracks creator ad performance across podcast, YouTube, newsletter, and Instagram campaigns. Those campaigns use different attribution mechanisms: tracked links, vanity URLs, promo codes. Each one gives you a different quality of signal.
A tracked link click is server-recorded. Hard to fake. If someone clicked your link and then bought three days later, that attribution is solid.
A promo code is the opposite. Anyone can share it. A coupon site might pick it up. A returning customer who already knew the brand might use it at checkout. You get a conversion attributed to the creator, but you genuinely do not know how much of it was caused by the creator.
Until this update the dashboard showed all of these at face value. Raw revenue, no weighting. A campaign with £10,000 in promo-code attributions looked identical to one with £10,000 in click-verified sales.
That was a gap the product needed to close.
Showing a lower number than the raw total is a hard product decision when your users are advertisers who want to justify their spend. Adjusted Revenue on a promo-code campaign is, by design, substantially lower than the headline figure. A campaign that shows £10,000 raw shows £2,000 adjusted. Nobody instinctively wants to see their number shrink.
The answer came down to what the product is actually for. Not to present performance in the best light, but to give advertisers the clearest possible signal for their next budget decision. A lower but more reliable number serves that goal better than a higher one that does not hold up.
The raw total is still on the dashboard, one line below the headline. Nothing is hidden. You are just seeing the more defensible number first.
Every campaign gets a signal confidence level based on how its conversions were recorded: high for click-driven, medium for vanity path, low for promo-code-only. Adjusted Revenue multiplies the raw total by a weight that reflects that confidence: 1.0 for high, 0.5 for medium, 0.2 for low.
The weights are not scientifically derived. They are a considered starting point: promo-code attribution is genuinely unreliable enough that an 80% discount felt right. Medium signal is a coin flip, so half felt right. I will probably revisit these as I see how people use it.
Adjusted ROAS follows the same logic. A campaign with a raw 6x return but promo-only signal becomes 1.2x adjusted. That is a very different budget decision.
While I was in there making attribution more defensible, I added a late-touch interception check. The pattern it looks for: a conversion where the only touch event happened within five minutes before the purchase, with no prior session activity. That can be legitimate. But when it shows up across 30% or more of a campaign's conversions, it usually means something is redirecting through your attribution URL just before checkout to claim credit.
This is a known tactic in affiliate and influencer marketing. Castlytics now flags it rather than silently counting it. It does not do anything dramatic — it surfaces the percentage and lets you decide what to do with it.
Most analytics tools default to showing the biggest defensible number. That is not necessarily bad faith — it is what users ask for, and headline figures are easier to act on. But when the number does not hold up under scrutiny and someone makes a budget decision based on it, the tool takes the blame. Adjusted Revenue is a bet that users would rather have a number they can defend than one that looks better on a slide.
The right move is to surface the uncomfortable truth early and clearly, with enough context that the user understands why the number is what it is. That is what the signal confidence badges, the stacked bar charts, and the adjusted revenue headline are all trying to do.
If you want to read the full product breakdown, it is on the Castlytics blog.