For contact forms the best practice is to keep it short and to not require too much information. You will have better success in clients completing your contact form if you do not require more than an email address and first name.
On my own site, I require only the email and first name all other fields are optional. I do provide quick and easy check boxes and radio buttons for interested parties to let me know which services they are interested in, but I do not require much information. On ad landing pages, I require nothing but ask for first name, last name, email and phone number only, no address.
I have found that clients will typically find a detailed contact form prohibitive and will choose not to complete it, so when you do a contact form on your own website, make it simple, keep it short, and require few fields.