How it works
Attribution joins two records: an engagement (a click or an ad impression) and a conversion (an install or an in-app event). The join uses whatever signal the platform provides. On Android that is usually the Play Install Referrer or the advertising ID. On iOS it is the IDFA when the user has allowed tracking, and Apple's aggregated frameworks, SKAdNetwork and AdAttributionKit, when they have not. Self-attributing networks such as Google Ads or Meta report their own matches. When several engagements qualify, an attribution model, almost always last touch, decides which one gets the credit.
Why it matters for an app team
Without attribution you know how many installs you got but not which budget produced them. With it you can compare channels on cost per install, retention and ROAS, and move spend to what pays back.
In practice
Example with made-up numbers: a campaign costs $2,000 and is credited with 1,600 installs, so its cost per install is $1.25. A second campaign costs the same and is credited with 800 installs, but its users spend twice as much. Attribution is what lets you see both facts.
Common confusion
Attribution shows which touch came last before a conversion, not whether the ad caused it. Some attributed users would have installed anyway; measuring that is incrementality testing, which is a different method.