Designing custom fields that people actually fill in
Every required field costs you completed forms. Spend them deliberately.
Ask only what changes the answer
If you would give the same reply whether or not you knew it, do not ask for it. Order number on a returns ticket — essential. Job title — almost never.
Per-category, not global
Attach fields to the category that needs them. A Returns ticket asks for an order number; a Technical ticket does not. A global required field is the fastest way to make customers abandon the form.
Types
Prefer dropdowns to free text wherever the set of answers is finite — you can report on a dropdown and you cannot report on a paragraph.