Install + deferred-install ingest with iOS canonical fingerprint match. Stats by campaign + source. Honest about not being AppsFlyer yet.
AppsFlyer + Adjust + Branch tell you which install came from where via multi-touch models, fraud-filtered, post-back to ad networks. Sendora's Attribution module is leaner today: single-touch install + deferred-install ingest with iOS canonical-fingerprint deferred match, stats endpoints by-campaign + by-source, SDK helpers on Web + RN. Honest about the gaps: no multi-touch model engine, no LTV / ROAS computation joined against Analytics events, no fraud filters, no S2S postbacks to ad networks, no Android Play Install Referrer integration. The bundle win remains — installs land on the same `user_id` as your messaging + auth + analytics, so building those joins yourself is one tenant of work, not three.
Features
- Install ingest —
POST /attribution/installrecords install events with source / medium / campaign metadata. - Deferred-install match —
POST /attribution/deferred+ iOS canonical fingerprint match (IP-pinned + 2h window + atomic flip) via the Deep Links module's match function. - Stats endpoints —
GET /attribution/stats+.../stats/by-campaign+.../stats/by-sourcereturn install counts grouped by attribution dimensions. - Per-org config — attribution settings via
GET/PATCH /attribution/config. - SDK helpers —
attribution.reportInstall()+attribution.checkDeferred()on RN 0.18.0+ and Web 2.14.0+ (Web'sreportInstallis rarely useful;checkDeferredis for web-app surface). - Same `user_id` as the rest of Sendora — installs land in the same tenant as Auth + Customers + Analytics + Push so joins are SQL/audience queries inside one DB, not warehouse round-trips.
- Honest non-features: no multi-touch attribution models (first/last/linear/position) — single-touch only; no cohort LTV or ROAS computation against Analytics events (stats are counts only); no fraud filters (click flooding / install hijacking / CTIT outliers not detected); no S2S postbacks to Meta / Google / TikTok conversion APIs; no Android Play Install Referrer integration (iOS fingerprint is the only deferred path).
Common use cases
Single-touch install attribution where you already have the source/medium/campaign metadata and just need it logged + queryable beside your customer + event data.
Web apps using `attribution.checkDeferred()` to match a returning user to a campaign they clicked.
Build your own LTV / ROAS roll-ups via SQL or the Analytics module against the same tenant — installs are a row your queries can join.
Start in minutes. Scale without switching tools.
The free tier covers most side projects. Every module is turn-key and every SDK is first-party.