I have First-Touch and Multi-Touch metrics on my mind when asking this questions. Our company has Web Lead as a Lead Source and these are people we acquire through online web forms.
You can't really do this easily in Marketo. Pretty sure I posted a link again to the Channel-Offer attribution and how it can be achieved to meet this exact situation.
At a minimum, you will need multiple Programs, one per Medium OR one sfdc campaign per Medium. Pick your poison.