1. A media content based advertising system, comprising: a memory; a processor disposed in communication with said memory, and configured to issue a plurality of processing instructions stored in the memory, wherein the processor issues instructions to: provide TV program schedule listing data including a plurality of ad tags to a user mobile device, receive a user media program selection message from the user mobile device; retrieve an ad tag associated with the user selected media program from the TV program schedule listing data; identify an advertised item embedded in the media program based on the retrieved ad tag; determine an available ad template associated with the retrieved ad tag; generate an ad for the embedded advertised item based on the available ad template; and provide the generated ad to the user mobile device based on a timestamp of the ad tag.