If the record is synced from SFDC to Marketo, and eventually cookied (e.g. they click a link in an email you send them), Marketo will associate the known record with the original anonymous record as long as the original page visit had Munchkin tracking code or was a Marketo landing page. It sounds like that must be the case if you are already able to track visits. At that point, you should be able to see the original page visit.
What happens when someone fills out the form? You could redirect to a new page upon submission that also has Munchkin code, and track conversions based on whether someone visits the thank you page. It's not a perfect solution, and will only track conversions post-cookie, but it's better than nothing!
To add to Rachel's response and suggestion - which I agree with - you have my sympathy if your company is insistent upon the use of non-Marketo forms. It makes tracking much harder. The best way to see what happens is to test it. Visit the page with the URL and utm parameters from the ad yourself and fill out the form. Then when your test lead has synced from SFDC to Marketo take a look at your activity log and see if the original anonymous activity is there.
You solve this by passing the current value of the Marketo _mkto_trk cookie as hidden field on your non-Marketo form. This value gets saved to a custom (String) field in SFDC, and that field is in turn synced to a Marketo field. Then you call a webhook with the custom field to associate all past web activity.
It is an unfortunately common need -- Denise is right that Marketo forms should be used wherever possible -- but is relatively easily dealt with.