The present disclosure is directed to systems and methods for automatically generating graphical advertisements based on text offers. Generating graphical advertisements based on text offers provides online advertisement service providers such as Yahoo! Search Marketing an efficient system and method to better take advantage of opportunities to serve graphical advertisements and to better monetize unsold graphical advertisement inventory.
With systems that generate a graphical ad based on a text offer, the ad provider 102 first receives a request for a graphical ad such as a banner ad. The ad provider 102 determines a plurality of ads eligible to be served in response to the request and determines whether each of the ads of a guaranteed class of ads is on pace to fulfill a delivery quota. If each ad of the guaranteed class is on pace to fulfill their respective delivery quotas, the ad provider 102 determines a type of ad of a non-guaranteed class with a highest priority.
If the type of ad with the highest priority is a text offer, the ad provider 102 creates a script and sends the script to a browser 106 that will construct the webpage. In constructing the webpage, the browser 106 executes the script, causing the browser 106 to call the keyword extraction module 104. The keyword extraction module 106 examines the content of the webpage and/or examines data stored at the browser 106 to determine a keyword.
The keyword extraction module 104 sends the determined keyword to the ad provider 102. Based on the determined keyword and various performance parameters stored at the ad provider 102, the ad provider 102 determines a text offer with a highest priority and sends the text offer to the browser 106. The keyword extraction module 104 may additionally send the determined keyword to the browser 106. In implementations where the keyword extraction module 104 sends the keyword to the browser 106, the browser may display the keyword in an advertisement as explained in more detail below.
The browser 106, executing the received script, requests an ad template from a creative template builder 108 of the ad provider 102. The creative template builder 108 sends the ad template, including formatting instructions for a graphical ad as set by an advertiser, to the browser 106. The browser 106, using the received ad template, the received text offer, and possibly a received keyword, constructs a graphical ad on the webpage based on the text offer.
As discussed above, the ad provider 102 receives a request for a graphical ad, such as a banner ad. In one embodiment, the request for the graphical ad includes information such as a characteristic of a webpage where the graphical ad will be rendered and/or an attribute of a user who will view the webpage.
The ad provider 102 determines a plurality of ads that are eligible to serve in response to the graphical ad request. The ad provider 102 then examines the class of the ads eligible to serve in response to the graphical ad request. Typically, the ad provider 102 serves at least two classes of ads. In one implementation, the ad provider serves a guaranteed class of ads and a non-guaranteed class of ads, but an ad provider 102 may define classes of ads in any way. For the guaranteed class of ads, the ad provider 102 agrees to serve a defined number of ads for an advertiser over a defined period of time. For a non-guaranteed class of ads, an advertiser has agreed to compensate the ad provider 102 each time the ad provider 102 chooses to serve an ad. The non-guaranteed class of ads may include both graphical ads and text offers. It will be appreciated that the ad provider 102 typically gives preference to ads of a guaranteed class over ads of a non-guaranteed class.
The ad provider 102 determines whether the ad provider 102 is on pace to fulfill a delivery quota associated with each ad of the guaranteed class that is eligible to serve in response to the graphical ad request. A delivery quota is a number of ads that the ad provider 102 has agreed to serve within a period of time, in one example. Other quota definitions or arrangements may be applied as well. One method for determining whether the ad provider 102 is on pace to fulfill a delivery quota associated with an ad is disclosed in U.S. patent application Ser. No. 11/253,907, filed Oct. 19, 2005, the entirety of which is hereby incorporated herein by reference.
If the ad provider 102 is not on pace to fulfill a delivery quota associated with an ad of the guaranteed class eligible to serve in response to the graphical ad request, the ad provider 102 may serve an ad of the guaranteed class. However, if the ad provider 102 is on pace to fulfill a delivery quota associated with each ad of the guaranteed class eligible to serve in response to the graphical ad request, the ad provider 102 may serve an ad of the non-guaranteed class. The ad provider 102 examines the ads of the non-guaranteed class eligible to serve in response to the graphical ad request to determine an ad type with the highest priority. In one embodiment, the ad provider 102 determines an ad type with the highest priority by determining the ad type that will result in the highest compensation for the ad provider 102. For example, the ad provider 102 may compare a cost per thousand impressions (“CPM”) for one or more graphical ads of the non-guaranteed class with an estimated cost per thousand impressions (“eCPM”) of one or more text offers of the non-guaranteed class. The ad provider 102 calculates an eCPM of a text offer by multiplying a cost per click (“CPC”) associated with the text offer by the quantity of a click through rate (“CTR”) associated with the text offer divided by 1000.
If the ad provider 102 determines a graphical ad of the non-guaranteed class has a highest priority, the ad provider 102 may serve a graphical ad in response to the graphical ad request. However, if the ad provider 102 determines a text offer has a highest priority, the ad provider 102 creates a script that is served in response to the graphical ad request. In one embodiment, the script is a JavaScript, but any type of script known in the art could be used. The ad provider 102 creates a script, that when executed by the browser 106 constructing the webpage, causes the browser 106 to call the keyword extraction module 104.
In response to the call, the keyword extraction module 104 determines a keyword related to the graphical ad request. The keyword may be a single word or a phrase. One example of a keyword extraction module 104 is described in U.S. patent application Ser. No. 10/829,814, filed Apr. 21, 2004, the entirety of which is hereby incorporated by reference. In one embodiment, the keyword extraction module 104 determines a contextually relevant keyword based on the content of the webpage where the graphical ad will be rendered. The keyword extraction module 104 may additionally determine a behaviorally relevant keyword based on data saved at a browser such as a browser cookie that indicates the behavior of a user interacting with the client browser.
The keyword extraction module 104 sends the determined keyword to the ad provider 102 and may send the determined keyword to the browser 106. The ad provider 102 determines a plurality of text offers related to the keyword as is known in the art and determines a text offer with the highest priority. In one embodiment, to determine a text offer with the highest priority, the ad provider 102 accesses one or more performance parameters associated with the text offers. The ad provider 102 calculates the eCPM for one or more text offers as described above. The ad provider 102 may choose a text offer related to the determined keyword with the highest eCPM, but it will be appreciated that the ad provider 102 may choose a text offer based on any performance parameter or any number of performance parameters. After determining the text offer with the highest priority, the ad provider 102 sends the text offer to the browser 106 and may record various performance parameters associated with the text offer.
Before or after receiving the text offer, the browser 106, executing the received script, requests an ad template from the creative template builder 108 of the ad provider 102. The ad server 102 sends the ad template, which includes formatting instructions based on the selected text offer, to the browser 106. The formatting instructions may be graphical ad format settings set by an advertiser, a campaign optimizer of an ad campaign management system, or any other portion of an ad campaign management system such as those described in U.S. patent application Ser. No. 11/324,129, filed Dec. 30, 2005, the entirety of which is hereby incorporated herein by reference. Examples of formatting instructions include a size limit of a graphical ad, one or more colors that should be included in a graphical ad, one or more colors that should be avoided in a graphical ad, one or more images that should be included in a graphical ad, one or more types of images that should not be included in a graphical ad, or any other type of information associated with a configurable element of a graphical ad related to a text offer.
Based on the received text offer, the received ad template, and possibly a received keyword, the browser 106 generates a graphical ad and renders the graphical ad on the constructed webpage. In one implementation, an ad template may be JavaScript or a Flash template, but any type of code known in the art could be used.
In
In
The ad provider determines whether each ad of a guaranteed class is on pace to fulfill their respective delivery quota at block 506. If one or more ads of the guaranteed class are not on pace to fulfill their respective delivery quota 508, the ad provider serves an ad of the guaranteed class at block 510 and the method 500 ends. However, if the ad provider determines each ad of the guaranteed class is on pace to fulfill their respective delivery quota 512, the ad provider determines which type of ad of the non-guaranteed class has the highest priority at block 514. As explained above, the ad provider may determine which type of ad has the highest priority by comparing the CPM of one or more graphical ads with the eCPM of one or more text offers.
If the ad provider determines that a graphical ad of the non-guaranteed class has the highest priority 516, the ad provider serves a graphical ad of the non-guaranteed class at block 518 and the method 500 ends. However, if the ad provider determines a text offer has the highest priority 520, the ad provider creates a script and sends the script to a browser at block 522.
The browser executes the script and calls the keyword extraction module at block 524. The keyword extraction module determines a keyword at block 526 based on the content of a webpage where the graphical ad will be inserted and/or based on data stored at the browser such as a browser cookie indicating the behavior of a user interacting with the browser. The keyword extraction module sends the keyword to the ad provider at block 528 and may send the keyword to the browser at block 530.
The ad provider determines a plurality of text offers associated with the keyword at block 532. The ad provider then determines a text offer of the plurality of text offers having the highest priority at block 534. As explained above, the ad provider may determine a text offer having the highest priority based on the eCPM of one or more text offers. The ad provider sends the determined text offer to the browser at block 536 and may record various performance parameters associated with the determined text offer at block 538.
Before or after receiving the determined text offer, the browser requests an ad template from a creative template builder of the ad provider at block 540. The ad provider sends the ad template, including formatting instructions for the determined text offer as described above, to the browser at block 542. Based on the received text offer and ad template, the browser constructs a graphical ad based on the text offer at block 544. In some embodiments, constructing the graphical ad my include determining a proper size, color scheme, or image for the graphical ad. The browser then renders the graphical ad on the webpage at block 546. The browser may then display the generated graphical ad based on the text offer on a webpage at block 548.
It will be appreciated that the systems and methods of