WO2001050399A2 - System and method for targeting advertisements for online promotions to internet users - Google Patents

System and method for targeting advertisements for online promotions to internet users Download PDF

Info

Publication number
WO2001050399A2
WO2001050399A2 PCT/US2001/000462 US0100462W WO0150399A2 WO 2001050399 A2 WO2001050399 A2 WO 2001050399A2 US 0100462 W US0100462 W US 0100462W WO 0150399 A2 WO0150399 A2 WO 0150399A2
Authority
WO
WIPO (PCT)
Prior art keywords
promotion
advertisement
server
www
block
Prior art date
Application number
PCT/US2001/000462
Other languages
French (fr)
Other versions
WO2001050399A9 (en
WO2001050399A8 (en
Inventor
Kevin R. Marcus
Timothy P. Byerly
Original Assignee
Infospace, Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Infospace, Inc. filed Critical Infospace, Inc.
Priority to AU29298/01A priority Critical patent/AU2929801A/en
Publication of WO2001050399A2 publication Critical patent/WO2001050399A2/en
Publication of WO2001050399A8 publication Critical patent/WO2001050399A8/en
Publication of WO2001050399A9 publication Critical patent/WO2001050399A9/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q30/00Commerce
    • G06Q30/02Marketing; Price estimation or determination; Fundraising

Definitions

  • This invention relates generally to advertising over a network, and, more specifically, to a system and method for targeting advertisements for online promotions to users of the Internet.
  • E-commerce sites exist today offering virtually any product imaginable, and offer a degree of convenience to consumers that was previously unavailable. Due to the proliferation of e-commerce sites, and the convenience of online shopping, merchants have become increasingly interested in advertising their products to
  • merchants partner with other WWW site owners such as Internet service providers (ISPs), news providers, search engine providers, other merchants, etc.
  • ISPs Internet service providers
  • the partner's WWW site attracts a large number of users, and the advertising content receives wide distribution.
  • the merchant typically pays the partner for displaying their advertising content on the partner's WWW site.
  • the partners provide an advertisement space or "spot" such that an entity providing an advertising server may identify and target the spot for inserting advertising content, such as a graphical banner or button advertisement.
  • the advertising server may select the advertising content based on context information provided through a browser implemented by the user.
  • This context information may include an identity for the user, one or more parameters from a search query input by the user, and results from the search query.
  • the advertising server may trigger a banner advertisement for a snow ski manufactured by a merchant who has an arrangement with the search engine WWW site owner.
  • the advertising content inserted into the advertisement spot invites the user to "visit" another site, typically the merchant's e-commerce site, to receive additional information on products available by the advertising merchant.
  • the merchant must create specific advertising content that will entice specific users to specific products. This solution is very time-consuming and costly.
  • many smaller merchants may not have the resources to create such advertising content and may not have the advertising budget to partner with other WWW site owners that attract a large number of users. Therefore, these smaller merchants must forego targeted advertising to potential purchasers of their specific products.
  • some merchants may desire to target different geographical areas with various products and prices. Furthermore, the merchants may desire to quickly alter their advertising strategy depending on the availability of products.
  • An active promotion server formed in accordance with the present invention receives requests over a network for advertising content from a third party.
  • Third party information is identified from within the request and is compared with attributes of an online promotion. This comparison allows the active promotion server to locate an appropriate advertisement that is then sent back to the third party in response to the request.
  • the attributes may be periodically updated by the merchants and may include a cost for the product, a number indicating how many times the advertisement should be displayed, a geographical location in which to run the advertisement, and other attributes desirable to the merchant's advertising strategy.
  • FIGURE 1 is a block diagram of a representative portion of the Internet
  • FIGURE 2 is a block diagram showing an illustrative operating environment for implementing aspects of the present invention
  • FIGURE 3A is a block diagram depicting an illustrative architecture for a consumer computer used to browse the WWW
  • FIGURE 3B is a block diagram depicting an illustrative architecture for an active promotion WWW server used to target advertisements to the user of the consumer's computer in accordance with the present invention
  • FIGURE 4 is a window produced by a WWW browser installed on the consumer's computer browsing a WWW site incorporating advertising content targeted to the consumer in accordance with aspects of the present invention
  • FIGURE 5 is a flow diagram illustrating an overview of the logic used by the active promotion Web server in accordance with the present invention
  • FIGURE 6 is a flow diagram illustrating the logic used by a promotion updater module to initialize the active promotion Web server with tables correlating online promotion data with advertising attributes
  • FIGURE 7 is an illustrative data structure diagram showing a layout for the online promotion data stored in the promotion database of FIGURE 2;
  • FIGURE 8 is an illustrative indirection table diagram showing the tables created and updated by the promotion updater module;
  • FIGURE 9 is a flow diagram illustrating an overview of the logic used by an advertisement locator module to process a request to display an advertisement;
  • FIGURE 10 is a flow diagram illustrating the logic used by the advertisement locator module to locate the most appropriate advertisement suitable for use in FIGURE 9
  • FIGURE 11 is a flow diagram illustrating the logic used by the advertisement locator module to build a search context suitable for use in FIGURE 10;
  • FIGURE 12 is a flow diagram illustrating the logic used by the advertisement locator module to select the most appropriate advertisement suitable for use in FIGURE 10; and FIGURE 13 is an illustrative diagram conceptually illuminating the promotion grid created by the process in FIGURE 12.
  • FIGURE 1, FIGURE 2 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the present invention may be implemented.
  • aspects of the present invention are embodied in an active promotion server 30 accessible via the Internet 20.
  • the term "Internet” refers to the collection of networks and routers that use the Transmission Control Protocol/Internet Protocol (“TCP/IP”) to communicate with one another.
  • TCP/IP Transmission Control Protocol/Internet Protocol
  • FIGURE 1 A representative section of the Internet 20 is shown in FIGURE 1, in which a plurality of local area networks ("LANs") 24 and a wide area network (“WAN”) 26 are interconnected by routers 22.
  • the routers 22 are special purpose computers used to interface one LAN or WAN to another. Communication links within the LANs may be twisted wire pair, or coaxial cable, while communication links between networks may utilize 56 Kbps analog telephone lines, 1 Mbps digital T-l lines, 45 Mbps T-3 lines or other communications links known to those skilled in the art.
  • computers and other related electronic devices can be remotely connected to either the LANs 24 or the WAN 26 via a modem and temporary telephone link.
  • the Internet 20 comprises a vast number of such interconnected networks, computers, and routers and that only a small, representative section of the Internet 20 is shown in FIGURE 1.
  • the Internet has recently seen explosive growth by virtue of its ability to link computers located throughout the world. As the Internet has grown, so has the WWW.
  • the WWW is a vast collection of interconnected or "hypertext" documents written in HyperText Markup Language ("HTML"), or other markup languages, that are electronically stored at "Web sites" or "WWW sites” throughout the Internet.
  • HTML HyperText Markup Language
  • a WWW site is a server connected to the Internet that has mass storage facilities for storing hypertext documents and that runs administrative software for handling requests for those stored hypertext documents.
  • a hypertext document normally includes a number of hyperlinks, i.e., highlighted portions of text which link the document to another hypertext document possibly stored at a WWW site elsewhere on the Internet.
  • Each hyperlink is associated with a Uniform Resource Locator ("URL") that provides the exact location of the linked document on a server connected to the Internet and describes the document.
  • URL Uniform Resource Locator
  • a hypertext document is retrieved from any WWW. server, the document is considered to be retrieved from the WWW.
  • a WWW server may also include facilities for storing and transmitting application programs, such as application programs written in the JAVA® programming language from Sun Microsystems, for execution on a remote computer.
  • a WWW server may also include facilities for executing scripts and other application programs on the WWW server itself.
  • a consumer or other remote user may retrieve hypertext documents from the WWW via a WWW browser application program.
  • a WWW browser such as Netscape's NAVIGATOR® or Microsoft's INTERNET EXPLORER®, is a software application program for providing a graphical user interface to the WWW.
  • the WWW browser accesses and retrieves the desired hypertext document from the appropriate WWW server using the URL for the document and a protocol known as HyperText Transfer Protocol ("HTTP").
  • HTTP is a higher-level protocol than TCP/IP and is designed specifically for the requirements of the WWW. It is used on top of TCP/IP to transfer hypertext documents between servers and clients.
  • the WWW browser may also retrieve application programs from the Web server, such as JAVA® applets, for execution on the client computer.
  • FIGURE 2 an illustrative operating environment for implementing aspects of the present invention will be described.
  • a consumer computer 32 connects to the Internet 20 through a modem or other type of connection. Once connected to the Internet 20, the consumer computer 32 may utilize a WWW browser to view and interact with WWW sites such as an e-commerce WWW site provided by an e-commerce server 40.
  • the consumer computer 32 may comprise a general purpose personal computer capable of executing a WWW browser as will be described in more detail below with respect to FIGURE 3A.
  • consumer computer 32 may also comprise another type of computing device such as a palm-top computer, a cell phone, personal digital assistant, and the like.
  • the active promotion server may provide textual rather than graphical advertising content for display.
  • the merchant computer 36 may also comprise a general purpose computer capable of executing a WWW browser program and is maintained and operated by a merchant 34.
  • the merchant computer 36 is also connected to the Internet 20 and may be utilized to create, customize, maintain, and operate an e-commerce WWW site on an e-commerce server 40 and to create an online promotion via the active promotion server 30.
  • the active promotion server 30 utilizes the online promotion created by the merchant computer 36 to target advertisements to consumers.
  • Active promotion server 30 is also connected to the Internet 20, and provides targeted advertisements for products to the consumer computer 32 based on data provided by the merchant computer 36 when creating an online promotion for the products.
  • product comprises any product, service, or content, (e.g., hypertext documents, data, etc.) that may be available for sale at a merchant's e-commerce WWW site.
  • the active promotion server 30 comprises a general purpose server computer and is described in more detail below for the product with reference to FIGURE 3B.
  • the active promotion server 30 is operatively connected to a promotion database 48, a media database 50, and a product database 51.
  • the active promotion server 30 maintains the promotion database 48 for storing online promotions, i.e., product advertisements including various combinations of graphical, textual, and/or other forms of content which identify the product and the promotion being offered by the merchant. More specifically, the active promotion server may store the following data in the promotion database 48 for an Online promotion: the location of the e-commerce WWW site offering the promotion, the product identifier, the sale price of the product, the start and end dates for the promotion, and the location of the product graphics to be displayed in connection with the promotion. Similarly, the active promotion server 30 may store promotion graphics, like advertising banners, to be used in connection with the online promotion in media database 50. The active promotion server 30 may also access the product database 51 to retrieve particular information regarding the product. Typically, the product database 51 would be maintained by the e-commerce server 40. Those skilled in the art will appreciate that promotion database 48, media database 50, and product database 51 may be stored locally on active promotion server 30, or remotely in a networked computing environment like the Internet.
  • the active promotion server 30 receives requests for advertising content from WWW servers maintained by third-parties, like third party WWW server 54. In response to these requests, the active promotion server 30 determines appropriate advertising content and transmits the advertising content to the requesting server. In this manner, the advertising content provided by the active promotion server 30 may be included in WWW pages served by third party WWW server 54.
  • consumer computer 32 will request a WWW page from the third party WWW server 54.
  • the requested WWW page will utilize a conventional method to reference the advertisement content located on the active promotion server 30, such as using an HTTP "include” command.
  • the active promotion server 30 Upon receipt of the HTTP "include” command, the active promotion server 30 will determine the appropriate advertising content in accordance with the present invention and transmit the advertising content to the consumer computer 32 using conventional methods.
  • the advertising content will then be displayed by the WWW browser executing on the consumer computer 32 as a part of the WWW page received from third party WWW server 54.
  • the advertising content may also be displayed as textual data on other Internet capable devices,
  • E-commerce server 40 is a general purpose server computer which receives requests for e-commerce WWW sites, and responds to these requests.
  • E-commerce WWW servers may include facilities for "shopping carts," on-line credit card processing, automated delivery information, and other e-commerce functionality as is known to those skilled in the art.
  • active promotion server 30, e-commerce server 40, and third party WWW server 54 may be provided by a single computer, or by multiple computers all connected to the Internet.
  • e-commerce WWW site executing on e-commerce server 40 is created and maintained by merchant computer 36.
  • the e-commerce server 40 may communicate with merchant computer 36 through a simple mail transfer protocol ("SMTP") server 46.
  • SMTP simple mail transfer protocol
  • e-mail may be transmitted from e-commerce server 40 to merchant computer 36 to notify merchant computer 36 that an order has been received or that another type of event has occurred.
  • e-commerce server 40 may include a facsimile server 42 for transmitting messages through the public switched telephone network 44 ("PSTN”) to merchant facsimile 38.
  • PSTN public switched telephone network 44
  • Other methods may be used for communication between e-commerce server 40 and merchant computer 36, including the WWW file transfer protocol (“FTP”), telnet, and other methods known to those skilled in the art.
  • FIGURE 3A depicts several of the key components of the consumer computer 32. It will be appreciated by those of ordinary skill in the art that consumer computer 32 includes many more components than those shown in FIGURE 3A. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention. As shown in FIGURE 3A, the consumer computer 32 includes a network interface 96 for connecting to a LAN or WAN, or for connecting remotely to a LAN or WAN.
  • the network interface 96 includes the necessary circuitry for such a connection, and is also constructed for use with the TCP/IP protocol, the particular network configuration of the LAN or WAN it is connecting to, and a particular type of coupling medium.
  • the consumer computer 32 may also be equipped with a modem 94 for connecting to the Internet through a point to point protocol ("PPP") connection or a SLIP connection as known to those skilled in the art.
  • PPP point to point protocol
  • SLIP connection as known to those skilled in the art.
  • the consumer computer 32 also includes a processing unit 88, a display 98, and a memory 90.
  • the memory 90 generally comprises a random access memory (“RAM”), a read-only memory (“ROM”) and a permanent mass storage device, such as a disk drive.
  • the memory 90 stores an operating system for controlling the operation of the consumer computer 32. It will be appreciated that this component may be stored on a computer-readable medium and loaded into memory 90 of the consumer computer 32 using a drive mechanism associated with the computer-readable medium, such as a floppy or CD-ROM drive.
  • the memory 90 also includes a WWW browser 56, such as Netscape's NAVIGATOR® or Microsoft's INTERNET EXPLORER® browsers, for accessing the WWW.
  • the memory 90, network interface 96, display 98, and modem 94 are all connected to the processing unit via bus 100. Other peripherals may also be connected to the processing unit in a similar manner.
  • FIGURE 3B depicts several of the key components of the active promotion server 30.
  • the active promotion server 30 includes many more components then those shown in FIGURE 3B. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention.
  • the active promotion server 30 is connected to the Internet 20 via a network interface 114.
  • the network interface 114 includes the necessary circuitry for connecting the active promotion server 30 to the Internet 20, and is constructed for use with the TCP/IP protocol.
  • the active promotion server 30 also includes a processing unit 102, a display 116, and a mass memory 104, all connected via bus 103.
  • the mass memory 104 generally comprises a RAM, ROM, and a permanent mass storage device, such as a hard disk drive, tape drive, optical drive, floppy disk drive, or combination thereof.
  • the mass memory 104 stores an operating system 112 for controlling the operation of the active promotion server 30. It will be appreciated that this component may comprise a general purpose server operating system as is known to those of ordinary skill in the art, such as UNIX, LINUXTM, or Microsoft WINDOWS NT®.
  • the mass memory 104 also stores the program code and data for targeting advertisements of online promotions to consumers.
  • the mass memory 104 stores an advertisement server module 107 responsible for identifying advertising spots within the WWW pages selected by the browser application on the client computer.
  • the advertisement server module 107 uses conventional methods for identifying advertising spots within the WWW page which are well known to those of ordinary skill in the art.
  • the advertisement server module 107 calls the advertisement locator module 110, described in detail below, to locate the most appropriate advertisement for the advertising spots 310 shown in FIGURE 4.
  • the advertisement server module 107 may reside on a separate computer (e.g., an advertising server) coupled to the active promotion server 30 without departing, from the scope of the present invention.
  • Mass memory 104 of the active promotion server 30 also stores a promotion updater module 108 for building and maintaining tables that correlate data in the online promotions for later access by the advertisement locator module 110.
  • the operation of the promotion updater module 108 is described below with reference to FIGURE 6.
  • Mass memory 104 also stores an advertisement locator module 110 for processing requests from the advertisement server module 107 to fill an advertising spot 310 in a WWW page 300 shown in FIGURE 4.
  • the operation of the advertisement locator module 110 is described below with reference to FIGURES 9- 12.
  • mass memory 104 stores an HTML/Active Server Page ("ASP") I/O handler application 106 for handling requests to the advertisement server module 107.
  • ASP HTML/Active Server Page
  • the HTML/ ASP I/O handler application 106 receives requests for HTML or ASP WWW pages and, in response to those requests, calls the necessary portions of advertising server module 107.
  • the HTML/ASP I/O handler application 106 also transmits output from the advertisement locator module 107 to the third party WWW sites that request an advertisement. This type of network communication is well known to those of ordinary skill in the art.
  • mass memory 104 stores a main module 111, described in detail below with reference to FIGURE 5, responsible for initializing the active promotion server and controlling the processing within the active promotion server 30.
  • FIGURE 4 when an Internet user, through the use of the browser, generates an HTTP message to get information for a requested WWW page 300, the owner of the WWW page transmits one or more messages back to the browser which displays WWW content 302 in the WWW page 300 using the information within the messages.
  • the owner of the WWW page 300 may transmit one or more requests to fill an advertising spot 310 to the advertisement server module 107 which requests the advertisement locator module 110 to locate the most appropriate advertisement in accordance with the present invention.
  • the advertisement locator module 110 locates the most appropriate advertisement and forwards it to the advertisement server module 107.
  • the WWW content 302 illustratively includes a search category field 304 in which "apparel" is specified, a blank keyword field 306, and a blank zip code field 308.
  • some of the content 302 may be sent in the message to the active promotion server 30 and be used by the advertisement locator module 110 for identifying the most appropriate advertisement.
  • the method for sending the content with the WWW page and identifying advertisement spots is well known to those of ordinary skill in the art.
  • FIGURE 5 is a flow diagram illustrating an overview of the logic implemented by the main module 111 within the active promotion server 30 in accordance with the present invention.
  • the logic begins in block 502 and proceeds to block 504 where the active promotion server 30 is initialized.
  • the initialization of the active promotion server 30 will be described in detail below with reference to FIGURE 6.
  • initialization includes accessing online promotion attributes that have been supplied by a merchant.
  • online promotion attributes may include a geographic location, a search keyword, a search category, and any other data particular to a merchant's advertising strategy.
  • a suitable method for creating the online promotion attributes is described in a related, commonly assigned
  • the active promotion server 30 builds tables associated with the online promotion data supplied by the merchant to allow efficient processing of requests for advertisements by third parties.
  • the logic proceeds to a decision block 506 where it determines whether there has been a trigger to add a new promotion to the tables built in block 504.
  • the trigger includes pinging a URL after a merchant has provided the necessary information to complete the creation of the promotion data.
  • the mechanism by which a URL is pinged is well known to those of ordinary skill in the art.
  • the trigger may occur after each promotion is created or may occur after several promotions have been created. If a trigger occurs, the logic proceeds to block 508 where the new promotion is added to the tables created in block 504. The addition of the new promotion to the tables will be described in detail in conjunction with the initialization process shown in FIGURE 6. The logic then loops back to decision block 506 for further processing.
  • the logic proceeds to a decision block 510 where a determination is made as to whether a request to display an advertisement has been received from the advertisement server module 107 which uses a standard call to a method in the advertisement locator module 110.
  • a method in the advertisement locator module 110 One skilled in the art will appreciate that other methods may be used to communicate between the advertisement server module 107 and the advertisement locator module 110, such as using shared memory and setting flags.
  • routine 900 for processing a request to display an advertisement is described below with reference to FIGURE 9.
  • routine 900 accesses the tables built in block 504 and updated in block 508 to efficiently locate the most appropriate advertisement and provides the most appropriate advertisement to the advertisement server module 107. The logic then loops back to decision block 506 and proceeds as described above.
  • the logic proceeds to decision block 514, where a determination is made whether a selection of the displayed advertisement has been made using a WWW browser executing on the consumer computer 32. If such a selection has been made, the logic proceeds to a block 516 where the appropriate field in the promotion database 48 is updated.
  • the field associated with the advertisement which will be described in detail below, is updated to reflect that the displayed advertisement was "clicked on" by an Internet user. In one embodiment, a count value associated with the number of clicks for the advertisement is incremented and written in the corresponding field in the promotion database 48. The logic then loops back to decision block 506 and proceeds as described above.
  • decision block 514 determines whether processing within the active promotion server should exit. If processing should not exit, the logic loops back to decision block 506 and continues processing as described above. If processing is complete, the logic proceeds to an end at block 520.
  • FIGURE 6 is a flow diagram illustrating a routine 600 used by the promotion updater module 108 to initialize the active promotion server 30 with tables of advertising attributes based on the online promotion data supplied by the merchant.
  • Routine 600 begins at a block 603 in which it obtains a first promotion found within the promotion database 48 shown in FIGURE 2.
  • the promotion data for the promotion is accessed from the promotion database 48.
  • the promotion data for each online promotion describes the advertising strategy of a particular merchant and is stored in the promotion database 48 in a plurality of records 700.
  • the records 700 include an included attribute record 702 for identifying criteria of a consumer for whom the merchant desires to target their advertising; an exclusion attribute record 722 for describing criteria that includes consumers for whom the merchant desires to exclude from receiving their advertisement; an auxiliary information record 742 for further identifying the merchant's marketing strategy and for status reporting to the merchant; and one or more advertisement records 772 for describing particular advertisements within the online promotion.
  • Each of the records 702, 722, 742, 772 include a promotion identifier. In the actual embodiment described herein, records 702, 722, 742, and 772 include the promotion identifier "P-l " in field 704.
  • each of the records 702, 722, 742, 772 includes a type field 706, for indicating the type of record.
  • the record 700 is an inclusion record 702 with one or more attribute fields 701.
  • the attribute fields 701 include a keyword include field 708, shown in the present example as containing the keyword "laptop”; a category include field 710, shown here containing the category "computers”; a geography include field 712, shown containing the city of "Redmond”; a channel include field 714, and a co-brand include field 716.
  • the record 700 is an exclusion attribute record 722 with one or more exclude attribute fields 723.
  • the exclude attribute fields 723 include a keyword exclude field 728, a category exclude field 730, a geography exclude field 732, a channel exclude field 734, and a co-brand exclude field 736.
  • the example shown in FIGURE 7 illustrates a merchant that has a strategy to target consumers who are searching for computers and reside in Redmond, but who do not want a personal digital assistant ("PDA").
  • PDA personal digital assistant
  • the record 700 is an auxiliary record 742 with a target style field 748, a promotions to run field 750, a number of promotions run field 752, a number of promotions clicked field 756, a start time field 758, an end time field 760, and a destination field 762.
  • the target style field 748 allows the merchant to specify the advertising strategy for targeting information. For example, the merchant may specify that all the targeting information specified in the inclusion attribute record 702 and not in the exclusion attribute record 722 must be met before displaying any of the advertisements associated with a specific promotion identifier. This target style is referred to as a "MATCH ALL" target style. Another targeting style is to match at least one piece of the targeting information specified in the inclusion attribute record 702 before displaying any of the advertisements associated with the specific promotion. This target style is referred to as a "BEST MATCH" targeting style. A further targeting style may allow any advertisements associated with the promotion to appear regardless of the inclusion attribute record 702 fields or the exclusion attribute record 722 fields. This target style is referred to as a "RUN OF SITE" targeting style.
  • small merchants may more readily advertise on WWW sites that receive numerous hits because the merchant can purchase a quantity of ads and be assured that the merchant's marketing strategy will be met.
  • small local merchants may advertise on popular WWW sites having a wide distribution without advertising to consumers that do not meet their marketing criteria.
  • the record 700 is an advertising record 772 with additional fields, such as an advertisement ID field 778, a width field 780 shown containing "230"; and a height field 782 shown containing "33".
  • the advertisement ID field 778 stores a unique advertising identifier so that the present invention may maintain which advertisements of an online promotion have already been displayed to a particular Internet user.
  • the width field 780 and the height field 782 store a value representing dimensions of the advertisement.
  • One online promotion may have multiple advertising records 772 describing multiple advertisements, such a banner advertisement and a button advertisement.
  • the advertisement record 772 may include further fields such as the number of views field 784, a number of clicks field 786, a weight field 788, and a snippet field 790.
  • the number of views field 784 may be used by the active promotion server to record the number of times that the advertisement identified in the advertisement ID field 778 has been viewed.
  • the number of clicks field 786 may be used by the active promotion server to record the number of times a consumer has selected the advertisement to visit the corresponding WWW site.
  • the weight field 788 may be used by the active promotion server in determining the most appropriate advertisement.
  • the snippet field 790 may contain text that identifies the advertising content to send to the third party.
  • the fields 701, 723, identified for the inclusion attribute record 702, and the exclusion attribute record 722 may contain more than just a single targeting data.
  • the keyword field 708 may contain "laptop", "desktop” and other keywords.
  • each of the records 700 may contain further fields for specifying targeting attributes desirable for a merchant's advertising strategy.
  • FIGURE 8 is an illustrative indirection table diagram showing tables 800 created and updated by the promotion updater module 108.
  • Each field of the inclusion attribute record 702 and the exclusion attribute record 722 has an associated hash table and possibly a promotion list table 820.
  • the keyword inclusion field 708, the category inclusion field 710, the geography inclusion field 712, the channel inclusion field 714, and the co-brand inclusion field 716 of the inclusion attribute record 702 each have a corresponding hash table 800.
  • the hash table 800 includes attribute records 802 having an index 804 and a pointer field 806 for pointing to a promotion list table 820.
  • the index 804 represents a hash value for the data stored in one of the attribute fields 708-716 provided by the merchant.
  • the promotion list table 820 may include other types of data structures, such as trees and other hash tables.
  • the geography include field 712 may contain cities such as “Redmond” (as shown), “Seattle”, “San Diego”, and “Dallas”.
  • the active promotion server 30 processes the provided data to include a city, a state, and a country.
  • the city, state, and country are then hashed to create a hash value that is used as an index into the hash table 800. If for example, "Seattle, WA, USA” hashed to a value of zero, the pointer field 806 associated with index 0 will contain an addressable reference to the promotion list table 820 associated with promotion identifiers that identify online promotions which specify Seattle in the geography field 712.
  • the promotion updater module 108 stores the associated promotion identifier in one of several identifier fields 822.
  • the last identifier field 822 stores an identifier representing the end of the list. Therefore, in the example using Seattle, the promotion list table 820 indicates that Seattle is included in the geography field 712 of promotion identifier 1 and 3.
  • the building of the hash table and the attribute table is completed for both the inclusion attribute record 702 and the exclusion attribute record 722 for all the promotions.
  • the logic proceeds to a decision block 609 where a determination is made whether all the online promotions have been retrieved. If not, processing loops back to block 603 and proceeds as described above. Once all the tables have been completed, the logic proceeds to a block 610 and returns to block 506 of FIGURE 5.
  • the promotion updater module 108 gets the promotion data as described above in reference to block 604 in FIGURE 6 and calculates a new hash value for data that is not currently in any of the previously built hash tables, and creates a corresponding new promotion list table 820.
  • FIGURE 9 is a flow diagram illustrating an overview of the logic used by the advertisement locator module 110 shown in FIGURE 3B for use in block 512 of FIGURE 5 to process a request to display an advertisement.
  • the advertisement server module 107 calls a method in the advertisement locator module 110 to initiate the processing illustrated in FIGURES 9-12.
  • An illustrative routine 900 begins at a block 904 where content information is received. As described earlier, content information is sent by the browser on the consumer computer 32 or third party WWW site by methods well known to those of ordinary skill in the art.
  • the content may include a search category, a keyword, and a geographic location.
  • the logic then proceeds to a decision block 906, where a determination is made whether the request is stateless.
  • a stateless request refers to requests received from third-party WWW sites which are unable to receive information dynamically from the active promotion server and build the information into a WWW page before sending the WWW page to a client. For these types of requests, the logic proceeds to block 908 where state information, along with a key, is retrieved from the third-party WWW site.
  • state information along with a key
  • the browser on the consumer computer requests the advertisement from the active promotion server by sending the same key that was sent with the state information.
  • the WWW site has the links and images directed to the active promotion server.
  • the active promotion server When the active promotion server receives the key, the active promotion server will display the most approprate advertisement located for the WWW site associated with the key that was stored to identify the WWW site.
  • the logic then proceeds to block 910, described in more detail below with reference to FIGURE 10, to locate a most appropriate advertisement based on the content information provided by the consumer computer 32.
  • the logic then proceeds to block 912.
  • Routine 900 then proceeds from block 912 to block 914 where the promotion database 48 is updated, such as updating the number of views field 782 in the advertisement record 772 associated with the displayed advertisement.
  • the number of promotions ran field 752 of the auxiliary record 742 may be updated to reflect that an advertisement in the promotion was run.
  • the logic proceeds to return block 916, and, subsequently, back to block 506 in FIGURE 5.
  • FIGURE 10 is a flow diagram illustrating the logic used by the advertisement locator module to locate a most appropriate advertisement based upon the content information supplied by consumer computer 32.
  • An illustrative routine 1000 begins at a decision block 1004, where a determination is made as to whether any advertisements have been served to the consumer computer 32. If no advertisements have been served, the logic proceeds to a block 1006 where the advertisement locator module 10 builds a search context of eligible ads for the requesting consumer.
  • the search context of eligible ads is a data structure for storing the correlation of the content information with the promotion data. In one embodiment, a grid structure, such as a promotion grid 1300 shown in FIGURE 13, is built.
  • An illustrative routine 1100 for building the search context is described below in reference to FIGURE 11. After the search context is built, the logic then proceeds to a block 1008.
  • a promotion context is acquired.
  • the promotion context identifies the advertisements that have already, been displayed so that the same advertisement is not displayed again.
  • the promotion context is similar to the search context with additional storage for storing the promotion identifiers and advertisement IDs of advertisements already displayed to a particular Internet user.
  • the promotion context is typically stored in memory. Whenever a new search context is built at block 1006, the promotion context is cleared so that the promotion context will accurately reflect the advertisements that have been displayed.
  • the logic proceeds to a block.1010, described in more detail below with reference to FIGURE 12, to select the most appropriate advertisement from the eligible ads using the search context. Once the most appropriate advertisement is selected, the logic proceeds to a block 1012 where the promotion context is updated to indicate that the most appropriate advertisement has been displayed to this consumer. The logic then proceeds to a return block 1018 and back to block 912, shown in FIGURE 9.
  • FIGURE 11 is a flow diagram illustrating the logic used by the advertisement locator module 10 to build a search context for storing the correlation of the content information with the online promotion data.
  • Routine 1100 begins at a block 1104, where a first or next data from the content information is retrieved. The data is sent from either the WWW browser on the consumer computer 32, or from the third-party WWW site through a URL using the HTTP protocol. Routine 1100 proceeds from block 1104 to block 1106, where the attribute hash tables and attribute lists associated with the data are obtained.
  • the attribute hash table corresponding to the geography field 712 of the inclusion attribute record 702 shown in FIGURE 7, and the associated attribute list, such as attribute list 820 are used for further processing.
  • the logic then proceeds to a decision block 1108, where a decision is made as to whether the data is included in the associated attribute hash table as described above. If the data is not included in the hash table, the logic proceeds to a decision block 1114 where a determination is made whether there is any remaining data in the context information. If there is, the logic loops back to block 1104 to continue processing as described above.
  • the logic proceeds to a decision block 1110 where a determination is made as to whether the data has a hash value in the excluded attribute hash table. If so, the logic proceeds to the decision block 1114 and continues processing as described above. However, if the data is not in the excluded attribute hash table, then the logic proceeds to a block 1112, where a counter is incremented for each promotion listed in the attribute list 820 associated with the include attribute hash table. As mentioned earlier, in one embodiment, a promotion grid 1300, conceptually shown in FIGURE 13, is used to maintain the value of the counters for each promotion. After block 112, the logic proceeds to decision block 1114 and proceeds as described above. From decision block 1114, when there are no remaining data in the content information, the logic proceeds to a return block 1118, and back to block 1008 shown in FIGURE 10.
  • FIGURE 13 illustrates a promotion grid 1300 which includes an entry 1302 for each promotion identifier 1304.
  • the entry 1302 contains the number of promotions that had targeting attributes the same as the data in the content information.
  • promotion "1" had two targeting attributes the same as two data items in the context information. Therefore, the counter value stored in the promotion grid 1300 represents how many of the targetting attributes of the corresponding online promotion are met given the content information from the Internet user.
  • FIGURE 12 describes an illustrative routine 1200 for selecting the most appropriate advertisement. Turning now to FIGURE 12, routine 1200 begins at a block 1204, where the counts in the promotion grid 1300 shown in FIGURE 13 are compared to each other.
  • Promotions in the promotion grid with a count less than two indicate that the associated online promotion failed to match at least two of the data items in the context information.
  • online promotions in the promotion grid 1300 with a value less than two may be ignored because at least the width field 780 and the height field 782 must match the content data provided to the advertisement locator module 111 when filling an advertising spot. Otherwise, the advertisement will not fit properly in the WWW page.
  • the logic then proceeds to a decision block 1206 where a determination is made as to whether any of the promotions meet all the target attributes specified by the merchant. If so, the logic proceeds to a block 1208 where a target style list of promotions is built and then to a block 1209 where an advertisement from the target style list is randomly selected from one of the promotions that meet all the target attributes.
  • the randomly selected advertisement is compared with the promotion context to determine whether the selected advertisement has been displayed previously. If so, the processing within blocks 1208 and 1209 are performed again until a unique advertisement is selected. If at decision block 1206 there are no promotions that meet all the target attributes, then the logic proceeds to a decision block 1210. At block 1210, a determination is made as to whether there are any promotions that meet some of the target attributes. If there are, the logic proceeds to a block 1212 where a target style list of promotions is built and then the logic proceeds to a block 1213 where an advertisement from the target style list is selected from one of the promotions that meet some of the target attributes. The selected advertisement is then compared with the promotion context to determine whether the advertisement has been displayed to the current consumer.
  • the processing within blocks .1212 and 1213 is performed again until a unique advertisement is selected. If there are no promotions that meet some of the target attributes, the logic proceeds to a block 1214 where a target style list of promotion is built. The logic then proceeds to a block 1215 when an advertisement from all the promotions that do not meet any of the target attributes is selected. Again, the selected advertisement is compared with the promotion context to determine whether the advertisement has been displayed to the user. After processing in blocks 1208, 1212, or 1214, the logic proceeds to return block 1216 and returns to a block 1012 in FIGURE 10. . As described above, the present invention provides a system and method for merchants to target advertisements based on their marketing strategy. .
  • the advertisement promotion server is integrated with the promotion database which is updated with information from the merchants.
  • the promotion database may include any number of attributes useful for the merchant's strategy, such as an attribute associated with the weather.
  • a merchant may desire to advertise a specific product only if the temperature of the geographic location is above 100 degrees.
  • the present invention allows the merchant to use an online promotion that targets only those geographic locations.
  • the active promotion server may access information stored in the product database of the merchant and target advertising once the number of items reaches a specified quantity.
  • the selection of the most appropriate advertisement based on the promotion data and the content information provides further targetting of advertisements on the Internet. Furthermore, the present invention provides a system and method for selecting the most appropriate advertisement from a large number of concurrent online promotions that are running and from online promotions which may need to be advertised in a relatively short time period.
  • the advertisement locator module 110 may be used to select the most appropriate advertisement to be displayed on a text based display, such as a personal digital assistant (PDA) or cellular phone, rather than on a WWW page.
  • a text based display such as a personal digital assistant (PDA) or cellular phone
  • one of the fields in one of the records 700 may contain an indicator that the consumer computer has a text-based display.
  • the advertising record 772 may contain a value of "-1" in the width field 780 to indicate, that a textual advertisement should be used.
  • the textual advertisement may contain text, such as "Please visit this url: xxxxx", where "xxxxx" refers to a WWW site address.
  • the textual advertisment may also contain text, such as "reply now", which when "clicked on” would ping the appropriate address.
  • This alternate embodiment may be used in mass email mailings and in automatic responses to inquiries.
  • a wireless application protocol and a wireless markup language may be used to provide a mechanism to allow a "click" on the promotion through the use of a hyperlink.

Landscapes

  • Business, Economics & Management (AREA)
  • Strategic Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Development Economics (AREA)
  • Finance (AREA)
  • Economics (AREA)
  • Game Theory and Decision Science (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Marketing (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

A method and a system for targeting advertisements over a network based on a merchant's advertising strategy are provided. An active promotion server formed in accordance with the present invention receives requests over a network for advertising content from a third party. Third party content information is identified from within the request and is compared with data of an online promotion. This comparison allows the active promotion server to locate an appropriate advertisement that is then sent back to the third party in response to the request. The data of the online promotion may be periodically updated by the merchants and may include a cost for the product, a number indicating how many times the advertisement should be displayed, a geographical location in which to run the advertisement, and other attributes desirable to the merchant's advertising strategy.

Description

SYSTEM AND METHOD FOR TARGETING ADVERTISEMENTS FOR ONLINE PROMOTIONS TO INTERNET USERS
Field of the Invention This invention relates generally to advertising over a network, and, more specifically, to a system and method for targeting advertisements for online promotions to users of the Internet.
Background of the Invention
Consumers today have more shopping choices than they have ever had before. The large number of choices available to today's consumers is due in part to wide access to the Internet, and the large number of electronic commerce
("e-commerce") sites available on the World Wide Web (the "WWW" or "web").
E-commerce sites exist today offering virtually any product imaginable, and offer a degree of convenience to consumers that was previously unavailable. Due to the proliferation of e-commerce sites, and the convenience of online shopping, merchants have become increasingly interested in advertising their products to
Internet users.
Typically, merchants partner with other WWW site owners, such as Internet service providers (ISPs), news providers, search engine providers, other merchants, etc., under an arrangement whereby the partner displays advertising content provided by the merchant to users visiting the partner's WWW site. Ideally, the partner's WWW site attracts a large number of users, and the advertising content receives wide distribution. In exchange for this distribution, the merchant typically pays the partner for displaying their advertising content on the partner's WWW site. The partners provide an advertisement space or "spot" such that an entity providing an advertising server may identify and target the spot for inserting advertising content, such as a graphical banner or button advertisement. The advertising server may select the advertising content based on context information provided through a browser implemented by the user. This context information may include an identity for the user, one or more parameters from a search query input by the user, and results from the search query. For example, if the user performs a search query directed to snow skis, the advertising server may trigger a banner advertisement for a snow ski manufactured by a merchant who has an arrangement with the search engine WWW site owner. The advertising content inserted into the advertisement spot invites the user to "visit" another site, typically the merchant's e-commerce site, to receive additional information on products available by the advertising merchant.
While providing this type of advertising content for merchants is beneficial, the general nature of the advertising content may not provide sufficient information to entice the user to click through to the merchant's e-commerce site. The merchant must create specific advertising content that will entice specific users to specific products. This solution is very time-consuming and costly. Also, many smaller merchants may not have the resources to create such advertising content and may not have the advertising budget to partner with other WWW site owners that attract a large number of users. Therefore, these smaller merchants must forego targeted advertising to potential purchasers of their specific products. In addition, some merchants may desire to target different geographical areas with various products and prices. Furthermore, the merchants may desire to quickly alter their advertising strategy depending on the availability of products.
Therefore, in light of the above problems, there is a need for a system and method for targeting advertisements to users of the Internet based on a merchant's advertising strategy. There is an additional need for a system and method that allows a partner to conveniently offer a variety of advertising arrangements to merchants so that merchants may more easily and economically target their advertisements to potential Internet users. There is an additional need for a system and method for selecting a most appropriate advertisement from one of several advertisements and displaying the most appropriate advertisement to a particular Internet user.
Summary of the Invention In accordance with this invention, a method and a system for targeting advertisements over a network based on a merchant's advertising strategy are provided. An active promotion server formed in accordance with the present invention receives requests over a network for advertising content from a third party. Third party information is identified from within the request and is compared with attributes of an online promotion. This comparison allows the active promotion server to locate an appropriate advertisement that is then sent back to the third party in response to the request. The attributes may be periodically updated by the merchants and may include a cost for the product, a number indicating how many times the advertisement should be displayed, a geographical location in which to run the advertisement, and other attributes desirable to the merchant's advertising strategy.
Thus, the present invention allows large and small merchants to target their advertisements to users. Brief Description of the Drawings
The foregoing aspects and many of the attendant advantages of this invention will become more readily appreciated as the same become better understood by reference to the following detailed description, when taken in conjunction with the accompanying drawings, wherein: FIGURE 1 is a block diagram of a representative portion of the Internet;
FIGURE 2 is a block diagram showing an illustrative operating environment for implementing aspects of the present invention;
FIGURE 3A is a block diagram depicting an illustrative architecture for a consumer computer used to browse the WWW; FIGURE 3B is a block diagram depicting an illustrative architecture for an active promotion WWW server used to target advertisements to the user of the consumer's computer in accordance with the present invention;
FIGURE 4 is a window produced by a WWW browser installed on the consumer's computer browsing a WWW site incorporating advertising content targeted to the consumer in accordance with aspects of the present invention;
FIGURE 5 is a flow diagram illustrating an overview of the logic used by the active promotion Web server in accordance with the present invention;
FIGURE 6 is a flow diagram illustrating the logic used by a promotion updater module to initialize the active promotion Web server with tables correlating online promotion data with advertising attributes; FIGURE 7 is an illustrative data structure diagram showing a layout for the online promotion data stored in the promotion database of FIGURE 2;
FIGURE 8 is an illustrative indirection table diagram showing the tables created and updated by the promotion updater module; FIGURE 9 is a flow diagram illustrating an overview of the logic used by an advertisement locator module to process a request to display an advertisement;
FIGURE 10 is a flow diagram illustrating the logic used by the advertisement locator module to locate the most appropriate advertisement suitable for use in FIGURE 9; FIGURE 11 is a flow diagram illustrating the logic used by the advertisement locator module to build a search context suitable for use in FIGURE 10;
FIGURE 12 is a flow diagram illustrating the logic used by the advertisement locator module to select the most appropriate advertisement suitable for use in FIGURE 10; and FIGURE 13 is an illustrative diagram conceptually illuminating the promotion grid created by the process in FIGURE 12.
Detailed Description of the Preferred Embodiment As will be described in detail below, the present invention provides a system and method for merchants to target advertisements based on their marketing strategy to particular consumers. FIGURE 1, FIGURE 2 and the following discussion are intended to provide a brief, general description of a suitable computing environment in which the present invention may be implemented. As briefly mentioned above, aspects of the present invention are embodied in an active promotion server 30 accessible via the Internet 20. As is well known to those skilled in the art, the term "Internet" refers to the collection of networks and routers that use the Transmission Control Protocol/Internet Protocol ("TCP/IP") to communicate with one another. A representative section of the Internet 20 is shown in FIGURE 1, in which a plurality of local area networks ("LANs") 24 and a wide area network ("WAN") 26 are interconnected by routers 22. The routers 22 are special purpose computers used to interface one LAN or WAN to another. Communication links within the LANs may be twisted wire pair, or coaxial cable, while communication links between networks may utilize 56 Kbps analog telephone lines, 1 Mbps digital T-l lines, 45 Mbps T-3 lines or other communications links known to those skilled in the art. Furthermore, computers and other related electronic devices can be remotely connected to either the LANs 24 or the WAN 26 via a modem and temporary telephone link. It will be appreciated that the Internet 20 comprises a vast number of such interconnected networks, computers, and routers and that only a small, representative section of the Internet 20 is shown in FIGURE 1.
The Internet has recently seen explosive growth by virtue of its ability to link computers located throughout the world. As the Internet has grown, so has the WWW. As is appreciated by those skilled in the art, the WWW is a vast collection of interconnected or "hypertext" documents written in HyperText Markup Language ("HTML"), or other markup languages, that are electronically stored at "Web sites" or "WWW sites" throughout the Internet. A WWW site is a server connected to the Internet that has mass storage facilities for storing hypertext documents and that runs administrative software for handling requests for those stored hypertext documents. A hypertext document normally includes a number of hyperlinks, i.e., highlighted portions of text which link the document to another hypertext document possibly stored at a WWW site elsewhere on the Internet. Each hyperlink is associated with a Uniform Resource Locator ("URL") that provides the exact location of the linked document on a server connected to the Internet and describes the document. Thus, whenever a hypertext document is retrieved from any WWW. server, the document is considered to be retrieved from the WWW. As is known to those skilled in the art, a WWW server may also include facilities for storing and transmitting application programs, such as application programs written in the JAVA® programming language from Sun Microsystems, for execution on a remote computer. Likewise, a WWW server may also include facilities for executing scripts and other application programs on the WWW server itself.
A consumer or other remote user may retrieve hypertext documents from the WWW via a WWW browser application program. A WWW browser, such as Netscape's NAVIGATOR® or Microsoft's INTERNET EXPLORER®, is a software application program for providing a graphical user interface to the WWW. Upon request from the consumer via the WWW browser, the WWW browser accesses and retrieves the desired hypertext document from the appropriate WWW server using the URL for the document and a protocol known as HyperText Transfer Protocol ("HTTP"). HTTP is a higher-level protocol than TCP/IP and is designed specifically for the requirements of the WWW. It is used on top of TCP/IP to transfer hypertext documents between servers and clients. The WWW browser may also retrieve application programs from the Web server, such as JAVA® applets, for execution on the client computer. Referring now to FIGURE 2, an illustrative operating environment for implementing aspects of the present invention will be described. Although the active promotion server 30 of the present invention may be implemented in various computing environments which are designed for specific uses, the following discussion will focus on the use of the active promotion server 30 in an e-commerce computing environment. A consumer computer 32 connects to the Internet 20 through a modem or other type of connection. Once connected to the Internet 20, the consumer computer 32 may utilize a WWW browser to view and interact with WWW sites such as an e-commerce WWW site provided by an e-commerce server 40. As is known to those skilled in the art, the consumer computer 32 may comprise a general purpose personal computer capable of executing a WWW browser as will be described in more detail below with respect to FIGURE 3A. However, consumer computer 32 may also comprise another type of computing device such as a palm-top computer, a cell phone, personal digital assistant, and the like. As will be described in detail below, when the consumer computer 32 is a cell phone, or other computer device with a smaller display, the active promotion server may provide textual rather than graphical advertising content for display.
Similarly, the merchant computer 36 may also comprise a general purpose computer capable of executing a WWW browser program and is maintained and operated by a merchant 34. The merchant computer 36 is also connected to the Internet 20 and may be utilized to create, customize, maintain, and operate an e-commerce WWW site on an e-commerce server 40 and to create an online promotion via the active promotion server 30. As will be described in more detail below, the active promotion server 30 utilizes the online promotion created by the merchant computer 36 to target advertisements to consumers.
Active promotion server 30 is also connected to the Internet 20, and provides targeted advertisements for products to the consumer computer 32 based on data provided by the merchant computer 36 when creating an online promotion for the products. As used herein, the term "product" comprises any product, service, or content, (e.g., hypertext documents, data, etc.) that may be available for sale at a merchant's e-commerce WWW site. The active promotion server 30 comprises a general purpose server computer and is described in more detail below for the product with reference to FIGURE 3B. The active promotion server 30 is operatively connected to a promotion database 48, a media database 50, and a product database 51. The active promotion server 30 maintains the promotion database 48 for storing online promotions, i.e., product advertisements including various combinations of graphical, textual, and/or other forms of content which identify the product and the promotion being offered by the merchant. More specifically, the active promotion server may store the following data in the promotion database 48 for an Online promotion: the location of the e-commerce WWW site offering the promotion, the product identifier, the sale price of the product, the start and end dates for the promotion, and the location of the product graphics to be displayed in connection with the promotion. Similarly, the active promotion server 30 may store promotion graphics, like advertising banners, to be used in connection with the online promotion in media database 50. The active promotion server 30 may also access the product database 51 to retrieve particular information regarding the product. Typically, the product database 51 would be maintained by the e-commerce server 40. Those skilled in the art will appreciate that promotion database 48, media database 50, and product database 51 may be stored locally on active promotion server 30, or remotely in a networked computing environment like the Internet.
The active promotion server 30 receives requests for advertising content from WWW servers maintained by third-parties, like third party WWW server 54. In response to these requests, the active promotion server 30 determines appropriate advertising content and transmits the advertising content to the requesting server. In this manner, the advertising content provided by the active promotion server 30 may be included in WWW pages served by third party WWW server 54. Typically, consumer computer 32 will request a WWW page from the third party WWW server 54. The requested WWW page will utilize a conventional method to reference the advertisement content located on the active promotion server 30, such as using an HTTP "include" command. Upon receipt of the HTTP "include" command, the active promotion server 30 will determine the appropriate advertising content in accordance with the present invention and transmit the advertising content to the consumer computer 32 using conventional methods. The advertising content will then be displayed by the WWW browser executing on the consumer computer 32 as a part of the WWW page received from third party WWW server 54. The advertising content may also be displayed as textual data on other Internet capable devices, such as cellular phones.
If the WWW browser executing on consumer computer 32 is used to select the displayed advertising content, the WWW browser may be redirected to a URL associated with the advertising content. Typically, the URL will redirect the WWW browser to an e-commerce WWW site executing on e-commerce server 40. E-commerce server 40 is a general purpose server computer which receives requests for e-commerce WWW sites, and responds to these requests. E-commerce WWW servers may include facilities for "shopping carts," on-line credit card processing, automated delivery information, and other e-commerce functionality as is known to those skilled in the art.
Moreover, those skilled in the art will appreciate that the functionality provided by active promotion server 30, e-commerce server 40, and third party WWW server 54 may be provided by a single computer, or by multiple computers all connected to the Internet.
As described above, the e-commerce WWW site executing on e-commerce server 40 is created and maintained by merchant computer 36. The e-commerce server 40 may communicate with merchant computer 36 through a simple mail transfer protocol ("SMTP") server 46. In this manner, e-mail may be transmitted from e-commerce server 40 to merchant computer 36 to notify merchant computer 36 that an order has been received or that another type of event has occurred. Likewise, e-commerce server 40 may include a facsimile server 42 for transmitting messages through the public switched telephone network 44 ("PSTN") to merchant facsimile 38. Other methods may be used for communication between e-commerce server 40 and merchant computer 36, including the WWW file transfer protocol ("FTP"), telnet, and other methods known to those skilled in the art.
Now that the computing environment in which the present invention may be implemented has been described, the consumer computer 32 will be described in more detail. FIGURE 3A depicts several of the key components of the consumer computer 32. It will be appreciated by those of ordinary skill in the art that consumer computer 32 includes many more components than those shown in FIGURE 3A. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention. As shown in FIGURE 3A, the consumer computer 32 includes a network interface 96 for connecting to a LAN or WAN, or for connecting remotely to a LAN or WAN. Those of ordinary skill in the art will appreciate that the network interface 96 includes the necessary circuitry for such a connection, and is also constructed for use with the TCP/IP protocol, the particular network configuration of the LAN or WAN it is connecting to, and a particular type of coupling medium. The consumer computer 32 may also be equipped with a modem 94 for connecting to the Internet through a point to point protocol ("PPP") connection or a SLIP connection as known to those skilled in the art.
The consumer computer 32 also includes a processing unit 88, a display 98, and a memory 90. The memory 90 generally comprises a random access memory ("RAM"), a read-only memory ("ROM") and a permanent mass storage device, such as a disk drive. The memory 90 stores an operating system for controlling the operation of the consumer computer 32. It will be appreciated that this component may be stored on a computer-readable medium and loaded into memory 90 of the consumer computer 32 using a drive mechanism associated with the computer-readable medium, such as a floppy or CD-ROM drive. The memory 90 also includes a WWW browser 56, such as Netscape's NAVIGATOR® or Microsoft's INTERNET EXPLORER® browsers, for accessing the WWW. The memory 90, network interface 96, display 98, and modem 94 are all connected to the processing unit via bus 100. Other peripherals may also be connected to the processing unit in a similar manner.
FIGURE 3B depicts several of the key components of the active promotion server 30. Those of ordinary skill in the art will appreciate that the active promotion server 30 includes many more components then those shown in FIGURE 3B. However, it is not necessary that all of these generally conventional components be shown in order to disclose an illustrative embodiment for practicing the present invention. As shown in FIGURE 3B, the active promotion server 30 is connected to the Internet 20 via a network interface 114. Those of ordinary skill in the art will appreciate that the network interface 114 includes the necessary circuitry for connecting the active promotion server 30 to the Internet 20, and is constructed for use with the TCP/IP protocol.
The active promotion server 30 also includes a processing unit 102, a display 116, and a mass memory 104, all connected via bus 103. The mass memory 104 generally comprises a RAM, ROM, and a permanent mass storage device, such as a hard disk drive, tape drive, optical drive, floppy disk drive, or combination thereof. The mass memory 104 stores an operating system 112 for controlling the operation of the active promotion server 30. It will be appreciated that this component may comprise a general purpose server operating system as is known to those of ordinary skill in the art, such as UNIX, LINUX™, or Microsoft WINDOWS NT®. The mass memory 104 also stores the program code and data for targeting advertisements of online promotions to consumers. More specifically, the mass memory 104 stores an advertisement server module 107 responsible for identifying advertising spots within the WWW pages selected by the browser application on the client computer. The advertisement server module 107 uses conventional methods for identifying advertising spots within the WWW page which are well known to those of ordinary skill in the art. Upon identifying an advertising spot, the advertisement server module 107 calls the advertisement locator module 110, described in detail below, to locate the most appropriate advertisement for the advertising spots 310 shown in FIGURE 4. One skilled in the art will also appreciate that the advertisement server module 107 may reside on a separate computer (e.g., an advertising server) coupled to the active promotion server 30 without departing, from the scope of the present invention.
Mass memory 104 of the active promotion server 30 also stores a promotion updater module 108 for building and maintaining tables that correlate data in the online promotions for later access by the advertisement locator module 110. The operation of the promotion updater module 108 is described below with reference to FIGURE 6. Mass memory 104 also stores an advertisement locator module 110 for processing requests from the advertisement server module 107 to fill an advertising spot 310 in a WWW page 300 shown in FIGURE 4. The operation of the advertisement locator module 110 is described below with reference to FIGURES 9- 12. In addition, mass memory 104 stores an HTML/Active Server Page ("ASP") I/O handler application 106 for handling requests to the advertisement server module 107. The HTML/ ASP I/O handler application 106 receives requests for HTML or ASP WWW pages and, in response to those requests, calls the necessary portions of advertising server module 107. The HTML/ASP I/O handler application 106 also transmits output from the advertisement locator module 107 to the third party WWW sites that request an advertisement. This type of network communication is well known to those of ordinary skill in the art. Finally, mass memory 104 stores a main module 111, described in detail below with reference to FIGURE 5, responsible for initializing the active promotion server and controlling the processing within the active promotion server 30.
The targeting of advertisements to consumers based on a merchant's marketing strategy is described in more detail below with respect to FIGURES 4-13. Referring to FIGURE 4, when an Internet user, through the use of the browser, generates an HTTP message to get information for a requested WWW page 300, the owner of the WWW page transmits one or more messages back to the browser which displays WWW content 302 in the WWW page 300 using the information within the messages. In addition, the owner of the WWW page 300 may transmit one or more requests to fill an advertising spot 310 to the advertisement server module 107 which requests the advertisement locator module 110 to locate the most appropriate advertisement in accordance with the present invention. The advertisement locator module 110 locates the most appropriate advertisement and forwards it to the advertisement server module 107. In the illustrated WWW page 300, there are three advertisement spots 310. However, it will be appreciated that any number of advertising spots 310 may be specified. The WWW content 302 illustratively includes a search category field 304 in which "apparel" is specified, a blank keyword field 306, and a blank zip code field 308. In accordance with the present invention, some of the content 302 may be sent in the message to the active promotion server 30 and be used by the advertisement locator module 110 for identifying the most appropriate advertisement. The method for sending the content with the WWW page and identifying advertisement spots is well known to those of ordinary skill in the art.
FIGURE 5 is a flow diagram illustrating an overview of the logic implemented by the main module 111 within the active promotion server 30 in accordance with the present invention. The logic begins in block 502 and proceeds to block 504 where the active promotion server 30 is initialized. The initialization of the active promotion server 30 will be described in detail below with reference to FIGURE 6. In general, initialization includes accessing online promotion attributes that have been supplied by a merchant. For instance, online promotion attributes may include a geographic location, a search keyword, a search category, and any other data particular to a merchant's advertising strategy. A suitable method for creating the online promotion attributes is described in a related, commonly assigned
U.S. Patent Application Serial No. , filed January 4, 2000, entitled
"Method and Apparatus for Creating an Online Promotion", the disclosure and drawings of which are specifically incorporated herein by reference. As will be described in more detail below, the active promotion server 30 builds tables associated with the online promotion data supplied by the merchant to allow efficient processing of requests for advertisements by third parties.
After the active promotion server 30 is initialized in block 504, the logic proceeds to a decision block 506 where it determines whether there has been a trigger to add a new promotion to the tables built in block 504. The trigger includes pinging a URL after a merchant has provided the necessary information to complete the creation of the promotion data. The mechanism by which a URL is pinged is well known to those of ordinary skill in the art. The trigger may occur after each promotion is created or may occur after several promotions have been created. If a trigger occurs, the logic proceeds to block 508 where the new promotion is added to the tables created in block 504. The addition of the new promotion to the tables will be described in detail in conjunction with the initialization process shown in FIGURE 6. The logic then loops back to decision block 506 for further processing.
If a trigger is not received, at block 506, the logic proceeds to a decision block 510 where a determination is made as to whether a request to display an advertisement has been received from the advertisement server module 107 which uses a standard call to a method in the advertisement locator module 110. One skilled in the art will appreciate that other methods may be used to communicate between the advertisement server module 107 and the advertisement locator module 110, such as using shared memory and setting flags.
If a request to display an advertisement is received at block 510, the logic proceeds to block 512 where the request to display an advertisement is processed. An illustrative routine 900 for processing a request to display an advertisement is described below with reference to FIGURE 9. In general, routine 900 accesses the tables built in block 504 and updated in block 508 to efficiently locate the most appropriate advertisement and provides the most appropriate advertisement to the advertisement server module 107. The logic then loops back to decision block 506 and proceeds as described above.
If a request to display an advertisement is not received at block 510, the logic proceeds to decision block 514, where a determination is made whether a selection of the displayed advertisement has been made using a WWW browser executing on the consumer computer 32. If such a selection has been made, the logic proceeds to a block 516 where the appropriate field in the promotion database 48 is updated. The field associated with the advertisement, which will be described in detail below, is updated to reflect that the displayed advertisement was "clicked on" by an Internet user. In one embodiment, a count value associated with the number of clicks for the advertisement is incremented and written in the corresponding field in the promotion database 48. The logic then loops back to decision block 506 and proceeds as described above. If the displayed advertisement is not selected, the logic proceeds from decision block 514 to decision block 518. At block 518, a determination is made as to whether processing within the active promotion server should exit. If processing should not exit, the logic loops back to decision block 506 and continues processing as described above. If processing is complete, the logic proceeds to an end at block 520.
FIGURE 6 is a flow diagram illustrating a routine 600 used by the promotion updater module 108 to initialize the active promotion server 30 with tables of advertising attributes based on the online promotion data supplied by the merchant. Routine 600 begins at a block 603 in which it obtains a first promotion found within the promotion database 48 shown in FIGURE 2. Next, at a block 604, the promotion data for the promotion is accessed from the promotion database 48. As shown in FIGURE 7, the promotion data for each online promotion describes the advertising strategy of a particular merchant and is stored in the promotion database 48 in a plurality of records 700. The records 700 include an included attribute record 702 for identifying criteria of a consumer for whom the merchant desires to target their advertising; an exclusion attribute record 722 for describing criteria that includes consumers for whom the merchant desires to exclude from receiving their advertisement; an auxiliary information record 742 for further identifying the merchant's marketing strategy and for status reporting to the merchant; and one or more advertisement records 772 for describing particular advertisements within the online promotion. Each of the records 702, 722, 742, 772 include a promotion identifier. In the actual embodiment described herein, records 702, 722, 742, and 772 include the promotion identifier "P-l " in field 704. In addition, each of the records 702, 722, 742, 772 includes a type field 706, for indicating the type of record. When the type field contains a "0", the record 700 is an inclusion record 702 with one or more attribute fields 701. In one embodiment the attribute fields 701 include a keyword include field 708, shown in the present example as containing the keyword "laptop"; a category include field 710, shown here containing the category "computers"; a geography include field 712, shown containing the city of "Redmond"; a channel include field 714, and a co-brand include field 716. When the type field 706 contains a "1", the record 700 is an exclusion attribute record 722 with one or more exclude attribute fields 723. In one embodiment the exclude attribute fields 723 include a keyword exclude field 728, a category exclude field 730, a geography exclude field 732, a channel exclude field 734, and a co-brand exclude field 736. The example shown in FIGURE 7 illustrates a merchant that has a strategy to target consumers who are searching for computers and reside in Redmond, but who do not want a personal digital assistant ("PDA"). When the type field 706 contains a "2", the record 700 is an auxiliary record 742 with a target style field 748, a promotions to run field 750, a number of promotions run field 752, a number of promotions clicked field 756, a start time field 758, an end time field 760, and a destination field 762. The target style field 748 allows the merchant to specify the advertising strategy for targeting information. For example, the merchant may specify that all the targeting information specified in the inclusion attribute record 702 and not in the exclusion attribute record 722 must be met before displaying any of the advertisements associated with a specific promotion identifier. This target style is referred to as a "MATCH ALL" target style. Another targeting style is to match at least one piece of the targeting information specified in the inclusion attribute record 702 before displaying any of the advertisements associated with the specific promotion. This target style is referred to as a "BEST MATCH" targeting style. A further targeting style may allow any advertisements associated with the promotion to appear regardless of the inclusion attribute record 702 fields or the exclusion attribute record 722 fields. This target style is referred to as a "RUN OF SITE" targeting style. By allowing the merchant multiple target styles, smaller merchants may more readily advertise on WWW sites that receive numerous hits because the merchant can purchase a quantity of ads and be assured that the merchant's marketing strategy will be met. Thus, small local merchants may advertise on popular WWW sites having a wide distribution without advertising to consumers that do not meet their marketing criteria.
When the type field 706 contains a "3," the record 700 is an advertising record 772 with additional fields, such as an advertisement ID field 778, a width field 780 shown containing "230"; and a height field 782 shown containing "33". The advertisement ID field 778 stores a unique advertising identifier so that the present invention may maintain which advertisements of an online promotion have already been displayed to a particular Internet user. The width field 780 and the height field 782 store a value representing dimensions of the advertisement. One online promotion may have multiple advertising records 772 describing multiple advertisements, such a banner advertisement and a button advertisement. In addition, the advertisement record 772 may include further fields such as the number of views field 784, a number of clicks field 786, a weight field 788, and a snippet field 790. The number of views field 784 may be used by the active promotion server to record the number of times that the advertisement identified in the advertisement ID field 778 has been viewed. The number of clicks field 786 may be used by the active promotion server to record the number of times a consumer has selected the advertisement to visit the corresponding WWW site. The weight field 788 may be used by the active promotion server in determining the most appropriate advertisement. The snippet field 790 may contain text that identifies the advertising content to send to the third party. As one skilled in the art will appreciate, the fields 701, 723, identified for the inclusion attribute record 702, and the exclusion attribute record 722, may contain more than just a single targeting data. For instance, such as the keyword field 708 may contain "laptop", "desktop" and other keywords. In addition, each of the records 700 may contain further fields for specifying targeting attributes desirable for a merchant's advertising strategy.
Now, returning to FIGURE 6, once the promotion records 702 and 722 have been retrieved at block 603, the logic proceeds to a block 604 where data stored in the inclusion attribute record 702 and the exclusion attribute record 722 for the promotion is used to build hash tables at block 608. FIGURE 8 is an illustrative indirection table diagram showing tables 800 created and updated by the promotion updater module 108. Each field of the inclusion attribute record 702 and the exclusion attribute record 722 has an associated hash table and possibly a promotion list table 820. For example, the keyword inclusion field 708, the category inclusion field 710, the geography inclusion field 712, the channel inclusion field 714, and the co-brand inclusion field 716 of the inclusion attribute record 702, each have a corresponding hash table 800. The hash table 800 includes attribute records 802 having an index 804 and a pointer field 806 for pointing to a promotion list table 820.
The index 804 represents a hash value for the data stored in one of the attribute fields 708-716 provided by the merchant. Those skilled in the art will appreciate that the promotion list table 820 may include other types of data structures, such as trees and other hash tables.
For example, the geography include field 712 may contain cities such as "Redmond" (as shown), "Seattle", "San Diego", and "Dallas". The active promotion server 30 processes the provided data to include a city, a state, and a country. The city, state, and country are then hashed to create a hash value that is used as an index into the hash table 800. If for example, "Seattle, WA, USA" hashed to a value of zero, the pointer field 806 associated with index 0 will contain an addressable reference to the promotion list table 820 associated with promotion identifiers that identify online promotions which specify Seattle in the geography field 712. Then, for each promotion identifier having "Seattle, WA, USA", the promotion updater module 108 stores the associated promotion identifier in one of several identifier fields 822. The last identifier field 822 stores an identifier representing the end of the list. Therefore, in the example using Seattle, the promotion list table 820 indicates that Seattle is included in the geography field 712 of promotion identifier 1 and 3. As stated above, the building of the hash table and the attribute table is completed for both the inclusion attribute record 702 and the exclusion attribute record 722 for all the promotions.
Once data from one online promotion is added to the tables, the logic proceeds to a decision block 609 where a determination is made whether all the online promotions have been retrieved. If not, processing loops back to block 603 and proceeds as described above. Once all the tables have been completed, the logic proceeds to a block 610 and returns to block 506 of FIGURE 5. One skilled in the art will appreciate that when a new promotion is added at block 508 of FIGURE 5, the promotion updater module 108 gets the promotion data as described above in reference to block 604 in FIGURE 6 and calculates a new hash value for data that is not currently in any of the previously built hash tables, and creates a corresponding new promotion list table 820. However, for data, such as Seattle, that already has a hash value in one of the hash tables, only the promotion list table 820 is updated to include the new promotion ID. FIGURE 9 is a flow diagram illustrating an overview of the logic used by the advertisement locator module 110 shown in FIGURE 3B for use in block 512 of FIGURE 5 to process a request to display an advertisement. As mentioned above, the advertisement server module 107 calls a method in the advertisement locator module 110 to initiate the processing illustrated in FIGURES 9-12. An illustrative routine 900 begins at a block 904 where content information is received. As described earlier, content information is sent by the browser on the consumer computer 32 or third party WWW site by methods well known to those of ordinary skill in the art. The content may include a search category, a keyword, and a geographic location. The logic then proceeds to a decision block 906, where a determination is made whether the request is stateless. A stateless request refers to requests received from third-party WWW sites which are unable to receive information dynamically from the active promotion server and build the information into a WWW page before sending the WWW page to a client. For these types of requests, the logic proceeds to block 908 where state information, along with a key, is retrieved from the third-party WWW site. The manner in which state information is retrieved from third-party WWW sites is well known to those, of ordinary skill in the art. Instead of sending the advertisement directly to the WWW site to incorporate in a WWW page, the browser on the consumer computer requests the advertisement from the active promotion server by sending the same key that was sent with the state information. In this embodiment, the WWW site has the links and images directed to the active promotion server. When the active promotion server receives the key, the active promotion server will display the most approprate advertisement located for the WWW site associated with the key that was stored to identify the WWW site. The logic then proceeds to block 910, described in more detail below with reference to FIGURE 10, to locate a most appropriate advertisement based on the content information provided by the consumer computer 32. The logic then proceeds to block 912.
At block 912, the most appropriate advertisement is provided to the requesting third-party WWW site. Typically, this is done by methods well known to those of ordinary skill in the art, such as by redirecting the WWW browser executing on consumer computer 32 to another URL. Routine 900 then proceeds from block 912 to block 914 where the promotion database 48 is updated, such as updating the number of views field 782 in the advertisement record 772 associated with the displayed advertisement. In addition, the number of promotions ran field 752 of the auxiliary record 742 may be updated to reflect that an advertisement in the promotion was run. After the promotion database is updated, the logic proceeds to return block 916, and, subsequently, back to block 506 in FIGURE 5.
FIGURE 10 is a flow diagram illustrating the logic used by the advertisement locator module to locate a most appropriate advertisement based upon the content information supplied by consumer computer 32. An illustrative routine 1000 begins at a decision block 1004, where a determination is made as to whether any advertisements have been served to the consumer computer 32. If no advertisements have been served, the logic proceeds to a block 1006 where the advertisement locator module 10 builds a search context of eligible ads for the requesting consumer. In general, the search context of eligible ads is a data structure for storing the correlation of the content information with the promotion data. In one embodiment, a grid structure, such as a promotion grid 1300 shown in FIGURE 13, is built. An illustrative routine 1100 for building the search context is described below in reference to FIGURE 11. After the search context is built, the logic then proceeds to a block 1008.
At block 1008, a promotion context is acquired. The promotion context identifies the advertisements that have already, been displayed so that the same advertisement is not displayed again. The promotion context is similar to the search context with additional storage for storing the promotion identifiers and advertisement IDs of advertisements already displayed to a particular Internet user. The promotion context is typically stored in memory. Whenever a new search context is built at block 1006, the promotion context is cleared so that the promotion context will accurately reflect the advertisements that have been displayed. Once the promotion context is acquired, the logic proceeds to a block.1010, described in more detail below with reference to FIGURE 12, to select the most appropriate advertisement from the eligible ads using the search context. Once the most appropriate advertisement is selected, the logic proceeds to a block 1012 where the promotion context is updated to indicate that the most appropriate advertisement has been displayed to this consumer. The logic then proceeds to a return block 1018 and back to block 912, shown in FIGURE 9.
FIGURE 11 is a flow diagram illustrating the logic used by the advertisement locator module 10 to build a search context for storing the correlation of the content information with the online promotion data. Turning now to FIGURE 11, an illustrative routine 1100 for building a search context will now be described. Routine 1100 begins at a block 1104, where a first or next data from the content information is retrieved. The data is sent from either the WWW browser on the consumer computer 32, or from the third-party WWW site through a URL using the HTTP protocol. Routine 1100 proceeds from block 1104 to block 1106, where the attribute hash tables and attribute lists associated with the data are obtained. For example, if the data is the city Seattle, the attribute hash table corresponding to the geography field 712 of the inclusion attribute record 702 shown in FIGURE 7, and the associated attribute list, such as attribute list 820 are used for further processing. The logic then proceeds to a decision block 1108, where a decision is made as to whether the data is included in the associated attribute hash table as described above. If the data is not included in the hash table, the logic proceeds to a decision block 1114 where a determination is made whether there is any remaining data in the context information. If there is, the logic loops back to block 1104 to continue processing as described above.
Returning back to decision block 1108, if it is determined that the data has a hash value in the included attribute hash table, the logic proceeds to a decision block 1110 where a determination is made as to whether the data has a hash value in the excluded attribute hash table. If so, the logic proceeds to the decision block 1114 and continues processing as described above. However, if the data is not in the excluded attribute hash table, then the logic proceeds to a block 1112, where a counter is incremented for each promotion listed in the attribute list 820 associated with the include attribute hash table. As mentioned earlier, in one embodiment, a promotion grid 1300, conceptually shown in FIGURE 13, is used to maintain the value of the counters for each promotion. After block 112, the logic proceeds to decision block 1114 and proceeds as described above. From decision block 1114, when there are no remaining data in the content information, the logic proceeds to a return block 1118, and back to block 1008 shown in FIGURE 10.
FIGURE 13 illustrates a promotion grid 1300 which includes an entry 1302 for each promotion identifier 1304. The entry 1302 contains the number of promotions that had targeting attributes the same as the data in the content information. In the example shown, promotion "1" had two targeting attributes the same as two data items in the context information. Therefore, the counter value stored in the promotion grid 1300 represents how many of the targetting attributes of the corresponding online promotion are met given the content information from the Internet user. FIGURE 12 describes an illustrative routine 1200 for selecting the most appropriate advertisement. Turning now to FIGURE 12, routine 1200 begins at a block 1204, where the counts in the promotion grid 1300 shown in FIGURE 13 are compared to each other. Promotions in the promotion grid with a count less than two indicate that the associated online promotion failed to match at least two of the data items in the context information. In one embodiment, online promotions in the promotion grid 1300 with a value less than two may be ignored because at least the width field 780 and the height field 782 must match the content data provided to the advertisement locator module 111 when filling an advertising spot. Otherwise, the advertisement will not fit properly in the WWW page. The logic then proceeds to a decision block 1206 where a determination is made as to whether any of the promotions meet all the target attributes specified by the merchant. If so, the logic proceeds to a block 1208 where a target style list of promotions is built and then to a block 1209 where an advertisement from the target style list is randomly selected from one of the promotions that meet all the target attributes. The randomly selected advertisement is compared with the promotion context to determine whether the selected advertisement has been displayed previously. If so, the processing within blocks 1208 and 1209 are performed again until a unique advertisement is selected. If at decision block 1206 there are no promotions that meet all the target attributes, then the logic proceeds to a decision block 1210. At block 1210, a determination is made as to whether there are any promotions that meet some of the target attributes. If there are, the logic proceeds to a block 1212 where a target style list of promotions is built and then the logic proceeds to a block 1213 where an advertisement from the target style list is selected from one of the promotions that meet some of the target attributes. The selected advertisement is then compared with the promotion context to determine whether the advertisement has been displayed to the current consumer. If so, the processing within blocks .1212 and 1213 is performed again until a unique advertisement is selected. If there are no promotions that meet some of the target attributes, the logic proceeds to a block 1214 where a target style list of promotion is built. The logic then proceeds to a block 1215 when an advertisement from all the promotions that do not meet any of the target attributes is selected. Again, the selected advertisement is compared with the promotion context to determine whether the advertisement has been displayed to the user. After processing in blocks 1208, 1212, or 1214, the logic proceeds to return block 1216 and returns to a block 1012 in FIGURE 10. . As described above, the present invention provides a system and method for merchants to target advertisements based on their marketing strategy. . The advertisement promotion server is integrated with the promotion database which is updated with information from the merchants. The promotion database may include any number of attributes useful for the merchant's strategy, such as an attribute associated with the weather. A merchant may desire to advertise a specific product only if the temperature of the geographic location is above 100 degrees. The present invention allows the merchant to use an online promotion that targets only those geographic locations. In another embodiment, the active promotion server may access information stored in the product database of the merchant and target advertising once the number of items reaches a specified quantity. By providing a promotion database integrated with an advertisement server module 107 through the promotion updater module 108 and the advertisement locator module 110, the present invention allows the owner of a WWW site to provide various advertising arrangements to merchants and allows the merchants to cost effectively and efficiently target their advertisements. The selection of the most appropriate advertisement based on the promotion data and the content information provides further targetting of advertisements on the Internet. Furthermore, the present invention provides a system and method for selecting the most appropriate advertisement from a large number of concurrent online promotions that are running and from online promotions which may need to be advertised in a relatively short time period.
In an alternate embodiment, the advertisement locator module 110 may be used to select the most appropriate advertisement to be displayed on a text based display, such as a personal digital assistant (PDA) or cellular phone, rather than on a WWW page. For this embodiment, one of the fields in one of the records 700 may contain an indicator that the consumer computer has a text-based display. For example, the advertising record 772 may contain a value of "-1" in the width field 780 to indicate, that a textual advertisement should be used. The textual advertisement may contain text, such as "Please visit this url: xxxxx", where "xxxxx" refers to a WWW site address. The textual advertisment may also contain text, such as "reply now", which when "clicked on" would ping the appropriate address. This alternate embodiment may be used in mass email mailings and in automatic responses to inquiries. A wireless application protocol and a wireless markup language may be used to provide a mechanism to allow a "click" on the promotion through the use of a hyperlink.
While the preferred embodiment of the invention has been illustrated and described, it will be appreciated that various changes can be made therein without departing from the spirit and scope of the invention. For example, the present invention is illustrated within an operating environments that includes an e-commerce WWW site. One skilled in the art will appreciate that other environments may provide the creation of the promotion database, media database, and product database.

Claims

The embodiments of the invention in which an exclusive property or privilege is claimed are defined as follows:
1. A method for targeting advertisements of an online promotion over a network, the method comprising: receiving a request over the network for advertising content from a third party; identifying third party information from the request; locating an appropriate advertisement by comparing the third party information with deal details for an online promotion, wherein the deal details are periodically updated and provide product data on a plurality of products manufactured by one or more merchants; and making the appropriate advertisement available to the third party in response to the request.
PCT/US2001/000462 2000-01-04 2001-01-04 System and method for targeting advertisements for online promotions to internet users WO2001050399A2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
AU29298/01A AU2929801A (en) 2000-01-04 2001-01-04 System and method for targeting advertisements for online promotions to internetusers

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US47719600A 2000-01-04 2000-01-04
US09/477,196 2000-01-04

Publications (3)

Publication Number Publication Date
WO2001050399A2 true WO2001050399A2 (en) 2001-07-12
WO2001050399A8 WO2001050399A8 (en) 2002-02-28
WO2001050399A9 WO2001050399A9 (en) 2002-07-18

Family

ID=23894915

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2001/000462 WO2001050399A2 (en) 2000-01-04 2001-01-04 System and method for targeting advertisements for online promotions to internet users

Country Status (2)

Country Link
AU (1) AU2929801A (en)
WO (1) WO2001050399A2 (en)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011094661A1 (en) * 2010-01-29 2011-08-04 Google Inc. Distributing internet search results and advertisement content
US20170287015A1 (en) * 2015-09-30 2017-10-05 International Business Machines Corporation Personalized marketing incentives based on historical information and mobility monitoring
US11836759B2 (en) 2006-06-16 2023-12-05 Almondnet, Inc. Computer systems programmed to perform condition-based methods of directing electronic profile-based advertisements for display in ad space

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
No Search *

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11836759B2 (en) 2006-06-16 2023-12-05 Almondnet, Inc. Computer systems programmed to perform condition-based methods of directing electronic profile-based advertisements for display in ad space
WO2011094661A1 (en) * 2010-01-29 2011-08-04 Google Inc. Distributing internet search results and advertisement content
US8843465B2 (en) 2010-01-29 2014-09-23 Google Inc. Distributing content
AU2011210611B2 (en) * 2010-01-29 2014-10-09 Google Llc Distributing internet search results and advertisement content
US9235852B2 (en) 2010-01-29 2016-01-12 Google Inc. Distributing content
US20170287015A1 (en) * 2015-09-30 2017-10-05 International Business Machines Corporation Personalized marketing incentives based on historical information and mobility monitoring
US10489827B2 (en) * 2015-09-30 2019-11-26 International Business Machines Corporation Personalized marketing incentives based on historical information and mobility monitoring

Also Published As

Publication number Publication date
AU2929801A (en) 2001-07-16
WO2001050399A9 (en) 2002-07-18
WO2001050399A8 (en) 2002-02-28

Similar Documents

Publication Publication Date Title
US7933893B2 (en) Method and system for providing a link in an electronic file being presented to a user
US7181415B2 (en) Targeting of advertisements to users of an online service
US7464079B2 (en) System and method for influencing a position on a search result list generated by a computer network search engine
US7089194B1 (en) Method and apparatus for providing reduced cost online service and adaptive targeting of advertisements
KR100855195B1 (en) Rendering content-targeted ads with e-mail
US6212554B1 (en) Advertising banners for destination web sites
US20060235938A1 (en) System and method for delivery of information based on web page content
US20050065847A1 (en) Method and product for offering advertising services
US20030208474A1 (en) System and method for influencing a position on a search result list generated by a computer network search engine
US20020120507A1 (en) Feature rich advertisments including consumer requests for additional information
WO1998047090A1 (en) Method of advertising on-line
JP2004536394A (en) System and method using a continuous message sending unit in a network architecture
US8738446B1 (en) Network-based advertising system and method
US20050182677A1 (en) Method and/or system for providing web-based content
JP2007504556A (en) How to determine and / or use location information in an advertising system
US7464332B2 (en) Devices, systems and methods for selecting the appearance of a viewer displaying digital content
US8589223B2 (en) Method and system for offering advertising services
KR20030039329A (en) Service providing method using information network
US20010032135A1 (en) Methods and system for the collection and delivery of information specific data
WO2001050399A9 (en) System and method for targeting advertisements for online promotions to internet users
JP3306419B2 (en) Advertising system on the Internet
WO2001080125A2 (en) Electronic account statement with embedded tags
JP2002259797A (en) Advertisement providing method on data communication network
KR20020027893A (en) Network based web site advertisement service system & method

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A2

Designated state(s): AU BR IN JP

AL Designated countries for regional patents

Kind code of ref document: A2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

121 Ep: the epo has been informed by wipo that ep was designated in this application
DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
AK Designated states

Kind code of ref document: C1

Designated state(s): AU BR IN JP

AL Designated countries for regional patents

Kind code of ref document: C1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

D17 Declaration under article 17(2)a
AK Designated states

Kind code of ref document: C2

Designated state(s): AU BR IN JP

AL Designated countries for regional patents

Kind code of ref document: C2

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE TR

COP Corrected version of pamphlet

Free format text: PAGES 1/13-13/13, DRAWINGS, REPLACED BY NEW PAGES 1/14-14/14; DUE TO LATE TRANSMITTAL BY THE RECEIVING OFFICE

122 Ep: pct application non-entry in european phase
NENP Non-entry into the national phase in:

Ref country code: JP