Mobile app attribution

Attribution you can actually inspect.

Mobile app attribution answers one question: which ad produced this install and the revenue that followed? Adback answers it with first-party signals, scored matching, and a trace ID on every single result, instead of a black-box verdict you have to take on faith.

Built for subscription apps on paid UA · iOS SDK via Swift Package Manager

The problem

The store redirect breaks the thread

On the web, a click and a conversion share a browser. In mobile UA, the journey passes through the App Store or Play Store, and the thread between ad click and first app open snaps. Attribution is the discipline of reconnecting that thread honestly: capture enough context at click time, observe the install through a narrow allowlist of first-party signals, and only claim a match when the evidence supports one.

Matching

Four ways an install resolves

When your app first opens, the SDK sends an allowlisted set of app and device signals. The backend resolves the install through the strongest available path and always tells you which one it used.

PathWhen it appliesWhat you get
DeterministicA trusted click identifier survives the store redirect and identifies the exact Adback click.Exact campaign, ad group, creative, and click context.
Scored candidate matchThe install's allowlisted signals are compared against recent click candidates and scored.Attribution with a match score and a confidence tier you can inspect.
Apple AdServicesYour app opts in to Apple Ads attribution and the SDK submits Apple's AdServices token.Apple Ads install attribution through Apple's own AdServices API.
OrganicNo candidate clears the bar within the lookback window.The install is labeled organic, with the same trace detail as a match.
Every result carries a match_trace_id. The console shows the matching type, the match score, and the confidence tier for each install, so you can audit exactly how an attribution decision was made, and challenge it when it looks wrong. Matching runs on transient signals; raw high-entropy inputs are not kept as durable dashboard data.

Reporting grain

Down to the creative, joined to revenue

Because the signal link captures network macros at click time, attribution reports break down by network, campaign, ad group, creative, keyword, country, and time. Because RevenueCat or Superwall webhooks join server-side, those breakdowns show real subscription outcomes: trials, purchases, renewals, and refunds, not just installs.

Boundaries

What Adback attribution is — and is not

Adback is deliberately narrower than an enterprise MMP. The boundaries are part of the design, not gaps.

What it does

  • Matches installs to paid clicks from your signal links
  • Returns adback_id and attribution parameters your app can hand to RevenueCat, Superwall, or your own backend
  • Scores matches and labels each one with a confidence tier
  • Resolves Apple Ads installs through Apple's AdServices framework when enabled
  • Labels unmatched installs organic instead of forcing a paid claim

What it is not

  • Not a cross-app identity system. Adback runs on first-party signals
  • Not a product analytics SDK. No automatic screen, tap, or session tracking
  • Not a multi-touch model. One paid click wins, or the install is organic
  • Not a billing system. Revenue truth comes from your server-side sources

Stop guessing which
ads pay for themselves.

Install the SDK, run one campaign, and read the trace yourself. Free to start.