We keep it simple: When a lead responds, tag the lead with the info (channel, content, etc.). When the lead is converted we pass it to the account. All opportunities on the account moving forward are attributed to those account values.
We have additional custom fields to track influences, but ultimately we look at a singular account value so there is no "double dipping."
We have a Lead Status field in Salesforce that can be set either manually or by automation. If a Lead Score reaches 75, the status is automatically updated from New/Nurture to MQL and the Lead Owner is notified. After the Sales rep (Lead Owner) makes contact, they will change the status to Sales Accepted - Working, Recycle or Trash. Our Leads are converted to Contacts when an opportunity is created. I hope this helps, let me know if you have additional questions.