yep URL parameters work for prefilling. each form field has a parameter name you can set. then you just add those as query params to the form URL
for hidden fields (like source and segment in your example) add hidden fields to the form with param names matching your URL params. the data gets submitted with the rest of the form but the user doesnt see it
we use this for all our campaign tracking. works perfectly
perfect thats exactly what i was looking for. the hidden fields + URL params combo is great for attribution tracking
we also use this to pre-fill the users email when they click a link from our newsletter. saves them typing and increases conversion rate noticeably