The described technology is directed to the field of automatic generation of electronic advertising messages, and more particularly, to the field of online advertising.
The world wide web (“the web”) permits companies and individuals to electronically publish content in the form of web pages that can be retrieved and displayed using a browser program running on a client computer system. Such “publishers” often sell to advertisers opportunities to present advertising messages together with their published content.
For example, an advertiser who is a music publisher may purchase opportunities to present an advertising message promoting a new music CD published by the publisher. The advertising message may be “rich” in a variety of ways. They may, for example, include text identifying the title of the CD and the responsible artist in a style that is visually compatible with an appealing background pattern and/or color, a series of multiple photos of the artist, a link to a web page on which the user can listen to the artist's music and purchase the CD, etc.
The inventors have recognized that the kind of rich advertising messages described above often require specialized expertise and significant effort to generate. The inventors have further recognized that these substantial requirements for effectively generating rich advertising messages tend to limit the availability of such rich advertising messages to a relatively small number of sophisticated, well-funded advertisers who are in a position to satisfy those requirements. The inventors have further recognized that, if less expertise and effort was required to effectively generate rich advertising message, rich advertising messages would become available to a much wider population of advertisers.
A software facility for automatically generating electronic advertising messages (“the facility”) is described. The facility uses an existing web page—sometimes referred to as the “model web page”—as a basis for automatically generating an advertising message, such as a display advertising message. For example, the facility may use as the model web page the web page to which the advertising message will be linked, the advertiser's home page, or another page having both the content and the look and feel desired for the generated advertising message.
The facility extracts elements such as background and text colors, textual content, and rich media from the model web page and populated into the advertising message. In some embodiments, the extraction is fully automatic. In some embodiments, the facility guides the user through selecting in the page the elements to be extracted. In some embodiments, the facility presents a user interface that the user may use to modify the advertising message generated by the facility.
In some embodiments, in connection with generating the advertising message, the facility enables its user to arrange to have the generated advertising message presented by one or more publishers.
By automatically generating advertising messages in some or all of the ways described above, the facility enables a user without specialized expertise to quickly and straightforwardly generate an effective rich advertising message, making rich advertising messages available to a much wider population of advertisers.
While various embodiments are described in terms of the environment described above, those skilled in the art will appreciate that the facility may be implemented in a variety of other environments including a single, monolithic computer system, as well as various other combinations of computer systems or similar devices connected in various ways. In various embodiments, a variety of computing systems or other different client devices may be used in place of the web client computer systems, such as mobile phones, personal digital assistants, televisions and associated video sources, cameras, etc.
The page also contains control 450 that the user may activate in order to generate advertising messages for this page. In some embodiments, this control is included only in instances of the page served to a user who is the “owner” of the page, in this case a user associated with the auto dealer that is selling the car. In some embodiments, activation of this control causes the user's browser to send a request or other communication to a server on which aspects of the facility are executing. This communication contains the URL of the page, or some other basis for identifying the page such as a page ID.
Returning to
Returning to
In steps 503-505, the facility loops through each row of the parsing instructions table selected in step 502. In step 504, the facility extracts one or more features from the HTML source for the model web page in accordance with the parsing instructions contained in the row. In step 505, if additional selected rows of the parsing instructions table remain to be processed, then the facility continues in step 503 to process the next selected row, else these steps conclude. In some embodiments (not shown), the facility similarly applies the parsing instructions to pages linked to from the model web page. In some embodiments, links are only followed for this purpose if they identify a URL in the same domain as the model web page. In some embodiments (not shown), the facility similarly applies the parsing instructions recursively in this manner, up to a predetermined maximum depth, such as three.
The application of the sample contents shown in the parsing instructions table 700 is discussed below in connection with the HTML source for the sample model web page shown below in Table 1.
To process row 711 of the parsing instructions table, the facility searches the HTML source for the first-occurring span tag having the class member_name, which it finds in line 33. Because row 711 does not specify a particular attribute of the span tag whose value is to be copied, the facility copies the content of the tag, “Toyota of Santa Maria.” To process row 712 of the parsing instructions table, the facility searches the HTML source for the first-occurring title tag, which it finds in line 11. The facility copies the content of the tag, “2006 Conduct Odyssey EX-L.” To process 713, the facility searches for the first-occurring span tag having the class location, which it finds in line 40. In accordance with the search expression specified in row 713, the facility copies the text between the first and second new-line character in the content of the tag, i.e., “Santa Maria.” To process row 714, the facility searches for the first-occurring span tag having the class price which it finds in line 22, and copies the content of the tag, “$27,967.” To process row 715, the facility searches for the first-occurring three img tags whose src attribute has a value matching the search expression specified in row 715. These occurrences are in lines 18, 19, and 20, from each of which the facility copies the URL text. To process row 716, the facility searches for the first-occurring header_color tag which it finds in line 14, and copies the value of the val attribute, “0x562cab.” To process row 717, the facility searches for the first-occurring background_color tag which it finds in line 15, and copies the value of the val attribute, “0xffffff.” To process row 718, the facility searches for the first-occurring title_font_color tag which it finds in line 16, and copies the value of the val attribute, “0xf5812c.” To process row 719, the facility searches for the first-occurring body_font_color tag which it finds in line 17, and copies the value of the val attribute, “0x888888.”
In various embodiments, the facility uses a wide variety of regular expression schemes to specify the search expressions contained in column 707, including but not limited to those used by the Microsoft Visual Basic scripting language and the PHP hypertext processor. In some embodiments, the grammar used by the facility has one or more of the following characteristics:
Additional examples of search expression pattern matching follow. The examples assume that the HTML source for the model web page is that shown below in Table 2.
A first example is a search expression that returns only .jpg images of any size:
This search expression returns the URLs in lines 1, 3, and 5. A second example is a search expression that returns only medium-sized .jpg images:
This search expression returns the URL in line 3. A third example is a search expression that returns only non-secure (http) .jpg and .gif images of any size:
This search expression returns the URLs in lines 1, 2, and 3.
In some embodiments, the operator of the facility makes arrangements with one or more web publishers under which the web publishers make available a direct interface that may be called by the facility to directly retrieve information about the assets employed in any page published by the publisher. In such embodiments, step 302 involves sending a request to the publisher's interface that identifies the model page, such as by providing a URL or page ID for the page. The publisher responds with a response that contains the assets to be incorporated in the generated advertising message that makes it unnecessary to parse the HTML source for the model page in order to obtain this information.
In some embodiments, the publisher includes source for the advertising message generation control in the model web page that, when the control is activated, causes the browser to post to a server executing portions of the facility information identifying the assets to be incorporated in the generated advertising message. Here too, it is unnecessary for the facility to parse the HTML source for the model page in order to obtain this information.
In step 303, the facility retrieves assets identified in step 302 that are external to the page, such as images, video and audio streams, animations, etc.
In some embodiments, the facility generates multiple different advertising messages in response to each user request. These different advertising messages, referred to as “advertising message configurations,” can correspond to various advertising message dimensions, media types, maximum or target data sizes and/or data rates, etc. For example, the Interactive Advertising Bureau provides specifications for different standard advertising message types, such as at www.iab.net/iab_products_and_industry_services/1421/1443/1473/81563 and www.iab.net/iab_products_and_industry_services/1421/1443/1452. Those skilled in the art will appreciate that various other advertising message configurations may be supported by the facility.
In step 304-309, the facility loops through each of the advertising message configurations it supports. In step 305, the facility appropriately sizes and stores copies of assets identified in step 302 in a manner appropriate for the dimensions and other attributes of the current advertising message configuration. For text assets, this may include cropping the text and/or changing or setting its size. For images, video streams, etc., this can involve cropping, zooming, panning, etc. In step 306, the facility constructs an XML definition of the advertising message employing the assets as sized in step 305. A sample XML definition is shown below in Table 3 that corresponds to the HTML source shown in Table 1.
The dealer name extracted from line 24 of Table 1 is included on line 4 of Table 3. The title text extracted from line 11 of Table 1 is included at line 7 of Table 3. The dealer location extracted from line 42 of Table 1 is included at line 10 of Table 3. The price extracted from line 22 of Table 1 is included at line 11 of Table 3. The image URLs extracted from lines 18-20 of Table 1 are included at lines 14-16 of Table 3. The color values extracted from lines 14-17 of Table 1 are included at lines 18-21 of Table 3. In step 307, the facility parses the XML definition constructed in step 306 to obtain an XML tree. In step 308, the facility uses the tree obtained in step 307 to construct the advertising message. In some embodiments, in step 306, the facility constructs a Macromedia Flash file having the “.swf” file name extension. The constructed Flash file contains a reference to the XML tree that causes an action receipt included in the Flash file to load the XML tree and use it as a basis for presenting the advertising message. In some embodiments, the facility includes in the generated advertising message a link that viewers of the advertising message can activate to display the model web page, or another web page specified by the user. In step 309, if additional advertising message configurations remain to be processed, then the facility continues in step 304 to process the next advertising message configuration, else the facility continues in step 310.
In step 310, the facility displays a preview of one or more of the generated advertising messages. In step 311, the facility enables the user to modify the generated advertising messages.
The page further includes a control 821 that the user can activate in order to display the different advertising messages generated by the facility for the different advertising message configurations. The display also includes a control 822 that the user can activate in order to modify the generated advertising message or advertising messages.
Returning to
Those skilled in the art will appreciate that the steps shown in
Returning to
In some embodiments, the facility provides a mechanism for the user to download the generated and/or modified advertising messages and associated resources. In some embodiments, the facility provides a mechanism for providing the generated and/or modified advertising messages directly from the facility to a third-party advertising agency or ad serving service provider.
It will be appreciated by those skilled in the art that the above-described facility may be straightforwardly adapted or extended in various ways. For example, the facility may generate advertising messages from model pages having a wide variety of file types and/or formats. The facility may extract a wide variety of kinds of content from the model page, and be used in conjunction with a variety of user interfaces for modifying and/or activating generated advertising messages. While the foregoing description makes reference to particular embodiments, the scope of the invention is defined solely by the claims that follow and the elements recited therein.
This application is a continuation U.S. patent application Ser. No. 14/941,173, entitled “AUTOMATIC GENERATION OF ELECTRONIC ADVERTISING MESSAGES” and filed on Nov. 13, 2015 (U.S. Pat. No. 10,891,661), which is a continuation of U.S. patent application Ser. No. 14/673,035, entitled “AUTOMATIC GENERATION OF ELECTRONIC ADVERTISING MESSAGES” and filed on Mar. 30, 2015, which is a continuation of U.S. patent application Ser. No. 12/018,056, entitled “AUTOMATIC GENERATION OF ELECTRONIC ADVERTISING MESSAGES” and filed on Jan. 22, 2008, the disclosures of which are incorporated herein by reference in their entireties.
Number | Name | Date | Kind |
---|---|---|---|
6393407 | Middleton et al. | May 2002 | B1 |
6963863 | Bannon | Nov 2005 | B1 |
7428497 | Agarwal et al. | Sep 2008 | B2 |
7707127 | Jhala et al. | Apr 2010 | B2 |
7870497 | Greer et al. | Jan 2011 | B2 |
8577181 | Badros | Nov 2013 | B1 |
8930832 | Greer et al. | Jan 2015 | B2 |
9361632 | Greer et al. | Jun 2016 | B2 |
9805393 | Greer et al. | Oct 2017 | B2 |
10068253 | Greer et al. | Sep 2018 | B2 |
10891661 | Bonzi et al. | Jan 2021 | B2 |
20020103698 | Cantrell | Aug 2002 | A1 |
20020188511 | Johnson | Dec 2002 | A1 |
20040186775 | Margiloff et al. | Sep 2004 | A1 |
20040205514 | Sommerer et al. | Oct 2004 | A1 |
20050144073 | Morrisroe | Jun 2005 | A1 |
20050235030 | Lauckhart et al. | Oct 2005 | A1 |
20060122884 | Graham et al. | Jun 2006 | A1 |
20060212350 | Ellis et al. | Sep 2006 | A1 |
20070050253 | Biggs et al. | Mar 2007 | A1 |
20070083810 | Scott et al. | Apr 2007 | A1 |
20070130014 | Altberg | Jun 2007 | A1 |
20070156524 | Grouf et al. | Jul 2007 | A1 |
20070239530 | Datar et al. | Oct 2007 | A1 |
20070260515 | Schoen et al. | Nov 2007 | A1 |
20070260516 | Schoen et al. | Nov 2007 | A1 |
20070271370 | Kehl | Nov 2007 | A1 |
20080140476 | Anand et al. | Jun 2008 | A1 |
20080195957 | Kim et al. | Aug 2008 | A1 |
20080228720 | Mukherjee et al. | Sep 2008 | A1 |
20080243826 | Bartz et al. | Oct 2008 | A1 |
20080306809 | Kwak et al. | Dec 2008 | A1 |
20090119169 | Chandratillake | May 2009 | A1 |
20090138351 | Shih et al. | May 2009 | A1 |
20090187477 | Bardin et al. | Jul 2009 | A1 |
20090187481 | Bonzi et al. | Jul 2009 | A1 |
20090265163 | Li et al. | Oct 2009 | A1 |
20090271260 | Sharma et al. | Oct 2009 | A1 |
20130291012 | Lerman | Oct 2013 | A1 |
20140278913 | Martel et al. | Sep 2014 | A1 |
20160307238 | Bonzi et al. | Oct 2016 | A1 |
20170178201 | Tunguz-Zawislak | Jun 2017 | A1 |
20180218401 | Greer et al. | Aug 2018 | A1 |
20180341983 | Dean et al. | Nov 2018 | A1 |
20180365707 | Jha et al. | Dec 2018 | A1 |
20180374122 | Greer et al. | Dec 2018 | A1 |
Number | Date | Country |
---|---|---|
2007027453 | Mar 2007 | WO |
Entry |
---|
“Snap Preview Anywhere™ Adoption Skyrockets as Web Publishers and Bloggers Embrace Ability to Include Previews on Sites”, Snap For Immediate Release. Pasadena, California, Dec. 18, 2006, 2 pages. |
“snap.com Announces Snap Shots”, blog.snap.com. San Francisco, California, Apr. 16, 2007. Available at <http://blog.snap.com/2007/04/16/snapcom-announces-snap-shots>, 5 pages. [Last Accessed: Oct. 19, 2008]. |
International Search Report and Written Opinion; International Patent Application No. PCT/US09/31614; Filed: Jan. 21, 2009; Applicant: 2KDirect, LLC; dated Mar. 3, 2009. |
IPromote—How It Works, http://ipromote.com/works.asp, 1 pg., Internet accessed Jan. 22, 2008. |
Number | Date | Country | |
---|---|---|---|
20210209656 A1 | Jul 2021 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 14941173 | Nov 2015 | US |
Child | 17146429 | US | |
Parent | 14673035 | Mar 2015 | US |
Child | 14941173 | US | |
Parent | 12018056 | Jan 2008 | US |
Child | 14673035 | US |