01 · click
A tap on your link. One short link per campaign, on any channel, stored with its time and signals.
Attribution for Android apps. Every install is stored with its score, the terms that produced it, the clicks that lost, and the sentence that says why it won.

The verdict first: which campaign won the install, how sure Measura is, and the clicks that lost. Everything under it is the working.
Metaq3_retarget
confidence
click window
The worker scores an install the moment it lands and writes every term into confidence_breakdown beside the score. Nothing is reconstructed later for a report.
Base score for an exact advertising-ID join.
Entropy of the device signal, 0 to +10. Inference tiers only.
Inference tiers: no penalty inside 24 hours, then −3 per further full day, capped at −15.
Fingerprint matches only: -10 when click and install share a /24.
Fraud pre-screen score / 10, capped at -10. Scored 0 here.
70 + 8 − 0 − 0 − 0 = 78
Every event passes the fraud pre-screen first. A rule that fires is stored by name with what it contributed, and nothing is auto-blocked. For this install none fired, so high_fraud_penalty is 0.
backend/lib/fraud.ts · rule_nameRule names are stored exactly as listed. Thresholds are custom on Enterprise. rules fired on ins_5c02.
Other platforms keep the winner and discard the rest. Measura keeps every click it considered in rejected_candidates, with the reason it was passed over. Losing is not an error. It is evidence.
The line you forward to a finance team, or to the channel disputing the install. It is written at attribution time into attributions.reason.
“GAID exactly matched click clk_8f3a; most recent of 3 candidate(s) in 7-day window”
Tiers are tried in order and the first match wins. Read how every install is scored
One short link per campaign, tracked the same way whether it rides a paid network, a WhatsApp message, a QR code on a printed poster or a USSD code on a phone that cannot install apps at all.
one link
msr.link/q3Tn
One campaign link, every channel. Each tap is stored with its channel, time and signals, ready for attribution.
Five stations, the same for every install. Each one adds to the record, and nothing is thrown away on the way through.
01 · click
A tap on your link. One short link per campaign, on any channel, stored with its time and signals.
02 · install
The SDK reports it. Events are batched, gzipped and signed, and wait on the device when it is offline.
03 · ingest
Every event is checked. Verified, de-duplicated, fingerprinted and fraud-scored before anything counts it.
04 · attribution
Matched, with its working. Referrer, click id, ad id, fingerprint, then organic. The winner, the score, the clicks that lost and the reason are all stored.
05 · postback
Everyone hears about it. Your dashboard shows the install and why; the network gets a postback.
Illustrative. Field names, checks, tiers and scores are the system’s own.How the score is calculated
One dependency, one init call, and the three permissions it needs merged into your manifest for you. Every figure here is enforced somewhere you can read, so the size on this page is the size CI allows.
dependencies {
implementation 'dev.measura:measura-sdk:0.1.1'
}On Maven Central. Add the line and sync.
The glass-box log is on every tier, the free one included. You pay for volume, fraud reporting, ROAS and deep links, not for the right to see your own reasoning.
$0/month
Everything you need to start tracking attributions.
$99/month
For growing teams that need fraud detection and ROAS.
$349/month
Full platform. Deep links, cohorts, campaign ROAS.
Custom
Unlimited scale, dedicated infrastructure, SSO.
Not today. Measura is Android only, from Android 5.0 (API 21) up. Any backend can post signed events straight to the ingest API, so server-to-server tracking works whatever the client is.
From Maven Central. Add dev.measura:measura-sdk:0.1.1 to your app dependencies; the docs have the full setup.
It tries signals in a fixed order: the Play install referrer, a click id, the advertising id, then a device fingerprint. Each match gets a confidence score from 0 to 100, and anything under 20 is reported as organic. The clicks that lost are kept, so you can see what almost matched.
Yes, on every plan including the free one. Each install is stored with its method, the signals used, its confidence score, the rejected candidate clicks and a sentence stating why it won.
They wait on the device in a queue of up to 10,000 events and are sent later. By default the SDK only sends over Wi-Fi, so it never spends your users’ mobile data; you can switch that off per app.
It scores and tags them, with the rules that fired, and leaves the decision to you. Nothing is blocked automatically.
Yes. The migration importer reads exports from all three, and is included on the Growth plan and above.
Measura is currently hosted in the United States and does not yet guarantee that data stays in a particular country. You can export your account’s data at any time from Settings.
Yes: up to 100,000 events a month for one Android app, with the full glass-box log. No card is needed to start.
Start on the free tier with 100,000 events a month. No card required.