If you have the technical resources and knowledge, one of our helpful engineers wrote a sample app in Python to capture data from a web form, create either a lead or a contact through our API, and optionally associate a task with the newly created item.
Google Sites has a bug which causes HTML <textarea> fields to show up incorrectly when there is no content. between the opening <TEXTAREA> and closing </textarea> tags. To fix this, you can simply add a newline/carriage return (not an HTML <br /> tag) in your HTML code between the <textarea> and </textarea> tags:
Google Sites renders HTML forms within a 400px x 300px IFRAME. If your Web to Contact form is larger than these dimensions, it will appear cut off. We are unaware of a solution to this limitation of Google Sites.