Тут, я говорю как пользователь, который сам ненавидит заполнять формы, скорее важен подход, а не сама форма. Например, первым делом запросите имя и почту. Ок, никаких сложностей.
Потом выведите товары (привожу в пример вариант с магазином подарков) и напишите:
Спасибо вам за регистрацию! К сожалению, на основании только вашего имени мы можем предложить только популярные товары среди наших покупателей.
Поделитесь с нами другими данными и мы сможем найти что-нибудь еще.
Я понимаю, что звучит слегка по-идиотски, и предложения надо сделать короче, но суть в том, что надо подходить к вопросу с точки зрения эмоциональной.
Пока что на эту тему я читал только Аарон Уолтер, Эмоциональный веб-дизайн. Книга понравилась, но короткая. Приведен пример с dropbox, который, чтобы его пиарили в соцсетях (что в определенной степени тоже бесит) создал некое подобие игры, подключи друзей и коллег - получи больше места. Лично я собрал все возможное место :) В общем - эмоциональный подход - это первый вариант.
Второй - посмотрите на соцсети, например ВКонтакте. Как они заставляют заполнять профиль? Думаю, ответ в заинтересованности. Но вот сможете ли Вы в магазине подарков заинтересовать кого-то просидеть лишние 10-20 минут за заполнением профиля... сложно сказать.