The tracker swaps in a leased phone number for each visitor. When the call comes in, a verified Twilio webhook records it against that visitor — and the click that brought them.
How it works
A phone call has no click ID
The visitor reads a number off the page and dials. To every ad platform the journey ends at the page view.
Open Attrib leases a number per visitor
Dynamic number insertion hands each visitor a number from your pool for 30 minutes, then releases it for the next one.
The call comes back as a conversion
Twilio posts the call to Open Attrib. The signature is verified, the caller’s phone is hashed, and the call joins the visitor’s identity graph.
The platforms learn which ads make phones ring
The call goes back to Meta, Google and TikTok as a conversion. Their bidding sees calls, not just clicks.
Every call tied to the visitor who saw the number
and to the ad that sent them.
Dynamic number insertion
The tracker asks for a number; the lease endpoint hands one out from your pool and swaps it into the page.
Verified webhooks
Twilio’s request signature is checked before a call is recorded. A forged webhook records nothing.
Calls resolve to people
The caller’s phone number is hashed and becomes a node in the identity graph, merging the call with the web visitor and any later purchase.
Run it yourself, or let us host it.
One command install
Five lines, one of them a text editor. Postgres, migrations, API, worker and TLS come up together — and the install help is a call, not a document. Hosted skips this entirely: sign up and paste one line.
curl -o openattrib-src.tar.gz "https://app.2-25-162-33.nip.io/openattrib-src.tar.gz?key=YOUR-ACCESS-KEY"
mkdir openattrib && tar -xzf openattrib-src.tar.gz -C openattrib
cd openattrib
cp env.example .env && $EDITOR .env
docker compose up -dNothing to migrate
Keep the pixels you already run. Open Attrib's tracker sits beside them on your own subdomain and records what they miss; the ad platforms get their conversions back server-side.
Let's recap
- Tracker records the ad click and requests a leased number.
- Visitor sees the number for 30 minutes; then it is released.
- Twilio webhook records the call, signature verified.
- Phone hash merges the call into the visitor’s identity graph.
- Calls are attributed under five models and sent back to the platforms.
See it on your own numbers.
A walkthrough on your accounts: the click, the sale, the five models and the send-back to Meta, Google and TikTok. No deck and no sales pitch — just the pipeline on your own data.