A user agent is a field in a browser request header to help the server understand what type of device the browser is running on. A server might change its response based on the type device. Here’s an example of a user agent for a Mac running on Chrome:
Mozilla/5.0 (Macintosh; Intel Mac OS X 10_12_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/64.0.3282.186 Safari/537.36
As you can see, this provides a lot of information that can be used to uniquely identify a device. Attribution companies will use this field along with the IP address to help match app users back to their original browser activity. This is known as probabilistic modeling. These user agents will change with every browser or device update, so they can only be used in short term matching techniques.