Buy — $997
Self-hosted · one payment

Know which ads make money.

Open Attrib records every ad click on your own domain, joins it to the person who actually bought, and splits the credit five ways. It runs on your server: one Postgres, one image, no third-party request to lose.

Install help includedTwelve months of updates What the price covers
Campaign P&Lyour own instance
CampaignSpendRevenueROAS
Brand$1,200 $9,4007.8×
Prospecting$4,800 $5,1001.1×
Retargeting$900 $3000.3×

One sale, five models — credit each

first
last
linear
time decay
position
An example, from the P&L page of your own instance: spend, revenue and ROAS per campaign, per model. The join is anchored on spend, so a campaign that cost money and returned nothing shows up as a zero-return row instead of quietly not showing up.
5models on every conversion
7-dayhalf-life, time-decay model
40 / 40position model: first and last
30-minuteleased number per visitor
8send tries, doubling backoff
0.85fingerprint merge floor
What it does

Three jobs, one pipeline.

Every attribution tool promises the same three things. Here is what each one means in this one, in plain words.

Records the click

One script tag, about 2.5 KB gzipped, served from your own subdomain. It reads the click ID the ad platform appended, the UTMs and the referrer, and posts them to your instance — so Safari's seven-day cap on somebody else's cookie never applies.

Recognises the buyer

The email on your checkout form, a phone number, a click ID and a visitor cookie are nodes in one graph; seeing two of them together draws an edge, and the person is whatever connects. A sale on a laptop joins an ad clicked on a phone two weeks earlier.

Pays the right ad

Every conversion is scored by five models — first, last, linear, time decay and position — kept side by side and joined to ad spend per campaign per day. The confirmed sale goes back to Meta, Google and TikTok server-side.

And what does it cost?$997 once, install help included
How it works

Buy it, run one command, paste one line.

No migration, no tag manager and no account here. The install is Docker Compose; the tracking is one script tag on your site.

Order the licence

Tell us where you will run it. An invoice follows within one business day and the install call is booked with it — that is the whole checkout.

Run it on your box

Five lines, one of them a text editor. Postgres, migrations, the API, the worker and TLS come up together; the only three values to fill in are a database password, the tracker's domain and an address for the certificate.

Paste one line

The setup page at /app generates the script tag and the webhook URLs. Point Stripe or WooCommerce at the webhook and revenue starts landing against campaigns — usually the same afternoon.

curl -O https://openattrib.com/openattrib-src.tar.gz
mkdir openattrib && tar -xzf openattrib-src.tar.gz -C openattrib
cd openattrib
cp env.example .env && $EDITOR .env
docker compose up -d

Every one of those steps is repeatable on your own box, which is the whole reason to own it: the pipeline end to end.

What you get

What the $997 covers.

One payment for the licence, the install done with you and a year of updates. No subscription, and no per-event bill that punishes a good month.

The full source

Every layer: the tracker, the ingest API, the identity graph, all five attribution models, the send ledger and the P&L dashboard. Not a subset and not an obfuscated build — the same tree this site runs on.

A licence to run it

One payment, your own domains, as many projects and clients as you have. No seat count, no per-event bill, and no revenue share that grows when you do.

Install help, included

We walk your install with you on a call: DNS, TLS, Postgres and the tracker on your own subdomain, until a real conversion is attributed to a real click.

Your ad platforms, connected

Meta CAPI, Google Ads and TikTok Events, with your own credentials and verified end to end — server-side, hashed, one ledger row per send.

Twelve months of updates

Every fix and improvement for a year, by email. Four npm dependencies and no front-end build mean applying them is a pull and a rebuild.

Your data, on your box

The instance is yours the moment it comes up. There is no licence server to check in with, no telemetry, and nothing that stops working if this site does not exist tomorrow.

1licence, one instance, unlimited projects — and the install is done with you, not documented at you.
Why own it

Why a rented dashboard cannot answer this.

Each platform dashboards only its own clicks, and each one counts a sale it touched as a sale it caused. Add the dashboards up and you have more revenue than you banked.

One sale, counted once

Meta, Google and TikTok each claim the same order. The identity graph resolves their three clicks to one person, and the models split exactly one unit of credit — never 1.6 because three platforms all won.

The browser stopped being a witness

Blockers, closed tabs, phone orders, a checkout that finishes in another app. Conversions here arrive at your server — a signed Stripe or WooCommerce webhook, or your own POST — so the sale is recorded whether or not a pixel ever fired.

Bidding is only as good as its feedback

You do not buy clicks any more, you buy an algorithm’s guess, and it learns from the conversions you send back. Send deduplicated, server-confirmed sales with the right click ID attached and it optimises for revenue instead of for whatever the pixel caught.

The long sale is the one everyone loses

History lives in your database, not in a browser. The lookback window is set per project and 0 means forever, so a conversion nine months after the first click still finds the click that started it.

Data you hold, not data you rent

Emails and phones are SHA-256 before they are stored, IP truncation is a per-project switch, and one call exports or erases a person. There is no shared network, no pooled data set and nothing that phones home.

No vendor between you and your numbers

Plain Postgres tables you can query yourself, four npm dependencies, AGPL-3.0-or-later. Nothing to renegotiate at renewal, no per-event bill, and no export request to raise if you want your own history.

1.0of credit per conversion, per model — never 1.6 because three platforms all claimed it. That single difference is what makes a scale-or-cut decision safe to act on.
Compared

How it compares with what you are weighing.

The platforms buyers usually weigh in this category are subscriptions that follow your revenue, your traffic or your order count. This is one payment, on a server you control. Six side-by-side pages, each quoting the vendor's own published price and the day it was read: Hyros · Triple Whale · Northbeam · Cometly · SegMetrics · Wicked Reports.

Own it

$997, once. Then it is yours.

A self-hosted licence with the install done with you and twelve months of updates and support. No subscription, no per-event bill, no revenue share.

$997one payment · one instance · unlimited projects
  • The full source
  • A licence to run it
  • Install help, included
  • Your ad platforms, connected
  • Twelve months of updates
  • Your data, on your box

One payment of $997. Tell us where you will run it and an invoice follows within one business day, payable by card or bank transfer. Nothing is charged on this site and no card details reach it. [email protected] reaches a person.