A method of providing interactive content for display, comprising: receiving, by a data processing system, from a client device, a request for a web page including primary video content; determining, by the data processing system, that the client device is communicating with the data processing system via a network connection corresponding to a bandwidth below a predetermined threshold; responsive to determining that the network connection corresponds to a bandwidth below the predetermined threshold, providing, to the client device, by the data processing system, the web page including the primary video content and web page code invoking a low bandwidth advertisement rendering script responsive to the request for the web page, the low bandwidth advertisement rendering script configured to cause the client device to: i) determine, on loading the web page at the client device, by the client device, that an ad rendering application is present, the ARA configured to render interactive ads based on content retrieved from advertisement content packages provided by the data processing system, the ARA previously received by a browser of the client device; ii) responsive to determining that the ARA is present, detect a first time at which the primary video content streamed by a video player executing on the client device has completed buffering; iii) responsive to detecting the first time, receive the ACP from the data processing system, the ACP including data to generate an interactive advertisement to be displayed by the video player; iv) responsive to receiving the ACP packet, identify a triggering event at which to provide an interactive advertisement for display; and v) responsive to identifying the triggering event at which to provide content for display, provide, for display, at the client device, the interactive advertisement corresponding to the ACP. receiving, by a data processing system, from a client device, a request for a web page including primary video content; determining, by the data processing system, that the client device is communicating with the data processing system via a network connection corresponding to a bandwidth below a predetermined threshold; responsive to determining that the network connection corresponds to a bandwidth below the predetermined threshold, providing, to the client device, by the data processing system, the web page including the primary video content and web page code invoking a low bandwidth advertisement rendering script responsive to the request for the web page, the low bandwidth advertisement rendering script configured to cause the client device to: i) determine, on loading the web page at the client device, by the client device, that an ad rendering application is present, the ARA configured to render interactive ads based on content retrieved from advertisement content packages provided by the data processing system, the ARA previously received by a browser of the client device; ii) responsive to determining that the ARA is present, detect a first time at which the primary video content streamed by a video player executing on the client device has completed buffering; iii) responsive to detecting the first time, receive the ACP from the data processing system, the ACP including data to generate an interactive advertisement to be displayed by the video player; iv) responsive to receiving the ACP packet, identify a triggering event at which to provide an interactive advertisement for display; and v) responsive to identifying the triggering event at which to provide content for display, provide, for display, at the client device, the interactive advertisement corresponding to the ACP. i) determine, on loading the web page at the client device, by the client device, that an ad rendering application is present, the ARA configured to render interactive ads based on content retrieved from advertisement content packages provided by the data processing system, the ARA previously received by a browser of the client device; ii) responsive to determining that the ARA is present, detect a first time at which the primary video content streamed by a video player executing on the client device has completed buffering; iii) responsive to detecting the first time, receive the ACP from the data processing system, the ACP including data to generate an interactive advertisement to be displayed by the video player; iv) responsive to receiving the ACP packet, identify a triggering event at which to provide an interactive advertisement for display; and v) responsive to identifying the triggering event at which to provide content for display, provide, for display, at the client device, the interactive advertisement corresponding to the ACP.