From Shayak Mazumder:
The solution is the following:
1. GA does not track users individually. We refitted an open source software. You could also use Amplitude.
2. Connect all your channels of acquisition and use independent trackers/UTMs for each campaign, channel, blog, etc to track attribution
3. Then connect the UID from Open source/Amplitude etc to the UID in your application.
4. Track the performance through the same app or pass the data to a free BI tool like Google Data Studio and do your visualisations
5. You can run various custom optimisations on the journey like sending loyalty coupons or pop ups etc based on actions taken by the users using external software. We used Upshot for the same.