The content of ClientMetadata is entirely up to the client. For example
the official Go client sends metadata about the client OS (very generic since it's just the GOOS variable, e.g. "Linux"), CPU architecture, and client name/version + client library name/version. The
JS client library does something similar by parsing the User Agent.
We don't collect the location at test time, but we do add geographical and network annotations later on so that they are available in BigQuery (see client.Geo and client.Network in the msak.throughput1 view). This geographical annotation is based on the IP address, using the MaxMind database to *estimate* the client's location.
We do not collect any PII other than the client's IP address, and we have no way to "track the user activity" - all we know is that a client with a given IP address ran an MSAK (or an NDT) test at a given time and the test result.