Skip to content
Documentation

Documentation

Introduction

What ROAS Sensor does, and what it takes to get your first honest ROAS number.

What ROAS Sensor does

Your ad spend lives in Meta, Google Ads and TikTok. Your revenue lives in Stripe, or your own database. Three or four consoles, each confident about its own numbers, none of them agreeing.

They disagree because every platform counts a sale it can see and ignores the ones it cannot. Add the three dashboards together and you get more revenue than your bank did.

ROAS Sensor watches the journey end to end: the click on the ad, the visits that followed, the sale at the end. Then it decides which ad actually earned that money, and divides by what you paid for it.

Three things are worth knowing up front:

  • Revenue never comes from the browser. It arrives by signed webhook or from your own server, so a number on the dashboard cannot be forged from a console.
  • Guessing is off by default. Where the evidence runs out, a sale is reported as unattributed rather than credited to a plausible ad.
  • Nothing is scraped. Spend is pulled from each platform's own API with credentials you authorise, and revoke.

How it works

Every sale takes the same four steps.

  1. Collect. The snippet records each visit: where it came from, the ad click ID, the UTMs, the pages seen. Mobile SDKs do the same for apps.
  2. Identify. Visits are stitched into one person using the visitor id, and the hashed email or phone once someone identifies themselves.
  3. Attribute. When revenue arrives, a waterfall resolves who bought, strongest evidence first. Your attribution model then decides which touches share the credit.
  4. Report. Attributed revenue is divided by the spend pulled from each ad platform, joined on the real campaign and ad IDs.

Spend syncs hourly and re-pulls a three day window, because platforms restate spend for up to 72 hours. Attribution recomputes hourly too, so a late touchpoint or a newly merged identity corrects yesterday rather than being lost.

What you need before you start

None of this takes long, but a ROAS number needs all three to mean anything.

  • Somewhere to put the snippet. Access to your site's <head>, or a tag manager. For apps, a build you can ship.
  • A revenue source. Stripe is a webhook and a signing secret. Anything else is one POST from your server.
  • Ad accounts to connect. Meta, Google Ads or TikTok, with permission to authorise the connection.

What it is not

Being clear about the edges saves you an evaluation.

  • Not a bid manager. It tells you what worked. It does not move your budgets for you.
  • Not a session replay or heatmap tool. It records the journey, not the mouse.
  • Not a replacement for your ad platforms. You still run campaigns there. This is the scoreboard they cannot each keep honestly.
  • Not a guess engine. Probabilistic matching exists, is off by default, and is reported separately when you turn it on.