Tracking Lead Sources can be difficult especially when duplicates are merged. If your goal is to track original source for each Lead, Contact, and Opportunity, then consider using the Lead Source field in Leads for this. If RingLead finds an existing Lead in Salesforce and updates it with the new information from the web contact form (or list import or manually created Lead), this field can be set to "Do Not Overwrite". This will ensure that the value of the Lead Source field will only be populated when the Lead is originally created. When an existing Lead submits a web contact (or imported from a list or attempted to be manually created a second time), this field is not overwritten.
If you need to maintain a log of all Lead Sources, a custom field can be setup to store every source. RingLead can be configured to append (or prepend) the new Lead Source value from a web form, list or manually entered) to the old Lead Source value already in Salesforce.