On unique users: I wonder if there is a way to set this up to work similar to TelemetryDeck's double-hashing anonymization[1]. Did you look into that before deciding to go purely session-based?
[1]: https://telemetrydeck.com/docs/articles/anonymization-how-it...