A computer-implemented method for displaying advertisements in a video on a client device, the method comprising: transmitting, by the client device, a request for the video, receiving the video at the client device responsive to transmitting the request, the video including advertisement insertion points, each advertisement insertion point describing attributes for selection of advertisements to be inserted into the video at the advertisement insertion point; identifying, by the client, the advertisement insertion points included in the video; dynamically selecting, by the client device, an advertisement from a plurality of candidate advertisements available to be included in the video during playback at each advertisement insertion point according to the described attributes for selection of advertisements for each advertisement insertion point, each advertisement including an advertisement tag specifying parameters relating to display of the advertisement on the client device and the advertisement tag including information specifying user interactions criteria for the client device to monitor interactions with the advertisement based on said criteria during display of the advertisement if the advertisement is selected by the client device, wherein said step of dynamic selecting being performed by the client device when network connectivity is unavailable, and for the client device to report said monitored user interactions that occur during the display of the advertisement when network connectivity is established; and displaying the advertisements selected by the client device at the advertisement insertion points, each advertisement displayed in an advertisement insertion point according to an associated advertisement tag specifying parameters related to the display of the advertisement. transmitting, by the client device, a request for the video, receiving the video at the client device responsive to transmitting the request, the video including advertisement insertion points, each advertisement insertion point describing attributes for selection of advertisements to be inserted into the video at the advertisement insertion point; identifying, by the client, the advertisement insertion points included in the video; dynamically selecting, by the client device, an advertisement from a plurality of candidate advertisements available to be included in the video during playback at each advertisement insertion point according to the described attributes for selection of advertisements for each advertisement insertion point, each advertisement including an advertisement tag specifying parameters relating to display of the advertisement on the client device and the advertisement tag including information specifying user interactions criteria for the client device to monitor interactions with the advertisement based on said criteria during display of the advertisement if the advertisement is selected by the client device, wherein said step of dynamic selecting being performed by the client device when network connectivity is unavailable, and for the client device to report said monitored user interactions that occur during the display of the advertisement when network connectivity is established; and displaying the advertisements selected by the client device at the advertisement insertion points, each advertisement displayed in an advertisement insertion point according to an associated advertisement tag specifying parameters related to the display of the advertisement. dynamically selecting, by the client device, an advertisement from a plurality of candidate advertisements available to be included in the video during playback at each advertisement insertion point according to the described attributes for selection of advertisements for each advertisement insertion point, each advertisement including an advertisement tag specifying parameters relating to display of the advertisement on the client device and the advertisement tag including information specifying user interactions criteria for the client device to monitor interactions with the advertisement based on said criteria during display of the advertisement if the advertisement is selected by the client device, wherein said step of dynamic selecting being performed by the client device when network connectivity is unavailable, and for the client device to report said monitored user interactions that occur during the display of the advertisement when network connectivity is established; and displaying the advertisements selected by the client device at the advertisement insertion points, each advertisement displayed in an advertisement insertion point according to an associated advertisement tag specifying parameters related to the display of the advertisement.