The rapid evolution of Internet services has led to a constantly increasing number of Web sites and to an increase in the available information. The main challenge is to support Web users in order to facilitate navigation through Web sites and to improve searching among the extremely large Web repository, such as digital libraries, online product catalogues, or other generic information sources. The complexity of today's services could be lowered by means of proactive support or advice from the system. The proactiveness could be achieved using dialoguing agents that exploit user profiles to provide personal recommendations. In this paper, we will present a general methodology to cover the entire process of designing advanced solutions for online services. The methodology has been adopted to elicit user requirements for the system developed in the COGITO project, and to evaluate the performance of the final prototype.