Abstract: A method for displaying advertisements on a user device. The method includes generating at least one window frame on the user device by an agent, wherein the at least one window frame is configurable by a user of the user device; periodically communicating with an advertisement management server (AMS) requesting to provide at least one advertisement and its associated metadata; displaying, upon determination that a user is interacting with the user device, the at least one advertisement on the at least one window frame based in part on the metadata; and generating a message of consumption for debiting an advertisement campaign account of the at least one advertisement for the viewing of the at least one advertisement and for crediting a user account of the user for the viewing of the at least one advertisement; and sending the message of consumption to the AMS.