Self-hosted · $69/mo

A tracker that just tracks.

Accurate click tracking and clear profit numbers for solo media buyers and small teams. Runs on your own VPS, installs with one command. No enterprise features, no enterprise prices.

Cancel any month. Your data never leaves your server.

Server-side redirect, typicalunder 2 ms
Sustained on a minimum 2 vCPU / 4 GB VPS1,000+ clicks/sec
Fresh server to first tracked click~15 min
roitrack campaigns table showing 22 campaigns sorted by ROI, winners in green and losers in red

Campaigns, last 30 days. Winners green, losers red, break-even grey.

The job

You need to know one thing: which campaigns make money.

Instead you get trackers priced above your test budget, a settings panel with 200 options, and a weekend gone before a single click is tracked.

What it does

Everything a media buyer checks. Nothing they don't.

The verdict, per campaign

Clicks, conversions, cost, revenue, profit and ROI — per campaign, offer, lander, country. Group up to three levels deep, build your own columns with formulas, save the filters you use daily, export to XLSX when someone asks for a spreadsheet.

iGaming campaigns with registration and first-deposit funnel columns

iGaming funnel: regs, reg cost, FDs, FD cost, reg-to-deposit rate.

Two questions, two reports

“How much did I make today?” and “did last month's traffic ever pay off?” are different questions. Most trackers only answer the first. Drag the divider: same campaign, same weeks, revenue credited to the click date on the left and to the payout date on the right.

Weekly report with revenue counted on the date each payout arrived
The same weekly report with revenue credited back to the week the click happened
Click date · +107.8% Conversion date · +3.9%

Same week, same spend. Three of these five weeks flip verdict depending on which question you ask.

Your columns, your maths

Approval rate, CPL, whatever your vertical actually runs on — write the formula once and it becomes a column. Set which columns show on each page and in what order, so a nutra report and an iGaming report each show only what matters there.

Nutra campaigns with custom approval rate and cost-per-lead columns

Nutra: leads, approved, and two custom formula columns.

Flows without the flowchart

Direct to offer, or through a bridge lander. Split traffic across offers and landers by weight, random or sticky per visitor, with country and OS targeting per flow. That's the whole rotation feature — no diagram editor to learn.

Numbers that don't lie

Duplicate clicks deduped so postbacks attribute to the right click. Browser prefetches filtered before they inflate anything. Traffic-loss compensation built into the cost maths.

Domains that handle themselves

Add a domain and SSL issues itself — Let's Encrypt, or full Cloudflare mode with the DNS record created over the API. Bulk-add a list at once. Live certificate status, so an expiry never surprises you.

Your data stays on your box

roitrack runs on your VPS. Your campaigns, your sources, your numbers — nobody else's business, including ours. We can't see your stats even if we wanted to.

What it doesn't do

The features we left out, on purpose.

Every one of these is real work we chose not to do, so the thing you use twenty times a day stays fast and obvious.

  • AI optimisation
  • Multi-touch attribution
  • Approval workflows
  • White-label portals
  • Team collaboration suite
  • 40-integration marketplace

If you need those, the enterprise trackers do them well and charge accordingly. You're paying for tracking, so that's what we build.

Setup

Fresh server to first tracked click, in about fifteen minutes.

  1. Point a domain at your VPS.
  2. Grab your install link from your roitrack account — license and domain are already baked in.
  3. Paste the one command into a clean Ubuntu server.
  4. Add a source and an offer, launch a campaign. Done.

First time through, budget 30–45 minutes — DNS propagation and wiring your network's postback take most of it, and the interface walks you through both. Every domain or campaign after that takes under two minutes. Updates ship through the interface: one click, no SSH.

Speed

Slow redirects burn paid clicks.

Hot redirects never touch a database: in-memory campaign lookup, asynchronous writes, 302 out. These numbers are measured on a 2 vCPU / 4 GB VPS — the minimum spec roitrack runs on — not estimated.

Redirect, typical (p50)1.6 ms
Redirect, worst 1% (p99)under 10 ms
Max sustained throughput1,000+ clicks/sec
That's a daily ceiling of~86,000,000 clicks

Latency measured warm at normal load; throughput measured at saturation from a separate machine.

Pricing

One plan. Everything included.

$69/month
  • Every feature on this page
  • Unlimited campaigns, offers, landers and domains
  • Updates shipped to your server
  • Support by email or Telegram
Start tracking

Cancel any month — monthly billing, no annual lock-in, so your maximum risk is one month. One license per server. Requires your own VPS from any provider (roughly $10–15/month); Ubuntu 24, 2 vCPU / 4 GB minimum — don't go lower.

Questions

The things people ask first.

Can you see my campaign data?

No. roitrack is fully self-hosted — everything lives on your server. The license check is the only thing that talks to us, and it carries no campaign data.

What do I need to run it?

A fresh Ubuntu 24 VPS from any provider, 2 vCPU / 4 GB minimum — don't go below that. Point a domain at it, grab your install link, paste one command. If you can do that, you can run roitrack.

What happens if I cancel?

Your data stays where it has always been: on your server. The license stops validating after a short grace period, so the app stops working until you resubscribe. Nothing is deleted and nothing leaves your box.

Can I move over from another tracker?

Campaigns take a couple of minutes each to recreate, and any source or network works through URL templates and macros — if it can fire an S2S postback, it works here. Historical stats stay in your old tracker; roitrack counts from your first click.

Does it handle CPA, CPL and RevShare?

Yes. Payouts arrive by postback with your own status mapping, and conversions that land weeks after the click still attribute to the click that earned them — which is exactly what the two reports above are for.

Who builds this?

A media buyer who got tired of paying enterprise prices for basic tracking.

A tracker that just tracks.

See what's printing. Kill what's burning. $69 a month, on your own server.

Start tracking