We are running a paid media campaign that drives to a landing page with a form. Once a user submits the form, how can we track their individual lead source? Most of these leads have never interacted with us prior to this campaign so they most likely aren't already in our database.
The most common approach is the use of UTM parameters - and capturing those values in hidden form fields. You can then create operational smart campaigns that capture the "Lead Source" based on the value of those parameters. Erik Heldebro wrote a great post on this last year: First, Last and Multi Touch attribution for UTM parameters and auto tagging emails
Piling on to Dan's response - we use UTM parameters on our links and gather lead source in two fields. We call them Channel and Vendor, Vendor being a subset of Channel. For example: the Channel might = Social Media and the Vendor could be Facebook, Twitter or LinkedIn. This allows us to compare how all of Social is doing compared to all of our Paid Ads, and how individual Social platforms are doing against one another.
We do the same, except we use the standard UTM parameter for vendor - which is "utm_source". We use "utm_medium" for the channel. For example: utm_source=facebook&utm_medium=social. Lead source for us would be "social", but we would still leverage the additional parameters for our more detailed reporting on attribution.
To elaborate on above, you want to use Hidden Fields on your forms to capture the UTM parameters. You can also add a static, separate Lead Source value for your forms. It all depends on your lead source strategy.
In our case, we use UTMs to track the details of the "path they came down" (e.g. advertising, email, etc) to fill out the form. We have Lead Source (which is now Person Source) to track the "door they came through" (e.g. webinar, trial signup, etc.). Each form has a hidden field for Lead source.
To add further elaboration - it's definitely useful to use hidden fields on forms to capture the UTM parameters - but you can capture the utm data without doing so - like this:
The "Referrer" contains the utm parameter string. One advantage to this approach is that you know that the relevant utm parameters came from that specific form fill. With the hidden fields on forms, depending on your use case for the utm fields you may need to zero them out once you have made use of them.
All of the above are great for the pre-planned tracking links that leverage UTM parameters for ad copy details, however you can also see more intel with a Lead Source List View, that pulls in all UTM and registration source parameters as well as the Original referrer - the URL that drive them to your form to fill it out