This discussion is now entering the realm of multi touch attribution. You can look into a solution like Bizible or other Salesforce packages, these are expensive in subscription costs and take a massive amount of resources to set up accurate reporting as well (they rely on having clean data for one). A DIY solution would be to create datetime and text pairs of custom fields to record key touchpoints e.g. First Touch, Lead Creation, Opportunity Creation and Closed Won (what is a key touchpoint is decided by you), and timestamp + record the last campaign for each and you can do your own modelling using a BI tool
... View more