I am working on the project part of which is building a user profile page that is used to collect some information from the user so that this can be used to display better matching results for that user (think dating service, compatibility, etc).

However, with the agreement of the user, I would also like to use the data from their profiles for some analytic purposes.

My objective: make users to fill all of the fields on they profile.

First approach: make fields in the profile mandatory, we are talking a combination of list boxes, free text fields, etc. A total of 20-25 things to fill out.

Second approach: make fields optional (the majority of them), and nag users to death to fill them out but explaining it to them that the more precise the profile is, the better results we can provide.

Question: which approach do you think is better and why. Bear in mind, my goal is to collect as much data from the users as possible.

  • "A total of 20-25 things to fill out." wow, thats a lot of fields! why so many?
    – colmcq
    Oct 19, 2011 at 16:19
  • Without going into specifics, this is juts a rough estimate. The idea is that we can use each piece of information in our purposes, like saying: we have X clients who are Sagittarius AND like ice-cream with strawberry jam on it. In other words, it's beneficial for our business analytics process to know this information.
    – 0x4B1D
    Oct 19, 2011 at 17:32

4 Answers 4


You should always strive to provide some form of reciprocity. Meaning that if you are getting something out of it, you should let the other person also get something out of it.

My suggestion would be to make as many fields as possible optional. Then instead of nagging people to fill them in, incentivise them to fill in additional fields by giving them some sort of reward if they do. the options are pretty varied and could include:

A badge. Points (if you use them). Unlocking some feature. Giving them additional capacity. Find something that you can give them as a reward.

That way, you are happy because you have data, and your customers feel like they got a good deal on something. Everybody wins.

  • 1
    Also, instead of nagging them you can use gamification. Badges is one way, or even simpler is to display a message like "your profile is 85% complete", and many users will try to raise that score.
    – Erics
    Oct 20, 2011 at 6:22

Why do you need to have all the information up-front right now? Requiring 25 fields to complete just to get the details is overkill and will turn people away from even starting the form. Why not get the initial details - name and email address first and then allow them to complete the additional fields at their leisure, or when they're actually required (such as requesting the phone number at the point that you are going to actually telephone them, not before).

You don't want to 'nag the users to death'; annoying them at the first point of entry is very bad practice. They may well fill in the forms but with just random data just to get past (plenty of [email protected] email addresses I'd wager!)

Just require the main fields, then give them the option of completing the others. Tell them the more complete their details the better the results but leave that choice up to them, don't force them to complete it.

Something like:

  • Name [.....]
  • Email Address [.....]

The following are optional, but will improve your results:

  • phone number [.....]
  • age [.....]
  • star sign [.....]


  • We want it upfront because we are worried that the user will not fill it out at a later date. Our objective is to encourage to give us this information both for their benefit (better search results) and our benefit (business analytics). The only problem is that the more data we gather the better our results will be and I can't find a good way to promote that.
    – 0x4B1D
    Oct 19, 2011 at 17:35
  • 2
    I'd leave it optional but try actually putting in the explanation you've written above. If you clearly explain >why< you want certain information you'll engage better with your users - and they >may< choose to play along with you.
    – PhillipW
    Oct 19, 2011 at 19:50

I think making your problem (the need for data) the user's problem (fill out all the fields) is a poor way to go, generally speaking. You may feel it's justified due to the ultimate goal of providing a better user experience, but you can only demand so much before users get antagonized.

This challenge can, however, be mitigated in a few ways. You can do as JohnGB says and "give" them something in return. You can also promote interim "surveys" where you clearly spell out why you are asking for info - if done properly, this will be less in their face than nagging them to death, as well as being shorter and possibly more targetted (Hey! To provide you with better service can you answer three questions for us? They are all about subjectxxxx and will take about 60 seconds of your time. etc).

Also, as JonW states, make it clear why the optional fields are useful to the user, and see what happens. This could be supported by inline text when they run a search - "You know, you might be missing out on some great hits by not giving us more info about yourself. Just sayin'."


First look at the funnel you are running users through. Your first goal is to get signups. Your second goal is to get optional information. Goal two is meaningless without the first, but the first goal is meaningful even if the second goal is not met, right?

Goal one: get them registered.
You want to grease the skids as much as possible toward this goal. Anything that creates the possibility of abandoning the form is counter to this goal. To this end, if it isn't required for signup, remove it or strongly consider removing it.

Goal two: get more info.
You want to learn about people so you can provide them with a better experience, service, etc. These would be intrinsic motivations for them to give you info, or at least deferred gratification. If you want to provide more extrinsic reasons (or more instant gratification), do something that gives them the immediate little burst of dopamine.

You can make a game out of the process, where people earn points, or even just cute little rewards. The most endearing implementation of this I have seen was the site iminlikewithyou.com (before they turned into OMG Pop).

Make it a game. Reward them now and in the future.
I'm In Like With You was a cross between a social network and a dating site. In order to send messages to people, you needed points. In order to earn points, you needed to do things that people liked, or if you spent enough time on the site, little toast notifications would pop up with a little "boo-beep" sound and ask innocuous questions. Every time you answered a question it said "Cool. [you earned 5 points]" with a little "bee-boop" sound.

Do something similarly game-like in asking all of your optional questions and provide both extrinsic and intrinsic rewards.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.