@Ahmed Ragab There are quite a few things to consider here, I’ll keep it as brief as possible.
1. Firstly, understand the difference between the session medium and the first user medium. Tracking session medium is simple. First user medium is where things are more complicated. This is where you may consider an attribution software that captures all touchpoints leading to the conversion event. One thing I have noticed in our particular industry is that discovery and conversion almost never happen in the same session.
2. Setup event tracking for lead generation in Google Analytics. Then use the two parameters mentioned in point 1. This will give you a fair idea of how your leads are landing on your website, both for discovery as well as conversion. But this will only provide the aggregate numbers and nothing at the individual level.
3. Use the Hubspot tracking code (or something similar). It will help track the medium for the conversion session as well as will provide a complete record for that contact’s activity on your website in that session. It will unfortunately not tell how your site was discovered. I think this answers your first question.
4. Self-reported attribution: if possible during your discovery calls/user signup process/onboarding flow, try to get the user to specify how they found out about you. We have found this very helpful. But also, we follow a very sales-led acquisition approach where this is kinda easier to do.