Unfortunately this is something that is difficult to perfect without an external platform (if you do decide to go that route, Bizible is a good one to demo). You can get to this at a certain level - if your main concern around attribution is conversions, that's a little easier. You can track clicks easy enough but this would apply to known leads.
Your best bet is to include an external platform. But in the meantime, I'd try to at least start collecting data in different programs (based on the cadence of your reporting - ex: PPC Q2) and tracking what you can of clicks and also tracking conversions. It's also helpful to setup additional lead source fields for the different touches - so this is another thing you may want to consider.
I recommend you check out ConversionPath (http://conversionpath.io). It's an all-Marketo solution -- powered by a client-side JS library of course, since otherwise you can't expand data gathered beyond the default, but doesn't involve any 3rd-party servers.