I do this 100% using Google Analytics. After installing GA, be sure to:
1. Set up EVENTS to track your conversions directly in GA. Be sure to include any type of funnel action as an event to track.
2. use EVENTS to track ANYTHING of significance that happens in your app. For example, everytime a user users a particular feature, trigger an event.
3. Consider enabling USERID tracking directly in GA (so you can track individual customer behavior through GA).
4. Setup the GOALS (for example, a conversion to a paying customer) using the EVENTS you setup before. once that is done, you can get all types of data on which sessions led to conversions, including based on source/referrer.
If you are using Oauth (like facebook login or Google accounts), be sure to setup your referral domain exclusions properly. And be sure to add your own domain to the referral exclusion list. THis is usually the source of so many "direct" type referrals.