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.
One sale, five models — credit each
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.
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 -dEvery one of those steps is repeatable on your own box, which is the whole reason to own it: the pipeline end to end.
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.
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.
See how it works for your business model.
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.
$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.
- 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.