I'm hoping to track the initial lead source for all of our leads, not just ones that come to our website via a tagged URL. I've read other threads in the community regarding capturing lead source by using UTM fields, but my concerns with this are:
1) We will only capture this source information for users that visit our website via outbound links (things we share on social, email, etc.) and fill out a form.
2) This would cause our data to be inaccurate, as this isn't necessarily truly the "initial lead source". For example, a visitor may be referred to us from a website, but then follow us on Twitter, later clicking a link we've shared and filling out a form. This method would lead us to believe the initial lead source was Twitter, when it is instead a referral.
Is it possible to pull this same information that Google Analytics stores (source, medium, etc.) for all visitors to our website? If not, how can I collect more accurate information regarding initial lead source?
GA doesn't do anything magical here. It's simply storing external referrer (when available -- make sure you are running https:// for highest availability) and interesting pageview characteristics across pageviews. In their case, data is stored both on Google servers and in local storage (cookies), but you can do it quite well with cookies alone, since in a Marketo context you are looking at information after conversion.
All of this can be done with sophisticated enough JS code and a developer who understands the ins and outs of navigation behavior.
If I understand your question correctly, I think there are two distinct parts.
1) How do I accurately capture web based traffic correctly and assign lead source as the example you described above?
2) How do I capture lead source for other types of activity that are not from the website either through other digital means or live events?
In regards to the first question, there is a JS that I have used that cookies the URL parameter so that the information will pass through with the initial referral information. See this articlehttps://nation.marketo.com/groups/dallas-user-group/blog/2016/08/04/utm-tracking-marketo-part-deux
In regards to other sources, I have created a global lead source assignment program and using a combination of the following fields, slotted folks into the right lead source. Specifically for offline, I look at the acquisition program and the channel that it is in to determine what the source is. For example, if Jane Doe is acquired by program is any and has a member status of Tradeshow>Visited Booth (or any of the other relevant progression statuses) lead source = Tradeshow and so forth. Some other useful fields are Original Referrer. Original Source Type, Registration Type. These are all system fields in Marketo and can provide information to slot the people into the correct lead source.
Hmm... that code is very close, but buggy. When you're ready, I recommend trying a more fleshed-out solution like Romanoff's Conversion Path (f.k.a. Touch History).