The method includes receiving information about online activity of a user, the information including at least a unique user ID and a URL requested by the user; fetching textual content associated with the URL requested by the user; generating one or more keywords based on the textual content; and generating or updating a user profile of the user to include the one or more keywords.