WO2009052190A1 - Systems and related methods for providing advertising content to online users - Google Patents

Systems and related methods for providing advertising content to online users Download PDF

Info

Publication number
WO2009052190A1
WO2009052190A1 PCT/US2008/080007 US2008080007W WO2009052190A1 WO 2009052190 A1 WO2009052190 A1 WO 2009052190A1 US 2008080007 W US2008080007 W US 2008080007W WO 2009052190 A1 WO2009052190 A1 WO 2009052190A1
Authority
WO
WIPO (PCT)
Prior art keywords
video
server
client computer
coupon
data
Prior art date
Application number
PCT/US2008/080007
Other languages
French (fr)
Inventor
Irit Scheflan
Arnon Scheflan
James Nicholas Martin
Original Assignee
One On One Advertising Llc
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
Priority claimed from US12/167,027 external-priority patent/US20090013288A1/en
Priority claimed from US12/177,817 external-priority patent/US20090030794A1/en
Application filed by One On One Advertising Llc filed Critical One On One Advertising Llc
Publication of WO2009052190A1 publication Critical patent/WO2009052190A1/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

  • the present invention relates generally to Internet advertising. More particularly, the present invention discloses a system and related method for providing advertising content to online users in a manner desi 'g6n' ed to attract the attention of the online users.
  • the Internet (or World Wide Web) has become a significant research tool for consumers seeking information on products and services.
  • a "product" may be a good, a service or both. Consequently, the Internet has also become a key advertising market. How to catch and hold the interest of web-browsing consumers is a major consideration for advertisers, and the ability of one advertiser to distinguish itself from the plethora of others may lead to greater ad revenues and sales.
  • Advertisers have employed any number of audio and/or visual techniques to attract the interest of consumers. For example, the use of hyperlinks within a webpage to display a video is known. The drawback to this commercial distribution method is that the user must actually click upon the hyperlink to cause the video player to launch and play the video. Although such a minor action would not appear to be an insurmountable viewing barrier, the reality is that many users are simply reluctant to click on hyperlinks unless they know the hyperlink will connect them to content that they genuinely want, and this is generally not the case with advertisements.
  • An alternative advertising method causes a window or bubble to appear when the mouse pointer hovers over a hyperlink.
  • This window or bubble contains related text, and "floats" above the webpage containing the hyperlink.
  • This method is advantageous as it does not require the user to actually click upon the hyperlink to cause the window or bubble to appear.
  • text is not particularly engaging, and so is easily ignored by the user.
  • the present invention overcomes the drawbacks of the prior art.
  • One aspect of the present invention discloses an advertising method that plays a video related to a hyperlink when the mouse pointer of the user hovers over the hyperlink in a webpage.
  • the video is overlaid and played on the underlying webpage and thus does not disturb the performance or underlying appearance of the webpage.
  • Preferred embodiment methods of this aspect provide for the delivery of videos to a client computer.
  • a webpage file is transmitted to a client computer.
  • the webpage file comprises directory listings or search engine results, which are presented in the form of a list of hyperlinks.
  • Each hyperlink corresponds to a directory listing entry or a search engine hit in the list.
  • a pointer on the client computer hovering over a hyperlink in the list of hyperlinks a first video corresponding to the hyperlink is determined.
  • such a determination is made by correlating an advertiser with the hyperlink, such as by extracting the advertiser's identification (ID) number from the hyperlink, and by correlating within a video database each of a plurality of videos with a respective advertiser.
  • Matching video data transmitted to the client computer is then used to cause the client computer to play the video in a window that floats over the original webpage.
  • an embedded application within the webpage file may cause the client computer to download all videos respectively associated with the list of hyperlinks. The client computer then plays the appropriate video when the pointer hovers over the corresponding hyperlink.
  • the embedded application requests the respective video data in response to the pointer hovering over the corresponding hyperlink and the resulting video data streaming into the client computer is played as a video.
  • the client computer stops playing the video when the pointer moves away from the hyperlink.
  • the webpage contains an embedded application that is executable by the client computer.
  • the embedded application monitors the position of the pointer to determine if the pointer is hovering over a hyperlink, obtains the advertiser-related information corresponding to a hyperlink, transmits advertiser-related information to a video server, and plays video data obtained from the video server.
  • the scripting code also causes the client computer to display a logo in relation to each hyperlink that has a corresponding video.
  • the logo is served by the server that provides the video data and is positioned as part of the video uploading when a match with the advertiser ID number is found.
  • Another aspect of the present invention discloses an advertising method that presents coupons to a user when the user clicks upon a video, which creates interaction with the advertisement.
  • the video displays a presenter that encourages the user to click on the video to receive discounts or the like in the form of a printable coupon, click through and other options provided by a graphic template that is presented on the screen.
  • the user clicks upon the coupon template the user can be either directed to buy the discounted product in a related online store by uploading the page that presents the discounted product ready to be purchased, or the user can click on a "Print" button displayed on the coupon template and the coupon is printed and may subsequently be redeemed, for example, in a standard bricks-and- mortar store.
  • the video presents a celebrity promoting the goods or services being advertised. The goods or services thus obtain celebrity endorsement and in this manner more consumer interest and more sales are generated for the advertised product, either at the online store or in the brick and mortar stores.
  • Preferred embodiment methods of this aspect provide an advertising method that employs video and coupons to generate customer interest.
  • the advertising method includes receiving webpage data at a client computer.
  • the webpage data is processed by the client computer to create a webpage.
  • the client computer extracts a campaign identifier from the webpage data and then transmits this campaign identifier to a campaign server to obtain corresponding advertising campaign data that includes video data and corresponding coupon template data.
  • the campaign data is used to play a video on the display related to the product or service that is being promoted, and to display the related discount coupon.
  • the coupon template data is used to present a coupon template on the display.
  • This coupon template can then either be clicked upon to reach the related point of sale page for the product/service so that the user can buy it online, or the coupon can be printed and presented by the user at brick and mortar stores when the advertised product/service is being purchased in order to receive the offered discount.
  • the client computer when the user clicks upon the video, the client computer opens a coupon form over the webpage and presents the coupon within the coupon form.
  • the coupon form includes a print button that, when clicked, causes the client computer to print the coupon.
  • the coupon form also includes a close button that, when clicked, causes the coupon template to close.
  • a campaign sever in another aspect, includes a processor in communications with memory and networking hardware.
  • the memory includes a campaign database and program code.
  • the campaign database includes video data, coupon template data and campaign identifier information.
  • the program code is executable by the processor to serve video and coupon data to a client computer according to requests received from the client computer.
  • the campaign server accepts a campaign identifier from the client computer and utilizes the campaign database and the campaign identifier to find related video data and coupon template data within the campaign database. This related video data and coupon template data is then transmitted to the client computer.
  • the coupon template data contains information to print a coupon on a printer that can be accepted at a store, and also contains information for redirecting a computer to a third-party server associated with the coupon so that the coupon may be redeemed via a purchase at an online store.
  • the campaign server may serve a specific campaign video based upon a campaign identifier or video identifier, and further serve specific coupon data based upon a coupon identifier.
  • an advertising method and related systems are disclosed that provide point-of-sale advertising to a consumer for a product related to the product being purchased.
  • a method is disclosed in which, in response to a product being placed into a virtual shopping cart or being checking out in the virtual shopping cart, a client computer provides an identifier of the product to a promotion server.
  • the promotion server includes a database that stores video that promoted products related to those being purchased.
  • the promotion server uses the identifier to find a corresponding product-related data and provides the product-related data to the client computer.
  • the client computer accepts the product-related data from the promotion server, which includes video information.
  • the video information may include video data, or may include information instructing the client computer as to where the video data may be obtained.
  • the client computer then utilizes the video information to play a corresponding video that promotes a related product. If the user indicates acceptance of the related product, the client computer then adds the related product to the virtual shopping cart.
  • the client computer will also accept information about the virtual shopping cart from the promotion server and utilize the information about the virtual shopping cart to add the related product to the virtual shopping cart.
  • a system in accordance with the above method is also disclosed.
  • the system includes a first processor, networking hardware in communications with the first processor and controllable by the first processor, and memory in communications with the first processor.
  • the memory includes first program code executable by a second processor to perform the above method steps.
  • the client computer is the system, for example, then the first processor and the second processor are the same processor.
  • the first program code may be provided to a client computer by a server, such as the promotion server or a online retail server, in which case the first processor and second processor would be different processors.
  • FIG. 1 illustrates a system according to a first embodiment method.
  • Fig. 2 illustrates a first embodiment webpage file.
  • Fig. 3 is a flow chart according to a first embodiment method.
  • Fig. 4 illustrates a first embodiment video server.
  • Fig. 5 illustrates another first embodiment webpage file.
  • FIG. 6 illustrates a system according to a second embodiment method.
  • Fig. 7 illustrates a second embodiment webpage on an end-user computer.
  • Fig. 8 illustrates an embodiment coupon form on the end-user computer.
  • Fig. 9 illustrates embodiment webpage code that produces the webpage shown in Fig. 7.
  • Fig. 10 is a flow chart according to a second embodiment method.
  • Fig. 11 illustrates an embodiment advertising campaign server.
  • Fig. 12 is a logical diagram of a third embodiment advertising system.
  • Fig. 13 is a logical diagram of an embodiment retail server in the system shown in Fig. 12.
  • Fig. 14 illustrates an embodiment webpage as presented on an end-user computer according to a third embodiment advertising method.
  • Fig. 15 is a logical diagram of an embodiment promotion server in the system shown in Fig. 12.
  • Fig. 16 is a logical diagram of embodiment promotion-related data passed to an end-user computer in response to a query from promotion code on the end-user computer provided by the retail server.
  • Fig. 17 is a flow chart of an embodiment promotion method according to the third embodiment advertising method.
  • Fig. 18 is a logical diagram of an embodiment end-user computer in the system shown in Fig. 12.
  • program code For purposes of the following disclosure, the terms "program code,” “code,” “script,” “scripting code” or the like are intended to mean any machine readable set of logical instructions that causes a computer to perform certain specified tasks.
  • program code may include, for example, machine language and assembly language. It is also intended to more broadly include, however, other logical languages, such as C++, the .NET framework, JavaScript, Flash, HTML and so forth.
  • the terms “run,” “execute,” “process” and the like are intended to mean that a computer processes the logical instructions present in code to perform the steps indicated by that code. Execution of code may be direct, as with machine code, or may be indirect, as with code that is interpreted (such as HTML), compiled (such as C++) or both (such as Java).
  • click includes that action in which a pointer, typically directed by a user, is placed over a location and then a button associated with the pointer is pressed to generate the "click," which is a well-known input format used to indicate selection of an item.
  • click is further meant to indicate any action by a user that indicates selection of an item. For example, by pressing or tapping upon a touch- sensitive screen, a "click” may be generated. Voice commands may also generate a "click.”
  • Fig. 1 illustrates an embodiment system capable of performing an embodiment advertising method according to a first aspect of the present invention.
  • the system includes a search engine server 30, a directory listings server 40, a video data server 50 and a client computer 10, all of which are in communications with the Internet.
  • the search engine server 30 receives a search request from the client computer 10 in a standard manner, typically in the form of one or more key words, and in response generates a search engine results webpage 32.
  • the directory listings server 40 may receive a directory listings request from the client computer 10, typically when the client clicks on a related hyperlink or enters a keyword, and in response generates a directory listings webpage 42.
  • Both the search engine results webpage 32 and the directory listings webpage 42 are similar in form in that they present their respective types of information in textual form, typically as a sorted list; this results list (i.e., the search engine results or directory listings) may be sorted, for example, by a perceived relevance, as with the search engine server 30, or alphabetically, as with the directory listings server 40.
  • the sorted lists are in the form of hyperlinks, which present textual information to the user, and which may be clicked upon by the user of the client computer 10 for redirection to a related webpage, in a standard manner.
  • Each webpage 32, 42 may be generated in a standard manner, but augmented as discussed below to support an embodiment advertising method.
  • Fig. 2 illustrates an embodiment webpage file 60 that generally represents either one of the search engine results webpage 32 or the directory listings webpage 42.
  • the respective server 30, 40 In response to a standard search request to the search engine 30, or a directory listings request to the directory listings server 40, from the client computer 10, the respective server 30, 40 generates the webpage file 60 and transmits the webpage file 60 to the client computer 10.
  • the client computer 10 contains a web browser 16 that processes the webpage file 60 to display a corresponding webpage image 20 within a visual window 22 on a display 18 of the client computer 10, as known in the art.
  • the webpage image 20 contains a plurality of hyperlinks 24 that each corresponds to a directory listing entry or a search engine hit as coded within the webpage file 60.
  • the webpage file 60 contains code that tracks a pointer 21 and causes the client computer 10 to play a related video 26 when the pointer hovers over a hyperlink 24.
  • the search engine server 30 and the directory listings server 40 may each respectively augment a standard search results webpage 14 or directory listings webpage 42 by simply including the tracking code 66.
  • the video 26 is overlaid on the webpage image 20, and so does not interfere with the webpage image 20.
  • the webpage file 60 contains standard scripting code, such as HTML 62, that encodes the results list for the webpage image 20 on the end-user computer 10, and includes hyperlink code 64 that corresponds to the displayed hyperlinks 24.
  • Each hyperlink 24 corresponds to a search engine hit, or a directory listing entry, depending upon which server 30, 40 provided the webpage file 60.
  • a search engine hit may be, for example, a hyperlink 24 to another webpage that contains the keywords entered by the user of the client computer 10 when requesting a search.
  • a directory listing entry may be a hyperlink 24 to the website of a product or service provider within the class of products or services that the user of the client computer 10 is interested in browsing within.
  • the webpage file 60 also contains tracking code 66 that tracks the position of the pointer 21 and calls player launch code 68 when the pointer 21 hovers over a hyperlink 24.
  • the player launch code 68 causes the client computer 10 to launch a video player and to play the video 26 that corresponds to the hyperlink 24 over which the pointer 21 is hovering.
  • the tracking code 66 could be JavaScript, Flash, or any other suitable programming language, or could be provided by various modules, each written in a respective coding language that can call other modules.
  • each language may be supported by a corresponding plug-in 12 on the client computer 10 that processes the tracking code 66 according to the language type of the tracking code 66.
  • the video player is installed on the client computer 10, and may be, for example, a Flash player.
  • the tracking code 66 may, in various embodiments, simply be a reference to another file, which is then downloaded and processed by the plug-in 12.
  • the tracking code may be an HTML script that calls a JavaSript program.
  • a reference to another file, such as described, that contains the code is considered equivalent to actually placing the code itself into the webpage file 60, and so for purposes of simplicity, the following disclosure treats the tracking code 66 as being within the same actual file 60. Either result, placing tracking code 66 into the webpage file 60 itself, or placing a reference to another file that contains the tracking code 66, both result in embedding the tracking code 66 into the webpage file 60.
  • Fig. 3 is a flow-chart for one embodiment of the tracking code 66.
  • the tracking code 66 begins monitoring the position of the pointer 21 within the display 18.
  • Each hyperlink 24 covers a respective region of the screen display 18; the pointer 21 may therefore either overlap a specific one of the hyperlinks 24, or not overlap any of the hyperlinks 24. If the pointer 21 goes from a condition of not overlapping a hyperlink 24 to overlapping a hyperlink 24, the pointer 21 may be said to be entering that hyperlink 24, and hence is hovering over the hyperlink 24.
  • the pointer 21 may be said to be exiting that hyperlink 24.
  • the tracking code 66 monitors whether the pointer 21 enters or exits any of the hyperlinks 24.
  • the video 26 is closed (i.e., made to disappear) when the user moves the pointer 21 away from a hyperlink 24.
  • the tracking code 66 determines that the pointer 21 is exiting a hyperlink 24
  • the tracking code 66 determines if the video 26 is being displayed. If the video 26 is displayed, the tracking code shuts down the video player, which closes, and thus removes, the video 26. It will be appreciated, however, that variations are possible.
  • the tracking code 66 could continue to let the video 26 play until it finishes. Or, the tracking code 66 may close the video player only when the webpage window 22 is refreshed by a new webpage, in which case new videos 26 may be played in the same video window 26 depending upon the position of the pointer 21.
  • tracking code 66 determines that the pointer 21 is entering a hyperlink 24, the tracking code 66 then extracts advertiser-related information 14 from this hyperlink 24 into which the pointer 21 has entered, which may then be termed the active hyperlink 24 for the sake of brevity.
  • the tracking code 66 extracts the identification (ID) number of an advertiser from the active hyperlink 24 and uses this ID number as the advertiser-related information 14.
  • ID numbers are typically assigned by the webpage publisher 30, 40 for each advertiser as part of the publisher's database. Preferred embodiments use this ID number to query for a related video from the video server 50 and play this as a video 26 that floats over the webpage 20.
  • the tracking code 66 is pre-programmed to establish a communications connection with the video server 50.
  • the tracking code 66 may be pre-programmed with the URL of the video server 50, or the IP address of the video server 50, as well as the specific protocol that is to be used for communications.
  • the tracking code 66 then transmits to the video server 50, using the appropriate communications protocol, the advertiser- related information 14 extracted from the active hyperlink 24.
  • HyperText Transfer Protocol HTTP is used in this initial query between the user computer 10 and the video server 50 to determine if a related video is available.
  • the video server 50 is preferably capable of transmitting several gigabytes in video data per second.
  • the video server 50 includes a client query interface 54 that is used to communicate with the client computer 10 to accept the advertiser-related information 14.
  • the video server 50 continuously listens on the client query interface 54 for video search requests and their associated advertiser-related information 14.
  • the video server 50 searches a video database 51 for a corresponding video 52. Within the video database 51, each video 52 has associated advertiser-related information 53.
  • the video server 50 parses the associated advertiser-related information 53, looking for a match with the advertiser-related information 14 provided by the client computer 10.
  • the video server 50 then signals back to the client computer 10, via the client query interface 54, information indicating whether or not a match was found in the video database 51.
  • the video server 50 then sends back information to the client computer 10 for the client computer 10 to play the video data 52 as a video 26.
  • the video server 50 may then begin streaming the video data 52.
  • Preferred embodiments employ Rich Text Messaging Protocol (RTMP) to stream videos 26, and hence open a suitable connection to provide the video data 52 stream. If the RTMP server on the video server 50 is down, the video server 50 may employ another connection, such as an HTTP connection, to stream the video data 52.
  • RTMP Rich Text Messaging Protocol
  • the video server 50 may not send any information relating to playing the video 26 and instead may close the connection, which may signal that no related video data 52 is available.
  • the video server 52 may explicitly signal to the client computer 10 that no matching video data 52 is present.
  • the client computer 10 and the video server 50 also send and receive data based on various events, such as video 26 start, video 26 stop, etc., using the client query interface 54, which may be done using, for example, the HTTP protocol.
  • the tracking code 66 simply goes back to monitoring the position of the pointer 21.
  • the tracking code 66 may also optionally save information indicating that the active hyperlink 24 has no associated video data 52, and thus may forgo another video database 51 query if the user should again hover over that same hyperlink 24. Such information may be flushed each time the webpage image 20 is refreshed. However, if the video server 50 indicates that a match was found, the tracking code 66 then calls player launch code 68.
  • the player launch code 68 plays video 26. This video 26 is overlaid on and floats over the original webpage window 22, and hence does not interfere with the contents 20 of the webpage window 22.
  • the video 26 may be positioned over or near the active hyperlink 24 to indicate to the user that the video 26 is associated with the active hyperlink 24.
  • the player launch code 68 starts a video player program.
  • the video player establishes a connection with the video server 50 to obtain the video data 52 corresponding to the advertiser- related information 14.
  • the video server 50 streams the related video data 52, such as through an RTMP connection, to the client computer 10, and the video player reads this video data 52 to play the corresponding video 26.
  • the player launch code 68 may, depending upon the implementation chosen, close the video player, or may leave and the video player running for the user to again view the video 26, if so desired.
  • the tracking code 66 causes the video player, and hence video 26, to close. Because the video 26 floats over the webpage window 22, the webpage image 20 is not disturbed by either the opening or the closing of the video 26. If the pointer 21 should then hover over another of the hyperlinks 24, the process above will repeat, with a new video 26 playing over or near this newly-active hyperlink 24.
  • the tracking code 66 may instead parse all of the hyperlinks 64 for the related advertiser-related information 14 and send corresponding queries to the video server 50. For example, once the webpage 22 is loaded, the tracking code 66 may immediately begin sending to the video server 50 a plurality of video queries, one for each hyperlink 24. The video server 50 may respond to each of these queries by streaming the related video data 52. However, in such embodiments, the tracking code 66 may then only begin playing this video data 52 as a video 26 when the pointer 21 floats over the corresponding hyperlink 24.
  • Various embodiments benefit the directory listing website 40 and the search engine websites 30, as well as the advertising companies and the end user 10 that is looking for the right product.
  • the existing directory listings 40 and the search engine 30 can present their web pages 32, 42 in a standard manner, but simply augment them with the tracking code 66 to quickly and easily provide related embedded video advertising. All the advertisers that appear on the listing 42 and search engine 32 web pages look the same (being only of text and hyperlinks 24) and consequently the user mostly chooses to review the offers on the first few websites that are displayed at the top of the list.
  • the various embodiment advertising methods allow the search engine's 30 and directory listing server's 40 advertisers to add a respective special video 52 that plays when the user's mouse hovers over a specific advertiser's hyperlink 24, with no need to click on the hyperlink 24 to play the video 52.
  • the video 26 runs automatically, presenting the special products, offers, and services that are specific and unique for this advertising company.
  • the video 26 may, for example, encourage the user to click on the hyperlink 24 and review the advertising company's website.
  • the added video 26 may therefore promote the advertiser's website even more forcefully than the mere position of the hyperlink 24 in the list of advertisers on the webpage image 20.
  • search engines 30 are paid per click by advertisers that bid on the highest position on the list 62 in their category. Using video as part of the advertisers' promotion on the search engine page 32 and directory listings page 42 will create more revenue for the directory listings 40 and the search engine 30, since end users 10 will be more interested in clicking upon the website hyperlink 24 that is promoted by video 26 to view the offers presented by the advertising companies.
  • Directory listings 40 and search engines 30 websites typically have a section in their respective web pages 42, 32 to display non-paying advertisers. These non-paying advertisers may be termed organic traffic, and the positioning of the organic traffic in the list 62 is generally based upon popularity.
  • the directory listings server 40 and the search engine server 30 lists these advertising companies as a service to the end user 10 without being paid for this service. With the various embodiments, however, non-paying advertisers will be interested in the new and additional service feature, the video presentation of their websites, as a way to entice more users to click on their respective hyperlink 24 and visit their website.
  • the directory listings server 40 and search engine server 30 will thus have a way to charge these advertising companies for the promotional video service.
  • Fig. 5 illustrates an embodiment webpage file 70 representative of an embodiment search results webpage 32 or directory listings webpage 42 as provided by a respective embodiment search engine server 30 or directory listings server 40. While generating the webpage 70, the server 30, 40 may iterate through each hyperlink 72, extracting and supplying the corresponding advertiser-related information to the client query interface 54 of the video server 50.
  • the server 30, 40 may insert into the scripting code 71 logo data 73 associated with that hyperlink 24; if no video 52 is present, the logo data 73 is omitted for that hyperlink 72.
  • the logo data 73 causes the web browser 16 to insert a logo 28 or the like next to a corresponding hyperlink 24, thereby informing the user that video data 52 is present for that hyperlink 24 and may be viewed as a video 26 if the user simply hovers the pointer 21 over the hyperlink 24.
  • the webpage file 70 also includes tracking code 74 and player launch code 76 to monitor the pointer 21 and play the appropriate video 52 as described above.
  • the tracking code 74 may itself query the video server 50 for each of the hyperlinks 72 to determine if a logo 28 should be placed in the webpage image 20. The logo 28 therefore need not be part of the scripting code 71. If the video server 50 determines that related video data 52 is available, the video server 50 may provide corresponding logo data to the tracking code 74, and the tracking code 74 may use the logo data to create a logo image 28 on or over the webpage image 20 near the related hyperlink 24.
  • Fig. 6 illustrates another embodiment system capable of performing an embodiment advertising method according to another aspect of the present invention.
  • the system includes a webpage publisher 130, an advertising campaign server 140, and a client computer 110, all of which are in communications with each other via the Internet 105.
  • the webpage publisher 130 when requested by the client computer 110, provides webpage code 150 to the client computer 110.
  • the client computer 110 includes a processor connected to memory, and the memory includes program code executable by the processor, as known in the art, to provide the functionality of the client computer 110.
  • This memory includes a web browser 116 that processes the webpage code 150 to render a corresponding webpage 120 on a display 118 of the client computer 110.
  • the web browser 116 may also call upon a plug-in 112, also residing within the memory of the client computer 110, to assist in the processing of the webpage code 150, as known in the art, to render all or portions of the webpage image 120.
  • a plug-in 112 also residing within the memory of the client computer 110
  • the webpage code 150 is, in preferred embodiments, dispersed throughout a plurality of files, not all of which may be present on the webpage publisher 130 but instead present on the campaign server 140 as well as other third-party computers also connected to the Internet 105. These files are called, referenced or otherwise incorporated by instructions within the webpage code 150 present on the webpage publisher 130, as discussed in more detail in the following.
  • the webpage code 150 is intended to include embodiments utilizing a single file of code 150 and embodiments utilizing multiple files of code 150 distributed across a plurality of servers.
  • Fig. 7 illustrates one embodiment of the webpage image 120, which is encoded by the webpage code 150 further illustrated in Fig. 9.
  • the webpage image 120 will typically include primary content 122, which is the content 122 that the user of the client computer 110 is primarily interested in.
  • the primary content 122 may also include, for example, banner ads, commercials and the like.
  • the webpage code 150 When the webpage code 150 is processed by the client computer 110, the webpage code causes campaign data 142 to be downloaded from the campaign server 140, which contains video and coupon data. Using this video data and a video player 114 resident on the client computer 110, the client computer 110 causes a video 124 to appear over the primary content 122.
  • the video player 114 is a Flash player, and is part of a Flash player plug-in 112 installed on the client computer 110.
  • the video 124 presents a celebrity promoting the goods or services of an advertiser, and the video 124 "floats" over the primary content 122.
  • the related plug-in 112 may track scrolling events within the webpage 120 to keep the video 124 positioned within a predetermined location on the screen 118.
  • the coupon data is used to present a coupon form 160 on the display 118.
  • the coupon form 160 may also be shown on the display 118 when the video 124 finishes playing, even if there was no click upon the video 124.
  • the coupon form 160 presents a coupon 162 that may be redeemed, for example, in stores or at e-commerce websites.
  • the coupon form 160 may appear, for example, over the webpage 120, preferably near the video 124.
  • the coupon form 160 includes a close button 164 and a print button 166. When the close button 164 is clicked, the coupon form 160 disappears or closes.
  • the webpage code 150 causes the client computer 110 to print out the coupon 162 on a printer connected to the client computer 110 (not shown), thus providing a hard copy of the coupon 162.
  • the coupon form 160 directs the client computer 110 to a server for the goods or services advertised in the coupon 162 so that the coupon 162 may be redeemed at an e-commerce website.
  • the webpage redirected to may be pre-loaded with the goods or services being promoted, as well as with the coupon 162 code, so that the end-user at the client computer 110 can immediately purchase the goods/services with the coupon 162 discount, without needing to enter any data or perform any other additional steps, except to check-out the goods/services to pay for them.
  • various embodiments of the webpage code 150 include content code 152 and campaign launch code 153.
  • the content code 152 provides the primary content 122 of the webpage 120
  • the campaign launch code 153 calls other files to provide the functionality of the videos 124 and coupon forms 160.
  • minimal amounts of launch code 153 are needed on the webpage publisher side 130 to implement the desired functionality; hence the webpage publisher 130 may simply take the webpage code 150 as-is and simply add a small bit of additional launch code 153 to provide embodiment advertising functions.
  • the campaign launch code 153 calls corresponding campaign code 154, which in preferred embodiments is stored on the campaign server 140, and the campaign code 154 then performs the steps necessary to launch the video 124 and coupon form 160 for a particular campaign 142 associated with a campaign identifier (ID) 155.
  • ID campaign identifier
  • the campaign launch code 154 is in the form of HTML code that calls a JavaScript file 154 on the campaign server 140.
  • the JavaScript file 154 in turn causes the Flash video 124 to play and uses Flash to display the coupon form 160.
  • Example campaign launch code 153 could look like this:
  • var sid '82161242827b703e6acf9c726942ale4';
  • the campaign ID var Cid 'd67d8ab4f4cl ⁇ bf22aa353e27879133c';
  • the variable "sid" may be used, for example, as the campaign ID 155, which is subsequently used by video launch code 156 and coupon launch code 158 to create the video 124 and the coupon form 160.
  • the campaign ID 155 is shown as being part of the campaign code 154, it may also be part of the campaign launch code 153 and subsequently accessed by the corresponding campaign code 154. It will be appreciated that the campaign ID need simply be anything that is sufficient to identify a particular campaign 142 on the campaign server 140.
  • the pathname of the campaign code 154 may provide the campaign ID 155, as may the pathnames of the video data 144 of a campaign 142 and/or the coupon data 145 of the campaign 142.
  • the variable “cid” may be used to identify a particular coupon data set 145, which may be used by the campaign code 154, such as the coupon launch code 158, to download the appropriate coupon data 145 without reference to the actual campaign ID 155.
  • the coupon data 145 within the campaign database 141 may have a related coupon identifier (not shown in Fig. 11).
  • the campaign code 154 may also cause the client computer 110 to execute the coupon launch code 158 after a predetermined amount of time has elapsed since launch of, for example, the campaign code 154 generally or the video launch code 156 specifically.
  • the purpose of the other variables is explained in their respective comments.
  • the campaign code 154 may include the campaign ID 155, and also includes video player launch code 156 and pointer tracking code 157.
  • the campaign ID 155 is used to identify an advertising campaign 142, and is preferably unique to each campaign 142, and may even be unique to each advertiser.
  • the campaign ID 155 may be, for example, the name of the advertiser or campaign, a number or alpha-numeric value identifying the advertiser, or the like.
  • the campaign ID 155 may, for example, be embedded within a file reference associated with the campaign 142, be set within a variable, be carried implicitly in the pathnames of data files 144,145, or by any other suitable manner.
  • the campaign code 154 When executed by the client computer 110, the campaign code 154 causes campaign data 142 corresponding to the campaign ID 155 to be downloaded to the client computer 110.
  • This campaign data 142 includes video data 144 and coupon data 145.
  • Video player launch code 156 launches the video player 114 to play the video data 142 as a video 124 that floats over the webpage 120.
  • the video launch code 156 may contain the URL or like of the video data 144, which would thus act as the campaign ID 155 for such video data 144, or may provide the campaign ID 155 to the campaign server 140, which then uses the campaign ID 155 to obtain and provide the corresponding video data 144.
  • the video player 114 is pre-installed on the client computer 110, and may be, for example, a Flash player as provided by a Flash plug-in 112. Any suitable video player 114 and corresponding logical configuration, however, may be used.
  • the campaign code 154 is pre-programmed to establish a communications connection between the client computer 130 and the campaign server 140.
  • the video player launch code 156 and the coupon launch code 158 may each be preprogrammed with URLs targeting the campaign server 140 for the corresponding video data 144 and coupon data 145; alternatively, the IP address of the campaign server 140, as well as the specific protocol that is to be used for communications, may be pre-programmed into the campaign code 154 to obtain the requisite data 144, 145.
  • the video player launch code 156 specifically, or the campaign code 154 generally, transmits to the campaign server 140, using the appropriate communications protocol, the campaign ID 155.
  • HyperText Transfer Protocol HTTP is used in this query between the user computer 110 and the campaign server 140 to determine if campaign data 142 related to the campaign ID 155 is available.
  • the campaign server 140 If the campaign server 140 has campaign data 142 related to the campaign ID 155, then the campaign server 140 begins streaming the related video data 144 to the client computer 110.
  • the video player launch code 156, or the video player 114 receives this video data 144 and plays it as the video 124 floating over the webpage 120. If, however, no related campaign data 142 exists, then the campaign server 140 ignores the request and no video data 144 or coupon data 145 is sent.
  • the pointer tracking code 157 when executed by the client computer 110, monitors if the pointer 119, or other user input/output (I/O) device, clicks upon the video 124, and contains code to launch the coupon form 160 if such a click occurs. Specifically, when the pointer tracking code 157 receives a signal that the video 124 has been clicked upon, the pointer tracking code 157 calls coupon launch code 158 that opens the coupon form 160 over the webpage 120, and preferably over or near the related advertisement 124. The coupon launch code 158 uses the coupon data 145 within the campaign data 142 to display an image of a coupon 162 within the coupon form 160.
  • I/O user input/output
  • this coupon data 145 is obtained from the campaign server 140, it will be appreciated that it is possible for the coupon data 145 to be obtained from a distinct coupon server.
  • the campaign code 154 causes the coupon launch code 158 to be executed only when the video 124 ends.
  • the campaign code 154 causes the coupon launch code 158 to be executed after a predetermined amount of time has elapsed.
  • the campaign code 154 causes the coupon launch code 158 to be executed when the video 124 ends or when the video 124 is clicked upon. Variations or combinations of such launching strategies may be employed.
  • the coupon launch code 158 also creates the close 164 and print 166 buttons within the coupon form 160, and tracks whether the pointer 119, or other user I/O device, clicks upon either of these buttons 164, 166. If the pointer 119 clicks upon the close button 164, or if the webpage 120 is refreshed, such as when the user redirects to another webpage, then the coupon launch code 158 may close the coupon 160. In alternative embodiments, the coupon launch code 158 may keep the coupon 160 open if the webpage 120 is refreshed, however, thus giving the user the ability to eventually print the coupon 162 even while continuing on to other websites.
  • the coupon launch code 166 interfaces with the operating system of the client computer 110 in a known manner to cause the coupon image 162, or a derivative of the image 162, to be sent to a printer driver installed on the client computer 110 to effect printing of the coupon 162.
  • the coupon launch code 158 builds on top of the print functionality offered by the Flash plug-in 112 and the browser 116.
  • the print function provided may be basic in terms of the services or formats offered. However, it will be appreciated that extra processing may be performed to the coupon data 145, such as that used to display the coupon 162, to conform to predetermined constraints; such modified data may then be sent to the printer driver function to effect printing.
  • This printer driver controls a printer communicatively connected to the client computer 110 to generate the actual hard copy of the coupon 162 using such data.
  • the user of the client computer 110 can obtain a hard copy of the coupon 162 and redeem this coupon 162 at a store, an e-commerce website or the like.
  • the coupon launch code 158 then closes the coupon form 160.
  • Fig. 10 is a flow chart of one embodiment of the campaign code 154, including the video player launch code 156, the video player 114, pointer tracking code 157 and coupon launch code 158.
  • the client computer 110 extracts the campaign ID 155 and provides this campaign ID 155 to the campaign server 140. If no related campaign data 142 is present then there is nothing further to do for that particular webpage 120, and the routine 154 ends. On the other hand, if related campaign data 142 is found, then the client computer 110 accepts the related coupon data 145 and the streaming video data 144 and uses the video data 144 to play the video 124 for that advertising campaign.
  • the video 124 is permitted to play while monitoring the pointer 119, or any other suitable user I/O device, to determine if the video 124 has been clicked upon.
  • the advertisement routine 154 may only respond to a click after the respective video 124 has completed playing. In other embodiments, however, the advertisement routine 154 will respond to a click upon the respective video 124 at any time.
  • the client computer 110 launches the coupon form 160 and displays the coupon 162 using the coupon data 145 received from the campaign server 140.
  • the client computer 110 then waits until either the webpage 120 is refreshed, the close button 164 is clicked or the print button 166 is clicked. In this embodiment, each of these events will cause the coupon form 160 to close. However, if the print button 166 is clicked, the coupon 162 is also printed. The routine 154 then terminates.
  • the campaign code 154 will cause the computer 110 to redirect to a webpage associated with the coupon 162.
  • This webpage may enable the user to purchase the goods or services being promoted by the coupon 162, as well as having a code associated with the coupon 162 pre-filled so that the user may make use of the coupon 162 at that website.
  • the website directed to may have a shopping cart loaded both with the advertised good/service, as well as with the appropriate coupon code; hence, the user need simply check-out to pay and receive the discount offered by the coupon 162.
  • such a website may have code within the shopping cart code that will identify the shoppers that arrive to the page by clicking on the coupon and will provide such users a special price.
  • the user may print the coupon 162, in which the coupon 162 includes a code number.
  • the user may enter the code number printed on the coupon in order to receive the discount.
  • Fig. 11 illustrates an embodiment campaign server 140.
  • the campaign server 140 is preferably capable of transmitting several gigabytes of video data 144 per second.
  • the campaign server 140 will include one or more processors connected both to memory and input/output devices, such as networking hardware.
  • the memory working, permanent or both, stores software in the form of instructions executable by the one or more processors, and these instructions, when executed, provide the functionality of the campaign server 140, including the functions described in the following, such as a campaign database 141, a client query interface 148 and a campaign data server 149. Coding such functions in software should be well within the means of one of ordinary skill, after having the benefits of the instant disclosure.
  • the campaign server 140 may be provided by a plurality of computer systems, such as blade servers or the like, working together as the campaign server 140, and the software may be so provided.
  • the campaign server 140 includes a client query interface 148 that is used to communicate with the client computer 110 to accept the campaign ID information 155 and provide the corresponding campaign data 142 in response.
  • the campaign server 140 continuously listens on the client query interface 148 for video 144 requests, coupon data 145 requests, and their associated campaign IDs 155, video or coupon identifiers, URLs, or combinations thereof.
  • the campaign server 140 includes a campaign database 141 of video data 144 and coupon data 145.
  • the campaign database 141 associates together the video data 144, a campaign ID 143 and the coupon data 145. For example, by presenting a campaign ID 143, the campaign database 141 can provide related video data 144 and coupon data 145.
  • the campaign database 141 may simply be a plurality of data files 144,145, and the campaign ID 143 for a file 144,145 could simply be the URL to that file 144,145.
  • Databases such as the campaign database 141 are well-known in the art, and implementing such a database 141 is well within the means of one of ordinary skill.
  • the campaign server 140 upon receiving a campaign ID 155, searches the campaign database 141 for corresponding campaign data 142.
  • the campaign server 140 parses the associated campaign ID 143, looking for a match with the campaign ID 155 provided by the client computer 110.
  • the campaign server 140 then signals back to the client computer 110, via the client query interface 36, information indicating whether or not a match was found in the campaign database 141.
  • the campaign server may employ the RTMP protocol and HTTP if RTMP is unavailable.
  • the campaign server 140 queries the database 141 located on the server 140 and sends the data 144,145 or both as a response to the request made by a client 110 connection using the same protocol.
  • the campaign server 140 then sends back video-related data that includes information for the client computer 110 to play the video 124.
  • video-related data may include the video data 144 used to display the video 124, a session hash, a video ID, a video path, and video metadata such as video size, client-side configurable data such as a video click- through URL, the volume for the video 124, etc.
  • Some or all of the video-related data may be passed over an HTTP connection.
  • the multimedia server 140 may then begin streaming the video data 142.
  • Preferred embodiments employ Rich Text Messaging Protocol (RTMP) to stream videos 124, and hence open a suitable connection between a data server 149 and the client computer 110 to provide the video data 144 stream.
  • RTMP Rich Text Messaging Protocol
  • the campaign server 140 may employ another connection, such as an HTTP connection, to stream the video data 144.
  • the campaign server 140 may then also provide the coupon data 145 to the client computer 110, using, for example an RTMP protocol if available or through an HTTP connection if the RTMP connection is unavailable.
  • the campaign server 140 may not send any information relating to playing the video 124 and instead may close the connection, which may signal that no related campaign data 142 is available. In other embodiments, the campaign server 140 may explicitly signal to the client computer 110 that no matching campaign data 142 is present. In preferred embodiments, the client computer 110 and the campaign server 140 also send and receive data based on various events, such as video 124 start, video 124 stop, etc., using the client query interface 148, which may be done using, for example, the HTTP protocol.
  • the campaign ID 155 is used to search for and obtain the related campaign data 142.
  • the campaign server 140 may listen on the client query interface 148 for specific file requests, such as for a specific video data file 144 or a specific coupon data file 145; the URL or similar identifier for such a file request may be thought of as the campaign ID 143,155 for that file 144,145.
  • the campaign server 140 may listen on the client query interface 148 for coupon data 144 queries.
  • the query may contain the URL, pathname, identifier or the like for the desired coupon data 145, or may contain the campaign ID 155 for the coupon data 145.
  • the campaign server 140 If such coupon data 145 is available, the campaign server 140 so signals to the client computer 110, which may be in a manner similar to that used for the video data 144 discussed above. The campaign server 140 then sends the related coupon data 145 to the client computer 110 via the campaign data server 149. A similar procedure may be employed to serve the video data 144 as well.
  • the campaign server 140 may be provided by two separate systems, each with its own IP address and database for serving the video data 144 and the coupon data 145, respectively.
  • the advertisement code 154 may be configured to query the video server for video data requests, and separately query the coupon server for coupon data requests.
  • preferred embodiments incorporate both the video data 144 and coupon data 145 within the same server 140 and corresponding campaign database 141; thus, only a single server 140, and hence the same IP address, need be queried for both types of data.
  • Fig. 17 is a flow chart of an embodiment promotion method according to another aspect of the present invention.
  • Fig. 12 illustrates a system capable of performing the embodiment promotion method shown in Fig. 17.
  • the system includes an online retail server 250, a promotion server 290, and a client computer 210, all of which are in communications with each other via the Internet 205.
  • the retail server 250 employs code 270 to support a virtual shopping cart model to facilitate the ordering of products from the retail server 210.
  • the shopping cart code 270 may be hosted by the retail server 250, or may be provided by references to another server that contains the code 270 to support the shopping cart, as known in the art.
  • the retail server 250 further includes or references promotion code 272 to support an embodiment promotion method. This promotion code 272 may be provided as part of the code 270 that supports or references the shopping cart model.
  • Shopping cart software 270 is known and allows online shopping customers 210 to collect items in a virtual cart, which is a webpage where all selected items 241, 236 are listed. Upon checkout, the software 270, 230 typically calculates a total for the order, including shipping and handling (i.e. postage and packing) charges and the associated taxes, as applicable. Simple shopping carts 270, 230 simply allow for an item to be added to a basket to start a checkout process (e.g. the free PayPal shopping cart), but most shopping cart software 270, 230 actually provides additional features that an Internet merchant 250 uses to fully manage an online store 250.
  • shipping and handling i.e. postage and packing
  • Simple shopping carts 270, 230 simply allow for an item to be added to a basket to start a checkout process (e.g. the free PayPal shopping cart), but most shopping cart software 270, 230 actually provides additional features that an Internet merchant 250 uses to fully manage an online store 250.
  • Data is normally stored in a database 280 and accessed in real time by the software 270, 230.
  • Shopping cart software 270, 230 typically includes two components: 1. Storefront: the area of the Web store that is accessed by visitors 210 to the online shop 250. Categories, products, and other pages (e.g. search, best sellers, etc.) are dynamically generated by the software based on the information saved in the store database 280. 2. Administration: the area of the Web store 250 that is accessed by the merchant to manage the online shop 250. The amount of store management features changes depending on the sophistication of the shopping cart software 270, but in general a store manager is able to add and edit products, categories, discounts, shipping and payment settings, etc.
  • Order management features are also included in many shopping cart programs 270.
  • portions of the shopping cart software 270 for example those portions that are used to manage operations of the retail server 250 and dynamically generate the web pages 260 for the benefit of the client computer 210, may be present within the program code 262, for example.
  • promotion code 297 is hosted on the promotion server 290 and the promotion code 272 simply includes a reference to the code 297 stored on the promotion server 290.
  • the program code 298 in the promotion server 290 may include code that controls the networking hardware 294 to deliver to the client computer 210 a suitable version the promotion code 297 stored in the memory 296 of the promotion server 290 in response to a query from the client computer 210.
  • This is preferred, as it makes installation of the promotion code 272 a very easy task for the retail server 250. For example, in preferred embodiments only two lines of code need be inserted into the header of the retail server's 250 shopping cart code 270 to provide the full effect of the promotion code 297.
  • These lines that provide the promotion code 272 may be included in an IFrame, which allows the promotion code 272, 297 to navigate to the parent page and invoke the functionality provided by the shopping cart code 270.
  • the promotion code 272 may be activated by a query from client computer 210. It will be appreciated, however, the promotion code 272 may include all of the desired functionality - i.e., that the retail server 250 may host the promotion code 297.
  • the retail server 250 will also include webpage code 260 that permits the user 210 to browse the products offered and place desired products into the shopping cart 270.
  • the webpage code 260 thus interfaces with the shopping cart model code 270 to facilitate the browsing, selecting and purchasing of products, as known in the art.
  • the online retail server 250 may be provided by any suitable computer system, such as a blade server or the like, or by a combination of such systems that, using known networking programming techniques, appear to a remote device, such as the user computer 210, as a single, logical system 250.
  • a remote device such as the user computer 210
  • Such systems 250 typically employ memory 256 for holding program code 262 and related data, networking communications hardware 254, and a processor 252 in communications with the memory 256 and capable of controlling the networking hardware 254.
  • the program code 262 is executable by the processor 252, and when executed causes the retail server 250 to perform the various embodiment steps, as discussed herein, such as by controlling the networking communications hardware 254 to send data to remote devices and by processing data received from these remote devices.
  • Providing such program code 262 should be well within the means of one having ordinary skill in the art, after having the benefits of this disclosure. Any suitable programming language may be used to provide the program code 262.
  • the end-user computer 210 includes a processor 212 connected to memory 216 a networking hardware 214, and the memory 216 includes program code 222 executable by the processor 212, as known in the art, to provide the functionality of the client computer 210.
  • This memory 216 includes a web browser 226 that processes the webpage code 220, which may include shopping cart code 230, to render a corresponding webpage 240 on a display 218 of the client computer 210.
  • the web browser 226 may also call upon a plug-in 224, also residing within the memory 216 of the client computer 210, to assist in the processing of the web page code 220, as known in the art, to render all or portions of the webpage image
  • the webpage code 220 is provided by the retail server 250 via the web page code 260.
  • the webpage code 260 on the retail server 250 is, in preferred embodiments, dispersed throughout a plurality of files, not all of which may be present on the retail server 250 but instead present on retail server 250, possibly on the promotion server 290, as well as other third-party computers also connected to the Internet 205.
  • These files are called, referenced or otherwise incorporated by instructions within the webpage code 260 present on the retail server 250, as discussed in more detail in the following, to provide the web page code 220 that is finally executed on the end-user computer 210.
  • the webpage code 260, and the shopping cart code 270 are intended to include embodiments utilizing a single file of code 260, 270 and embodiments utilizing references to multiple files of code 260, 270 distributed across a plurality of servers.
  • Fig. 13 shows a more detailed view of an embodiment retail server 250.
  • the retail server 250 will include memory 256 that stores program code 262, one or more web pages 260, and a product database 280.
  • the memory 256 may be provided by volatile memory, non-volatile memory or combinations thereof, as known in the art.
  • the product database 280 is used to store information about a plurality of products 282, each identified by a stock-keeping unit (SKU) and having related data 284.
  • the related data 284 may store information about the respective product 282, such as an image of the product 282, a description of the product 282, the price of the product 282 and so forth.
  • the program code 262 may generate web page code 260 for delivery to, and execution on, end- user computer 210, which thus provides the web page code 220 that is finally executed on the end-user computer 210.
  • the web page code 220 When rendered on the end-user computer 210, the web page code 220 creates corresponding webpage multimedia content 240, as shown by example in Fig. 14.
  • the webpage content 240 may include information about one or more products 241, corresponding to SKUs 282, with, for example, an image 247 of the product 241, and a description 248 of the product 241 including the price of the product 241, as obtained from the related data 284 in the product database 280.
  • a button 242 or the like enables the user to select a corresponding product
  • the web page code 260 may further include code 270 to support the shopping cart model.
  • the shopping cart code 270 causes corresponding shopping cart code 230 to be loaded onto the end-user computer 210, and thus may be a sub-set of all possible shopping cart code on the retail server 250, as discussed earlier.
  • the shopping cart code 230 is called.
  • Promotion code 272 is placed within the shopping cart code 270, and thus corresponding promotion code 232 is provided on the end-user computer 210, and is called when the shopping cart code 230 is called.
  • the shopping cart code 230 may include the SKU 236 of the selected product 241, and, optionally, a retailer ID 238.
  • the retailer ID 238 may be part of the promotion code 232.
  • a specific function in the shopping cart code 230 is then called, using the SKU 236 and, optionally, the retailer ID 238, as parameters to add the selected item 241 to the shopping cart.
  • the promotion code 232 is initiated, reading the product SKU 236.
  • a query is then sent to the promotion server 290 to search a promotion database for that SKU 236. If the SKU 236 is located in the promotion database, this means that a promotion video should be played and at the end of the video the promotion server 290 may send, for example, a coupon with a promotion offer.
  • the promotion offer may use the shopping cart 230 functionality to add the offer to the shopping cart if the user chooses a promotion item by, for example, clicking upon it.
  • the promotion code 272 is linked in with the shopping cart code 270, such as with the shopping cart function to add an item to the shopping cart, or with a check-out function to pay for an item in the shopping cart
  • calling the shopping cart code 230 causes execution of the promotion code 232.
  • the promotion code 232 establishes a connection with the promotion server 290, using any appropriate protocol, via client query interface 299, and submits the retailer ID 238 and SKU 236 to the promotion server 290 as part of a query for related data, which will include a video.
  • Fig. 15 illustrates an embodiment promotion server 290.
  • the promotion server 290 includes a memory 296, which may be volatile, non-volatile or combinations of both, having program code 298 executable by one or more processors 292 to provide the functionality of the promotion server 290.
  • the program code 298 controls networking hardware 294, and employs a promotion database 300 also held within the memory 296, to cause the promotion server 290 to deliver a video to the end-user computer 210 according to the supplied SKU 236 and retailer ID 238.
  • Client query interface 299 employs any suitable networking protocol to obtain information from, and provide information to, end-user computer 210. Any suitable language may be employed for the program code 298, and one of reasonable skill in the art should be able to provide the program code 298 without undue experimentation after having the benefits of the instant disclosure.
  • the promotion database 300 may be, for example, a relational database, or any other suitable database, and may be implemented by any suitable database programming technique, in conjunction with the program code 298.
  • the promotion database 300 stores information about a plurality of retailers 310, which may be identified by the retailer ID 238. This information includes shopping cart functions 320 used by the retailer 310 for its shopping cart code 270 to support and implement its shopping cart model.
  • the information also includes one or more promotions 330, which may be identified by a respective SKU 236.
  • Each promotion includes promotion-related data 332.
  • Fig. 16 illustrates one logical embodiment of the promotion-related data 332.
  • the promotion-related data 332 preferably includes a video 334 for that promotion 330, and, optionally, information to assist tracking code 274, such as an SKU 335 for the product being promoted.
  • the data 332 may also include in addition to the video data 224 an optional coupon or form 338 listing all promotion items related to the specific retailer and product 335, which may be tracked for clicks and that uses the functionality of the shopping cart 230 to add a promoted item into the shopping cart.
  • the promotion-related data 332, and in particular the video data 334 may include a video that explains the benefits to the end-user 210 of purchasing the product or service 335 being promoted by the related promotion 330.
  • the promotion- related data 332 in the corresponding promotion 330 may include a video extolling the benefits of additional service warranties.
  • the promoted SKU 335 in the promotion-related data 332 may thus correspond to the SKU 282 of an extended warranty plan offered by the retail server 250.
  • the extended warranty information may be placed in the related coupon information 338, which may then be displayed on top of the shopping cart, for example in a form of a template overlaid on the shopping cart, providing the user an easy way to select the promotion product 335 (i.e., warranty) and place it in the shopping cart.
  • the program code 298 causes the promotion server 290 to search through the promotion database 300 to find a corresponding promotion 330.
  • a corresponding promotion 330 may be one, for example, that has a retailer 310 that matches the submitted retailer ID 238 and a promotion SKU 330 that matches the submitted product SKU 236. If a corresponding promotion 330 is found, the promotion server 290 delivers the promotion-related data 332 for that promotion 330 to the end-user computer 210, as well as the shopping cart functions 320 employed by the retailer server 250, utilizing the client query interface 299 to control the networking hardware 294 for this function.
  • the promotion-related data 332 may further include promotion constraints 336. These constraints 336 may indicate when, or when not, to provide the promotion-related data 332. For example, a featured product 335 may only be promoted for a fixed number of days, and hence the promotion constraints 336 may indicate a date range within which the promotion- related data 332 is valid. Promotion-related data 332 that fails the conditions set by the promotion constraints 336 are passed over by the server 290 and thus not forwarded to the end- user computer 210.
  • the promotion code 232 executing on the end-user computer 210 includes video player code 233 and tracking code 234, and, in certain embodiments, code to present the related coupon information 338.
  • Video player code 233, 273 may entirely code a video player, but in preferred embodiments references another file that contains a video player 228 resident on the end-user computer 210.
  • video player code 233 may cause a plug-in 21 to load that serves as a video player 228.
  • the promotion code 232 causes the video player code 233 to execute to play the video data 334 held within, or referenced by, the promotion-related data 332. That is, the video data 334 may include all information needed to play a video 245, or may contain data that instructs the end-user computer 210 where to obtain such video information, such as a reference to initiate a data stream. As a result, the video 245 begins to play within the webpage 240 on the end-user computer 210. This video 245 may explain to the user, for example, the benefits of purchasing another product 335 related to the selected product 236.
  • the video player code 233 may be, for example, code for a Flash video player or a JavaScript video player 233, and may run within a corresponding plug-in 224 on the end-user computer 210. However, any suitable video player code 233, 273 may be employed.
  • the promotion server 290 may stream the video information to the end-user computer 210, and the video data 334 may thus simply be sufficient information to initiate the stream.
  • the promotion code 232 In addition to causing the video player 233 to run, upon receipt of the promotion-related data 332, the promotion code 232 also causes tracking code 234 to execute.
  • the tracking code 234 tracks a pointer 219 controlled by the user, as well as where a user of the computer 210 clicks.
  • the video 245, or a region 246 in or around the video 245, such as any displayed coupon from the coupon code 338, may be used as a button or the like upon which the user may click to accept the promoted product 335.
  • any suitable means may be employed to permit the user of the end-user computer 210 to accept or reject the promoted product 335.
  • the promotion code 232 Upon acceptance of the promoted product 335, the promotion code 232 uses the shopping cart functions 320 for the retailer 250 previously supplied by the promotion server 290, the SKU of the promoted product 335, and the retailer ID 238, to call the appropriate shopping cart function to add the promoted product 335 to the shopping cart of the end-user 210.
  • preferred embodiments employ a Flash program for both the video player 233 and the tracking code 234.
  • this Flash program begins playing the video 245, it also tracks the pointer 219 and may further optionally send tracking information to the promotion server 290, such as start, pause, stop and play commands for the video 245 using HTTP, for example, as a transfer protocol.
  • the particular shopping cart function 230 may be activated for that product 335 to place it into the user's virtual shopping cart.
  • the tracking code 234 tracks not only whether or not the user accepts the promoted product 335, but other events as well, such as the number of times the user views the video 245, the video player controls that the user clicks for the video 245 (pause, rewind, fast forward, etc.), and so forth.
  • embodiments may support a plurality of promoted products 335, and hence the corresponding promotion related data 332 may include a plurality of promoted SKUs 335, and a corresponding plurality of data elements for video 334, coupons 338, and respective restraints 336.
  • the promotion code 232 linked to the shopping cart code 230 is activated, and seeks to find and play a corresponding video 334, 245 that encourages the user to also purchase a related product 335, such as an extended warranty for the product 236 being purchased.
  • a related product 335 such as an extended warranty for the product 236 being purchased.
  • the promotion code 232 interfaces with the virtual shopping cart 230 to automatically add the promoted item 335 to the user's virtual shopping cart 230.
  • the present invention is thus able to mimic point-of-sale sales techniques that are so successful in standard brick-and-mortar stores, but which have, to date, been sorely lacking on online stores.

Abstract

Various online advertising methods are disclosed. In one embodiment, when a user pointer hovers over a hyperlink, a related video is obtained and played over the webpage in a 'floating' manner. In another embodiment, a webpage with video is presented. When the user clicks on the video, a coupon appears that the user may print to redeem at a store, or click upon to redeem online. In yet another embodiment, when a user places a product into a virtual shopping cart, a video is played that promotes a related product. If the user accepts the related product, it is automatically placed into the user's virtual shopping cart.

Description

SYSTEMS AND RELATED METHODS FOR PROVIDING ADVERTISING CONTENT TO
ONLINE USERS
FIELD OF THE INVENTION
[0001] The present invention relates generally to Internet advertising. More particularly, the present invention discloses a system and related method for providing advertising content to online users in a manner desi 'g6n' ed to attract the attention of the online users.
BACKGROUND OF THE INVENTION
[0002] The Internet (or World Wide Web) has become a significant research tool for consumers seeking information on products and services. For purposes of the following, a "product" may be a good, a service or both. Consequently, the Internet has also become a key advertising market. How to catch and hold the interest of web-browsing consumers is a major consideration for advertisers, and the ability of one advertiser to distinguish itself from the plethora of others may lead to greater ad revenues and sales.
[0003] Advertisers have employed any number of audio and/or visual techniques to attract the interest of consumers. For example, the use of hyperlinks within a webpage to display a video is known. The drawback to this commercial distribution method is that the user must actually click upon the hyperlink to cause the video player to launch and play the video. Although such a minor action would not appear to be an insurmountable viewing barrier, the reality is that many users are simply reluctant to click on hyperlinks unless they know the hyperlink will connect them to content that they genuinely want, and this is generally not the case with advertisements.
[0004] An alternative advertising method causes a window or bubble to appear when the mouse pointer hovers over a hyperlink. This window or bubble contains related text, and "floats" above the webpage containing the hyperlink. This method is advantageous as it does not require the user to actually click upon the hyperlink to cause the window or bubble to appear. However, text is not particularly engaging, and so is easily ignored by the user.
[0005] It has been noted that consumer behavior and resultant sales on the Internet do not track comparable sales in standard brick- and-mortar stores. This is particularly true for add-on products related to a product being purchased, such as service contracts, extended warranties, subscriptions and the like. The reason for this is that when a customer purchases a product in a physical store, the sales person is able to pitch the add-on product directly to the consumer at the perfect time, the point of sale, explaining to the consumer the benefits offered by the add-on product. Such persuasive marketing influences are not, however, available on websites to date.
[0006] Accordingly, there is an immediate need for improved methods and systems for delivery of advertising content to users that is more interesting to users so as to better promote goods and services.
SUMMARY OF THE INVENTION
[0007] The present invention overcomes the drawbacks of the prior art. One aspect of the present invention discloses an advertising method that plays a video related to a hyperlink when the mouse pointer of the user hovers over the hyperlink in a webpage. The video is overlaid and played on the underlying webpage and thus does not disturb the performance or underlying appearance of the webpage.
[0008] Preferred embodiment methods of this aspect provide for the delivery of videos to a client computer. A webpage file is transmitted to a client computer. The webpage file comprises directory listings or search engine results, which are presented in the form of a list of hyperlinks. Each hyperlink corresponds to a directory listing entry or a search engine hit in the list. In response to a pointer on the client computer hovering over a hyperlink in the list of hyperlinks, a first video corresponding to the hyperlink is determined. In various embodiments, such a determination is made by correlating an advertiser with the hyperlink, such as by extracting the advertiser's identification (ID) number from the hyperlink, and by correlating within a video database each of a plurality of videos with a respective advertiser. Matching video data transmitted to the client computer is then used to cause the client computer to play the video in a window that floats over the original webpage.
[0009] In some embodiments, an embedded application within the webpage file may cause the client computer to download all videos respectively associated with the list of hyperlinks. The client computer then plays the appropriate video when the pointer hovers over the corresponding hyperlink. In other embodiments, the embedded application requests the respective video data in response to the pointer hovering over the corresponding hyperlink and the resulting video data streaming into the client computer is played as a video. In preferred embodiments, the client computer stops playing the video when the pointer moves away from the hyperlink.
[0010] In specific embodiments the webpage contains an embedded application that is executable by the client computer. The embedded application monitors the position of the pointer to determine if the pointer is hovering over a hyperlink, obtains the advertiser-related information corresponding to a hyperlink, transmits advertiser-related information to a video server, and plays video data obtained from the video server.
[0011] In some embodiments, the scripting code also causes the client computer to display a logo in relation to each hyperlink that has a corresponding video. In specific embodiments, the logo is served by the server that provides the video data and is positioned as part of the video uploading when a match with the advertiser ID number is found.
[0012] Another aspect of the present invention discloses an advertising method that presents coupons to a user when the user clicks upon a video, which creates interaction with the advertisement. The video displays a presenter that encourages the user to click on the video to receive discounts or the like in the form of a printable coupon, click through and other options provided by a graphic template that is presented on the screen. In preferred embodiments, if the user clicks upon the coupon template, the user can be either directed to buy the discounted product in a related online store by uploading the page that presents the discounted product ready to be purchased, or the user can click on a "Print" button displayed on the coupon template and the coupon is printed and may subsequently be redeemed, for example, in a standard bricks-and- mortar store. Preferably the video presents a celebrity promoting the goods or services being advertised. The goods or services thus obtain celebrity endorsement and in this manner more consumer interest and more sales are generated for the advertised product, either at the online store or in the brick and mortar stores.
[0013] Preferred embodiment methods of this aspect provide an advertising method that employs video and coupons to generate customer interest. In certain embodiments the advertising method includes receiving webpage data at a client computer. The webpage data is processed by the client computer to create a webpage. The client computer extracts a campaign identifier from the webpage data and then transmits this campaign identifier to a campaign server to obtain corresponding advertising campaign data that includes video data and corresponding coupon template data. The campaign data is used to play a video on the display related to the product or service that is being promoted, and to display the related discount coupon. When a user clicks upon the video, the coupon template data is used to present a coupon template on the display. This coupon template can then either be clicked upon to reach the related point of sale page for the product/service so that the user can buy it online, or the coupon can be printed and presented by the user at brick and mortar stores when the advertised product/service is being purchased in order to receive the offered discount.
[0014] In other preferred embodiments, when the user clicks upon the video, the client computer opens a coupon form over the webpage and presents the coupon within the coupon form. In certain embodiments the coupon form includes a print button that, when clicked, causes the client computer to print the coupon. In other embodiments the coupon form also includes a close button that, when clicked, causes the coupon template to close.
[0015] In another aspect a campaign sever is disclosed. The campaign server includes a processor in communications with memory and networking hardware. The memory includes a campaign database and program code. The campaign database includes video data, coupon template data and campaign identifier information. The program code is executable by the processor to serve video and coupon data to a client computer according to requests received from the client computer. In particular, the campaign server accepts a campaign identifier from the client computer and utilizes the campaign database and the campaign identifier to find related video data and coupon template data within the campaign database. This related video data and coupon template data is then transmitted to the client computer. In preferred embodiments, the coupon template data contains information to print a coupon on a printer that can be accepted at a store, and also contains information for redirecting a computer to a third-party server associated with the coupon so that the coupon may be redeemed via a purchase at an online store.
[0016] In other embodiments of this aspect, the campaign server may serve a specific campaign video based upon a campaign identifier or video identifier, and further serve specific coupon data based upon a coupon identifier. [0017] In yet another aspect, an advertising method and related systems are disclosed that provide point-of-sale advertising to a consumer for a product related to the product being purchased. In one embodiment a method is disclosed in which, in response to a product being placed into a virtual shopping cart or being checking out in the virtual shopping cart, a client computer provides an identifier of the product to a promotion server. The promotion server includes a database that stores video that promoted products related to those being purchased. The promotion server uses the identifier to find a corresponding product-related data and provides the product-related data to the client computer. The client computer accepts the product-related data from the promotion server, which includes video information. The video information may include video data, or may include information instructing the client computer as to where the video data may be obtained. The client computer then utilizes the video information to play a corresponding video that promotes a related product. If the user indicates acceptance of the related product, the client computer then adds the related product to the virtual shopping cart.
[0018] In preferred embodiments, the client computer will also accept information about the virtual shopping cart from the promotion server and utilize the information about the virtual shopping cart to add the related product to the virtual shopping cart.
[0019] A system in accordance with the above method is also disclosed. The system includes a first processor, networking hardware in communications with the first processor and controllable by the first processor, and memory in communications with the first processor. The memory includes first program code executable by a second processor to perform the above method steps. In the case where the client computer is the system, for example, then the first processor and the second processor are the same processor. Alternatively, the first program code may be provided to a client computer by a server, such as the promotion server or a online retail server, in which case the first processor and second processor would be different processors.
BRIEF DESCRIPTION OF THE DRAWINGS
[0020] Fig. 1 illustrates a system according to a first embodiment method.
[0021] Fig. 2 illustrates a first embodiment webpage file. [0022] Fig. 3 is a flow chart according to a first embodiment method.
[0023] Fig. 4 illustrates a first embodiment video server.
[0024] Fig. 5 illustrates another first embodiment webpage file.
[0025] Fig. 6 illustrates a system according to a second embodiment method.
[0026] Fig. 7 illustrates a second embodiment webpage on an end-user computer.
[0027] Fig. 8 illustrates an embodiment coupon form on the end-user computer.
[0028] Fig. 9 illustrates embodiment webpage code that produces the webpage shown in Fig. 7.
[0029] Fig. 10 is a flow chart according to a second embodiment method.
[0030] Fig. 11 illustrates an embodiment advertising campaign server.
[0031] Fig. 12 is a logical diagram of a third embodiment advertising system.
[0032] Fig. 13 is a logical diagram of an embodiment retail server in the system shown in Fig. 12.
[0033] Fig. 14 illustrates an embodiment webpage as presented on an end-user computer according to a third embodiment advertising method.
[0034] Fig. 15 is a logical diagram of an embodiment promotion server in the system shown in Fig. 12.
[0035] Fig. 16 is a logical diagram of embodiment promotion-related data passed to an end-user computer in response to a query from promotion code on the end-user computer provided by the retail server.
[0036] Fig. 17 is a flow chart of an embodiment promotion method according to the third embodiment advertising method. [0037] Fig. 18 is a logical diagram of an embodiment end-user computer in the system shown in Fig. 12.
DETAILED DESCRIPTION
[0038] For purposes of the following disclosure, the terms "program code," "code," "script," "scripting code" or the like are intended to mean any machine readable set of logical instructions that causes a computer to perform certain specified tasks. Hence, program code may include, for example, machine language and assembly language. It is also intended to more broadly include, however, other logical languages, such as C++, the .NET framework, JavaScript, Flash, HTML and so forth. The terms "run," "execute," "process" and the like are intended to mean that a computer processes the logical instructions present in code to perform the steps indicated by that code. Execution of code may be direct, as with machine code, or may be indirect, as with code that is interpreted (such as HTML), compiled (such as C++) or both (such as Java).
[0039] In the following, the term "click" includes that action in which a pointer, typically directed by a user, is placed over a location and then a button associated with the pointer is pressed to generate the "click," which is a well-known input format used to indicate selection of an item. However, for purposes of the following, the term "click" is further meant to indicate any action by a user that indicates selection of an item. For example, by pressing or tapping upon a touch- sensitive screen, a "click" may be generated. Voice commands may also generate a "click."
[0040] Fig. 1 illustrates an embodiment system capable of performing an embodiment advertising method according to a first aspect of the present invention. The system includes a search engine server 30, a directory listings server 40, a video data server 50 and a client computer 10, all of which are in communications with the Internet. The search engine server 30 receives a search request from the client computer 10 in a standard manner, typically in the form of one or more key words, and in response generates a search engine results webpage 32. Similarly, the directory listings server 40 may receive a directory listings request from the client computer 10, typically when the client clicks on a related hyperlink or enters a keyword, and in response generates a directory listings webpage 42. [0041] Both the search engine results webpage 32 and the directory listings webpage 42, although presenting different types of information, are similar in form in that they present their respective types of information in textual form, typically as a sorted list; this results list (i.e., the search engine results or directory listings) may be sorted, for example, by a perceived relevance, as with the search engine server 30, or alphabetically, as with the directory listings server 40. In both cases, though, the sorted lists are in the form of hyperlinks, which present textual information to the user, and which may be clicked upon by the user of the client computer 10 for redirection to a related webpage, in a standard manner. Each webpage 32, 42 may be generated in a standard manner, but augmented as discussed below to support an embodiment advertising method.
[0042] Fig. 2 illustrates an embodiment webpage file 60 that generally represents either one of the search engine results webpage 32 or the directory listings webpage 42. In response to a standard search request to the search engine 30, or a directory listings request to the directory listings server 40, from the client computer 10, the respective server 30, 40 generates the webpage file 60 and transmits the webpage file 60 to the client computer 10. The client computer 10 contains a web browser 16 that processes the webpage file 60 to display a corresponding webpage image 20 within a visual window 22 on a display 18 of the client computer 10, as known in the art. The webpage image 20 contains a plurality of hyperlinks 24 that each corresponds to a directory listing entry or a search engine hit as coded within the webpage file 60. Additionally, the webpage file 60 contains code that tracks a pointer 21 and causes the client computer 10 to play a related video 26 when the pointer hovers over a hyperlink 24. Hence, the search engine server 30 and the directory listings server 40 may each respectively augment a standard search results webpage 14 or directory listings webpage 42 by simply including the tracking code 66. The video 26 is overlaid on the webpage image 20, and so does not interfere with the webpage image 20.
[0043] In the embodiment webpage file 60, the webpage file 60 contains standard scripting code, such as HTML 62, that encodes the results list for the webpage image 20 on the end-user computer 10, and includes hyperlink code 64 that corresponds to the displayed hyperlinks 24. Each hyperlink 24 corresponds to a search engine hit, or a directory listing entry, depending upon which server 30, 40 provided the webpage file 60. A search engine hit may be, for example, a hyperlink 24 to another webpage that contains the keywords entered by the user of the client computer 10 when requesting a search. A directory listing entry may be a hyperlink 24 to the website of a product or service provider within the class of products or services that the user of the client computer 10 is interested in browsing within. The webpage file 60 also contains tracking code 66 that tracks the position of the pointer 21 and calls player launch code 68 when the pointer 21 hovers over a hyperlink 24. The player launch code 68 causes the client computer 10 to launch a video player and to play the video 26 that corresponds to the hyperlink 24 over which the pointer 21 is hovering. By way of example, the tracking code 66 could be JavaScript, Flash, or any other suitable programming language, or could be provided by various modules, each written in a respective coding language that can call other modules. As known in the art, each language may be supported by a corresponding plug-in 12 on the client computer 10 that processes the tracking code 66 according to the language type of the tracking code 66. In preferred embodiments the video player is installed on the client computer 10, and may be, for example, a Flash player.
[0044] It will be appreciated by those of reasonable skill that the tracking code 66 may, in various embodiments, simply be a reference to another file, which is then downloaded and processed by the plug-in 12. For example, the tracking code may be an HTML script that calls a JavaSript program. For purposes of the following, a reference to another file, such as described, that contains the code is considered equivalent to actually placing the code itself into the webpage file 60, and so for purposes of simplicity, the following disclosure treats the tracking code 66 as being within the same actual file 60. Either result, placing tracking code 66 into the webpage file 60 itself, or placing a reference to another file that contains the tracking code 66, both result in embedding the tracking code 66 into the webpage file 60.
[0045] When the client computer 10 downloads and processes the webpage file 60, the client computer 10 renders the webpage image 20 on top of the page, and also calls the requisite plug- in 12 to begin executing the embedded tracking code 66. Fig. 3 is a flow-chart for one embodiment of the tracking code 66. Once executing, the tracking code 66 begins monitoring the position of the pointer 21 within the display 18. Each hyperlink 24 covers a respective region of the screen display 18; the pointer 21 may therefore either overlap a specific one of the hyperlinks 24, or not overlap any of the hyperlinks 24. If the pointer 21 goes from a condition of not overlapping a hyperlink 24 to overlapping a hyperlink 24, the pointer 21 may be said to be entering that hyperlink 24, and hence is hovering over the hyperlink 24. Similarly, if the pointer 21 goes from a condition of overlapping a hyperlink 24 to not overlapping the hyperlink 24, the pointer 21 may be said to be exiting that hyperlink 24. The tracking code 66 monitors whether the pointer 21 enters or exits any of the hyperlinks 24. In a preferred embodiment, the video 26 is closed (i.e., made to disappear) when the user moves the pointer 21 away from a hyperlink 24. Hence, in this embodiment, when the tracking code 66 determines that the pointer 21 is exiting a hyperlink 24, the tracking code 66 then determines if the video 26 is being displayed. If the video 26 is displayed, the tracking code shuts down the video player, which closes, and thus removes, the video 26. It will be appreciated, however, that variations are possible. For example, rather than closing the video 26 when the pointer 21 exits a hyperlink 24, the tracking code 66 could continue to let the video 26 play until it finishes. Or, the tracking code 66 may close the video player only when the webpage window 22 is refreshed by a new webpage, in which case new videos 26 may be played in the same video window 26 depending upon the position of the pointer 21.
[0046] If tracking code 66 determines that the pointer 21 is entering a hyperlink 24, the tracking code 66 then extracts advertiser-related information 14 from this hyperlink 24 into which the pointer 21 has entered, which may then be termed the active hyperlink 24 for the sake of brevity. In certain preferred embodiments, for example, the tracking code 66 extracts the identification (ID) number of an advertiser from the active hyperlink 24 and uses this ID number as the advertiser-related information 14. In preferred embodiments, every advertiser is assigned an ID number that has several uses relating the advertiser with different options on the webpage 20. ID numbers are typically assigned by the webpage publisher 30, 40 for each advertiser as part of the publisher's database. Preferred embodiments use this ID number to query for a related video from the video server 50 and play this as a video 26 that floats over the webpage 20.
[0047] In preferred embodiments, the tracking code 66 is pre-programmed to establish a communications connection with the video server 50. For example, the tracking code 66 may be pre-programmed with the URL of the video server 50, or the IP address of the video server 50, as well as the specific protocol that is to be used for communications. The tracking code 66 then transmits to the video server 50, using the appropriate communications protocol, the advertiser- related information 14 extracted from the active hyperlink 24. In preferred embodiments, HyperText Transfer Protocol (HTTP) is used in this initial query between the user computer 10 and the video server 50 to determine if a related video is available.
[0048] With further reference to Fig. 4, which illustrates an embodiment video server 50, the video server 50 is preferably capable of transmitting several gigabytes in video data per second. Although shown as a single element, it will be appreciated that in practice the video server 50 may be provided by a plurality of computer systems, such as blade servers or the like, working together as the video server 50. The video server 50 includes a client query interface 54 that is used to communicate with the client computer 10 to accept the advertiser-related information 14. The video server 50 continuously listens on the client query interface 54 for video search requests and their associated advertiser-related information 14. The video server 50 then searches a video database 51 for a corresponding video 52. Within the video database 51, each video 52 has associated advertiser-related information 53. The video server 50 parses the associated advertiser-related information 53, looking for a match with the advertiser-related information 14 provided by the client computer 10. The video server 50 then signals back to the client computer 10, via the client query interface 54, information indicating whether or not a match was found in the video database 51. For example, in preferred embodiments if matching video data 52 is found, the video server 50 then sends back information to the client computer 10 for the client computer 10 to play the video data 52 as a video 26. The video server 50 may then begin streaming the video data 52. Preferred embodiments employ Rich Text Messaging Protocol (RTMP) to stream videos 26, and hence open a suitable connection to provide the video data 52 stream. If the RTMP server on the video server 50 is down, the video server 50 may employ another connection, such as an HTTP connection, to stream the video data 52.
[0049] On the other hand, if no matching video data 52 is found, the video server 50 may not send any information relating to playing the video 26 and instead may close the connection, which may signal that no related video data 52 is available. In other embodiments, the video server 52 may explicitly signal to the client computer 10 that no matching video data 52 is present. In preferred embodiments, the client computer 10 and the video server 50 also send and receive data based on various events, such as video 26 start, video 26 stop, etc., using the client query interface 54, which may be done using, for example, the HTTP protocol. [0050] If the video server 50 indicates that no match is found, the tracking code 66 simply goes back to monitoring the position of the pointer 21. The tracking code 66 may also optionally save information indicating that the active hyperlink 24 has no associated video data 52, and thus may forgo another video database 51 query if the user should again hover over that same hyperlink 24. Such information may be flushed each time the webpage image 20 is refreshed. However, if the video server 50 indicates that a match was found, the tracking code 66 then calls player launch code 68. The player launch code 68 plays video 26. This video 26 is overlaid on and floats over the original webpage window 22, and hence does not interfere with the contents 20 of the webpage window 22. The video 26 may be positioned over or near the active hyperlink 24 to indicate to the user that the video 26 is associated with the active hyperlink 24. To play the video 26, the player launch code 68 starts a video player program. The video player establishes a connection with the video server 50 to obtain the video data 52 corresponding to the advertiser- related information 14. The video server 50 streams the related video data 52, such as through an RTMP connection, to the client computer 10, and the video player reads this video data 52 to play the corresponding video 26. When the video 26 ends, the player launch code 68 may, depending upon the implementation chosen, close the video player, or may leave and the video player running for the user to again view the video 26, if so desired.
[0051] As described above, in preferred embodiments when the pointer 21 exits the active hyperlink 24, the tracking code 66 causes the video player, and hence video 26, to close. Because the video 26 floats over the webpage window 22, the webpage image 20 is not disturbed by either the opening or the closing of the video 26. If the pointer 21 should then hover over another of the hyperlinks 24, the process above will repeat, with a new video 26 playing over or near this newly-active hyperlink 24.
[0052] In other embodiments, rather than parsing the hyperlinks 64 in response to the pointer 21 entering a hyperlink 24, the tracking code 66 may instead parse all of the hyperlinks 64 for the related advertiser-related information 14 and send corresponding queries to the video server 50. For example, once the webpage 22 is loaded, the tracking code 66 may immediately begin sending to the video server 50 a plurality of video queries, one for each hyperlink 24. The video server 50 may respond to each of these queries by streaming the related video data 52. However, in such embodiments, the tracking code 66 may then only begin playing this video data 52 as a video 26 when the pointer 21 floats over the corresponding hyperlink 24.
[0053] Various embodiments benefit the directory listing website 40 and the search engine websites 30, as well as the advertising companies and the end user 10 that is looking for the right product. The existing directory listings 40 and the search engine 30 can present their web pages 32, 42 in a standard manner, but simply augment them with the tracking code 66 to quickly and easily provide related embedded video advertising. All the advertisers that appear on the listing 42 and search engine 32 web pages look the same (being only of text and hyperlinks 24) and consequently the user mostly chooses to review the offers on the first few websites that are displayed at the top of the list. The various embodiment advertising methods, however, allow the search engine's 30 and directory listing server's 40 advertisers to add a respective special video 52 that plays when the user's mouse hovers over a specific advertiser's hyperlink 24, with no need to click on the hyperlink 24 to play the video 52. The video 26 runs automatically, presenting the special products, offers, and services that are specific and unique for this advertising company. The video 26 may, for example, encourage the user to click on the hyperlink 24 and review the advertising company's website. The added video 26 may therefore promote the advertiser's website even more forcefully than the mere position of the hyperlink 24 in the list of advertisers on the webpage image 20.
[0054] Today, search engines 30 are paid per click by advertisers that bid on the highest position on the list 62 in their category. Using video as part of the advertisers' promotion on the search engine page 32 and directory listings page 42 will create more revenue for the directory listings 40 and the search engine 30, since end users 10 will be more interested in clicking upon the website hyperlink 24 that is promoted by video 26 to view the offers presented by the advertising companies.
[0055] Directory listings 40 and search engines 30 websites typically have a section in their respective web pages 42, 32 to display non-paying advertisers. These non-paying advertisers may be termed organic traffic, and the positioning of the organic traffic in the list 62 is generally based upon popularity. The directory listings server 40 and the search engine server 30 lists these advertising companies as a service to the end user 10 without being paid for this service. With the various embodiments, however, non-paying advertisers will be interested in the new and additional service feature, the video presentation of their websites, as a way to entice more users to click on their respective hyperlink 24 and visit their website. The directory listings server 40 and search engine server 30 will thus have a way to charge these advertising companies for the promotional video service.
[0056] In light of the above, certain embodiments provide for the search engine server 30 or the directory listings server 40 to change the formatting of the hyperlink list 62 to indicate which advertisers in the list 62 have a corresponding video 52. Fig. 5 illustrates an embodiment webpage file 70 representative of an embodiment search results webpage 32 or directory listings webpage 42 as provided by a respective embodiment search engine server 30 or directory listings server 40. While generating the webpage 70, the server 30, 40 may iterate through each hyperlink 72, extracting and supplying the corresponding advertiser-related information to the client query interface 54 of the video server 50. If the video server 50 responds that a corresponding video 52 is present within the video database 51, the server 30, 40 may insert into the scripting code 71 logo data 73 associated with that hyperlink 24; if no video 52 is present, the logo data 73 is omitted for that hyperlink 72.
[0057] The logo data 73 causes the web browser 16 to insert a logo 28 or the like next to a corresponding hyperlink 24, thereby informing the user that video data 52 is present for that hyperlink 24 and may be viewed as a video 26 if the user simply hovers the pointer 21 over the hyperlink 24. The webpage file 70 also includes tracking code 74 and player launch code 76 to monitor the pointer 21 and play the appropriate video 52 as described above.
[0058] In other embodiments, the tracking code 74 may itself query the video server 50 for each of the hyperlinks 72 to determine if a logo 28 should be placed in the webpage image 20. The logo 28 therefore need not be part of the scripting code 71. If the video server 50 determines that related video data 52 is available, the video server 50 may provide corresponding logo data to the tracking code 74, and the tracking code 74 may use the logo data to create a logo image 28 on or over the webpage image 20 near the related hyperlink 24.
[0059] Fig. 6 illustrates another embodiment system capable of performing an embodiment advertising method according to another aspect of the present invention. The system includes a webpage publisher 130, an advertising campaign server 140, and a client computer 110, all of which are in communications with each other via the Internet 105. The webpage publisher 130, when requested by the client computer 110, provides webpage code 150 to the client computer 110. The client computer 110 includes a processor connected to memory, and the memory includes program code executable by the processor, as known in the art, to provide the functionality of the client computer 110. This memory includes a web browser 116 that processes the webpage code 150 to render a corresponding webpage 120 on a display 118 of the client computer 110. The web browser 116 may also call upon a plug-in 112, also residing within the memory of the client computer 110, to assist in the processing of the webpage code 150, as known in the art, to render all or portions of the webpage image 120. Although shown as a single unit or file in the figures, it will be appreciated that the webpage code 150 is, in preferred embodiments, dispersed throughout a plurality of files, not all of which may be present on the webpage publisher 130 but instead present on the campaign server 140 as well as other third-party computers also connected to the Internet 105. These files are called, referenced or otherwise incorporated by instructions within the webpage code 150 present on the webpage publisher 130, as discussed in more detail in the following. Hence, the webpage code 150 is intended to include embodiments utilizing a single file of code 150 and embodiments utilizing multiple files of code 150 distributed across a plurality of servers.
[0060] Fig. 7 illustrates one embodiment of the webpage image 120, which is encoded by the webpage code 150 further illustrated in Fig. 9. The webpage image 120 will typically include primary content 122, which is the content 122 that the user of the client computer 110 is primarily interested in. The primary content 122 may also include, for example, banner ads, commercials and the like. When the webpage code 150 is processed by the client computer 110, the webpage code causes campaign data 142 to be downloaded from the campaign server 140, which contains video and coupon data. Using this video data and a video player 114 resident on the client computer 110, the client computer 110 causes a video 124 to appear over the primary content 122. In preferred embodiments, the video player 114 is a Flash player, and is part of a Flash player plug-in 112 installed on the client computer 110. In preferred embodiments, the video 124 presents a celebrity promoting the goods or services of an advertiser, and the video 124 "floats" over the primary content 122. The related plug-in 112 may track scrolling events within the webpage 120 to keep the video 124 positioned within a predetermined location on the screen 118.
[0061] When a click is generated for this video 124, such as via pointer 119, the coupon data is used to present a coupon form 160 on the display 118. In some embodiments, the coupon form 160 may also be shown on the display 118 when the video 124 finishes playing, even if there was no click upon the video 124. The coupon form 160 presents a coupon 162 that may be redeemed, for example, in stores or at e-commerce websites. The coupon form 160 may appear, for example, over the webpage 120, preferably near the video 124. In preferred embodiments, the coupon form 160 includes a close button 164 and a print button 166. When the close button 164 is clicked, the coupon form 160 disappears or closes. When the print button 166 is clicked, the webpage code 150 causes the client computer 110 to print out the coupon 162 on a printer connected to the client computer 110 (not shown), thus providing a hard copy of the coupon 162. In other embodiments, when clicked, the coupon form 160 directs the client computer 110 to a server for the goods or services advertised in the coupon 162 so that the coupon 162 may be redeemed at an e-commerce website. The webpage redirected to may be pre-loaded with the goods or services being promoted, as well as with the coupon 162 code, so that the end-user at the client computer 110 can immediately purchase the goods/services with the coupon 162 discount, without needing to enter any data or perform any other additional steps, except to check-out the goods/services to pay for them.
[0062] To this end, various embodiments of the webpage code 150 include content code 152 and campaign launch code 153. When rendered, the content code 152 provides the primary content 122 of the webpage 120, whereas the campaign launch code 153 calls other files to provide the functionality of the videos 124 and coupon forms 160. To provide for ease of installation and use for the webpage publisher 130, minimal amounts of launch code 153 are needed on the webpage publisher side 130 to implement the desired functionality; hence the webpage publisher 130 may simply take the webpage code 150 as-is and simply add a small bit of additional launch code 153 to provide embodiment advertising functions. The campaign launch code 153 calls corresponding campaign code 154, which in preferred embodiments is stored on the campaign server 140, and the campaign code 154 then performs the steps necessary to launch the video 124 and coupon form 160 for a particular campaign 142 associated with a campaign identifier (ID) 155. For example, in preferred embodiments the campaign launch code 154 is in the form of HTML code that calls a JavaScript file 154 on the campaign server 140. The JavaScript file 154 in turn causes the Flash video 124 to play and uses Flash to display the coupon form 160. Example campaign launch code 153 could look like this:
<script> var sid='82161242827b703e6acf9c726942ale4'; The campaign ID var Cid='d67d8ab4f4clθbf22aa353e27879133c'; The associated coupon ID var swfheight=310; height of the flash movie var swfwidth=450; width of the flash movie var cAutoShow="20000"; a timeout in milliseconds. Coupons will be automatically displayed after the timeout var cheight=220; height of coupon var cwidth=340; width of coupon var positionstr=' right:0px; bottom:0px;'; sets the position of the Flash movie var playmethod='hover'; the event which triggers the video to start var elementld=' standalone'; optional. If set specifies which element in the html will trigger the video start. </script> <script type= 'text/javascript' src='http://www.CampaignServer.com/votf/global/global.js'> loads another file which sets up the Flash player based on the above parameters.
[0063] As indicated by the comments in the code above, the variable "sid" may be used, for example, as the campaign ID 155, which is subsequently used by video launch code 156 and coupon launch code 158 to create the video 124 and the coupon form 160. Hence, although the campaign ID 155 is shown as being part of the campaign code 154, it may also be part of the campaign launch code 153 and subsequently accessed by the corresponding campaign code 154. It will be appreciated that the campaign ID need simply be anything that is sufficient to identify a particular campaign 142 on the campaign server 140. For example, the pathname of the campaign code 154 may provide the campaign ID 155, as may the pathnames of the video data 144 of a campaign 142 and/or the coupon data 145 of the campaign 142. The variable "cid" may be used to identify a particular coupon data set 145, which may be used by the campaign code 154, such as the coupon launch code 158, to download the appropriate coupon data 145 without reference to the actual campaign ID 155. In such embodiments, the coupon data 145 within the campaign database 141 may have a related coupon identifier (not shown in Fig. 11). As indicated by the variable "cAutoShow," the campaign code 154 may also cause the client computer 110 to execute the coupon launch code 158 after a predetermined amount of time has elapsed since launch of, for example, the campaign code 154 generally or the video launch code 156 specifically. The purpose of the other variables is explained in their respective comments.
[0064] The campaign code 154 may include the campaign ID 155, and also includes video player launch code 156 and pointer tracking code 157. The campaign ID 155 is used to identify an advertising campaign 142, and is preferably unique to each campaign 142, and may even be unique to each advertiser. The campaign ID 155 may be, for example, the name of the advertiser or campaign, a number or alpha-numeric value identifying the advertiser, or the like. The campaign ID 155 may, for example, be embedded within a file reference associated with the campaign 142, be set within a variable, be carried implicitly in the pathnames of data files 144,145, or by any other suitable manner.
[0065] When executed by the client computer 110, the campaign code 154 causes campaign data 142 corresponding to the campaign ID 155 to be downloaded to the client computer 110. This campaign data 142 includes video data 144 and coupon data 145. Video player launch code 156 launches the video player 114 to play the video data 142 as a video 124 that floats over the webpage 120. In other embodiments, the video launch code 156 may contain the URL or like of the video data 144, which would thus act as the campaign ID 155 for such video data 144, or may provide the campaign ID 155 to the campaign server 140, which then uses the campaign ID 155 to obtain and provide the corresponding video data 144. In preferred embodiments the video player 114 is pre-installed on the client computer 110, and may be, for example, a Flash player as provided by a Flash plug-in 112. Any suitable video player 114 and corresponding logical configuration, however, may be used.
[0066] In preferred embodiments, the campaign code 154 is pre-programmed to establish a communications connection between the client computer 130 and the campaign server 140. For example, the video player launch code 156 and the coupon launch code 158 may each be preprogrammed with URLs targeting the campaign server 140 for the corresponding video data 144 and coupon data 145; alternatively, the IP address of the campaign server 140, as well as the specific protocol that is to be used for communications, may be pre-programmed into the campaign code 154 to obtain the requisite data 144, 145. In various embodiments, the video player launch code 156 specifically, or the campaign code 154 generally, transmits to the campaign server 140, using the appropriate communications protocol, the campaign ID 155. In preferred embodiments, HyperText Transfer Protocol (HTTP) is used in this query between the user computer 110 and the campaign server 140 to determine if campaign data 142 related to the campaign ID 155 is available.
[0067] If the campaign server 140 has campaign data 142 related to the campaign ID 155, then the campaign server 140 begins streaming the related video data 144 to the client computer 110. The video player launch code 156, or the video player 114, receives this video data 144 and plays it as the video 124 floating over the webpage 120. If, however, no related campaign data 142 exists, then the campaign server 140 ignores the request and no video data 144 or coupon data 145 is sent.
[0068] The pointer tracking code 157, when executed by the client computer 110, monitors if the pointer 119, or other user input/output (I/O) device, clicks upon the video 124, and contains code to launch the coupon form 160 if such a click occurs. Specifically, when the pointer tracking code 157 receives a signal that the video 124 has been clicked upon, the pointer tracking code 157 calls coupon launch code 158 that opens the coupon form 160 over the webpage 120, and preferably over or near the related advertisement 124. The coupon launch code 158 uses the coupon data 145 within the campaign data 142 to display an image of a coupon 162 within the coupon form 160. Although in preferred embodiments this coupon data 145 is obtained from the campaign server 140, it will be appreciated that it is possible for the coupon data 145 to be obtained from a distinct coupon server. In other embodiments, the campaign code 154 causes the coupon launch code 158 to be executed only when the video 124 ends. In yet other embodiments, the campaign code 154 causes the coupon launch code 158 to be executed after a predetermined amount of time has elapsed. In yet other embodiments, the campaign code 154 causes the coupon launch code 158 to be executed when the video 124 ends or when the video 124 is clicked upon. Variations or combinations of such launching strategies may be employed.
[0069] The coupon launch code 158 also creates the close 164 and print 166 buttons within the coupon form 160, and tracks whether the pointer 119, or other user I/O device, clicks upon either of these buttons 164, 166. If the pointer 119 clicks upon the close button 164, or if the webpage 120 is refreshed, such as when the user redirects to another webpage, then the coupon launch code 158 may close the coupon 160. In alternative embodiments, the coupon launch code 158 may keep the coupon 160 open if the webpage 120 is refreshed, however, thus giving the user the ability to eventually print the coupon 162 even while continuing on to other websites. If the print button 166 is clicked, the coupon launch code 166 interfaces with the operating system of the client computer 110 in a known manner to cause the coupon image 162, or a derivative of the image 162, to be sent to a printer driver installed on the client computer 110 to effect printing of the coupon 162. For example, in preferred embodiments that employ Flash to present that coupon form 160, the coupon launch code 158 builds on top of the print functionality offered by the Flash plug-in 112 and the browser 116. The print function provided may be basic in terms of the services or formats offered. However, it will be appreciated that extra processing may be performed to the coupon data 145, such as that used to display the coupon 162, to conform to predetermined constraints; such modified data may then be sent to the printer driver function to effect printing. This printer driver, in turn, controls a printer communicatively connected to the client computer 110 to generate the actual hard copy of the coupon 162 using such data. In this manner, the user of the client computer 110 can obtain a hard copy of the coupon 162 and redeem this coupon 162 at a store, an e-commerce website or the like. In some embodiments, once the coupon launch code 158 has caused the coupon 162 to be printed, the coupon launch code 158 then closes the coupon form 160.
[0070] Fig. 10 is a flow chart of one embodiment of the campaign code 154, including the video player launch code 156, the video player 114, pointer tracking code 157 and coupon launch code 158. In a preferred embodiment, once the webpage code 150 has been received from the webpage server 130, the client computer 110 extracts the campaign ID 155 and provides this campaign ID 155 to the campaign server 140. If no related campaign data 142 is present then there is nothing further to do for that particular webpage 120, and the routine 154 ends. On the other hand, if related campaign data 142 is found, then the client computer 110 accepts the related coupon data 145 and the streaming video data 144 and uses the video data 144 to play the video 124 for that advertising campaign. The video 124 is permitted to play while monitoring the pointer 119, or any other suitable user I/O device, to determine if the video 124 has been clicked upon. In some embodiments, the advertisement routine 154 may only respond to a click after the respective video 124 has completed playing. In other embodiments, however, the advertisement routine 154 will respond to a click upon the respective video 124 at any time.
[0071] To respond to a click upon the video 124, or perhaps a timeout event, the client computer 110 launches the coupon form 160 and displays the coupon 162 using the coupon data 145 received from the campaign server 140. The client computer 110 then waits until either the webpage 120 is refreshed, the close button 164 is clicked or the print button 166 is clicked. In this embodiment, each of these events will cause the coupon form 160 to close. However, if the print button 166 is clicked, the coupon 162 is also printed. The routine 154 then terminates.
[0072] In some embodiments, if the user of the client computer 110 clicks within the coupon form 160, such as on the coupon 162, then the campaign code 154 will cause the computer 110 to redirect to a webpage associated with the coupon 162. This webpage may enable the user to purchase the goods or services being promoted by the coupon 162, as well as having a code associated with the coupon 162 pre-filled so that the user may make use of the coupon 162 at that website. For example, in websites that employ the "shopping cart" model, the website directed to may have a shopping cart loaded both with the advertised good/service, as well as with the appropriate coupon code; hence, the user need simply check-out to pay and receive the discount offered by the coupon 162. By way of example, such a website may have code within the shopping cart code that will identify the shoppers that arrive to the page by clicking on the coupon and will provide such users a special price. Alternatively, the user may print the coupon 162, in which the coupon 162 includes a code number. When completing a purchase, the user may enter the code number printed on the coupon in order to receive the discount.
[0073] Fig. 11 illustrates an embodiment campaign server 140. The campaign server 140 is preferably capable of transmitting several gigabytes of video data 144 per second. As known in the art, the campaign server 140 will include one or more processors connected both to memory and input/output devices, such as networking hardware. The memory, working, permanent or both, stores software in the form of instructions executable by the one or more processors, and these instructions, when executed, provide the functionality of the campaign server 140, including the functions described in the following, such as a campaign database 141, a client query interface 148 and a campaign data server 149. Coding such functions in software should be well within the means of one of ordinary skill, after having the benefits of the instant disclosure. Although shown as a single element, it will be appreciated that in practice the campaign server 140 may be provided by a plurality of computer systems, such as blade servers or the like, working together as the campaign server 140, and the software may be so provided.
[0074] The campaign server 140 includes a client query interface 148 that is used to communicate with the client computer 110 to accept the campaign ID information 155 and provide the corresponding campaign data 142 in response. The campaign server 140 continuously listens on the client query interface 148 for video 144 requests, coupon data 145 requests, and their associated campaign IDs 155, video or coupon identifiers, URLs, or combinations thereof.
[0075] The campaign server 140 includes a campaign database 141 of video data 144 and coupon data 145. The campaign database 141 associates together the video data 144, a campaign ID 143 and the coupon data 145. For example, by presenting a campaign ID 143, the campaign database 141 can provide related video data 144 and coupon data 145. Alternatively, the campaign database 141 may simply be a plurality of data files 144,145, and the campaign ID 143 for a file 144,145 could simply be the URL to that file 144,145. Databases such as the campaign database 141 are well-known in the art, and implementing such a database 141 is well within the means of one of ordinary skill. In preferred embodiments, upon receiving a campaign ID 155, the campaign server 140 searches the campaign database 141 for corresponding campaign data 142. The campaign server 140 parses the associated campaign ID 143, looking for a match with the campaign ID 155 provided by the client computer 110. The campaign server 140 then signals back to the client computer 110, via the client query interface 36, information indicating whether or not a match was found in the campaign database 141. In preferred embodiments, for example, the campaign server may employ the RTMP protocol and HTTP if RTMP is unavailable. The campaign server 140 queries the database 141 located on the server 140 and sends the data 144,145 or both as a response to the request made by a client 110 connection using the same protocol. For example, in preferred embodiments, if matching campaign data 142 is found, the campaign server 140 then sends back video-related data that includes information for the client computer 110 to play the video 124. Such video-related data may include the video data 144 used to display the video 124, a session hash, a video ID, a video path, and video metadata such as video size, client-side configurable data such as a video click- through URL, the volume for the video 124, etc. Some or all of the video-related data may be passed over an HTTP connection. The multimedia server 140 may then begin streaming the video data 142. Preferred embodiments employ Rich Text Messaging Protocol (RTMP) to stream videos 124, and hence open a suitable connection between a data server 149 and the client computer 110 to provide the video data 144 stream. If the RTMP server on the campaign server 140 is down, the campaign server 140 may employ another connection, such as an HTTP connection, to stream the video data 144. The campaign server 140 may then also provide the coupon data 145 to the client computer 110, using, for example an RTMP protocol if available or through an HTTP connection if the RTMP connection is unavailable.
[0076] On the other hand, if no matching campaign data 142 is found, the campaign server 140 may not send any information relating to playing the video 124 and instead may close the connection, which may signal that no related campaign data 142 is available. In other embodiments, the campaign server 140 may explicitly signal to the client computer 110 that no matching campaign data 142 is present. In preferred embodiments, the client computer 110 and the campaign server 140 also send and receive data based on various events, such as video 124 start, video 124 stop, etc., using the client query interface 148, which may be done using, for example, the HTTP protocol.
[0077] As described above, in preferred embodiments, the campaign ID 155 is used to search for and obtain the related campaign data 142. In certain other embodiments, however, the campaign server 140 may listen on the client query interface 148 for specific file requests, such as for a specific video data file 144 or a specific coupon data file 145; the URL or similar identifier for such a file request may be thought of as the campaign ID 143,155 for that file 144,145. For example, the campaign server 140 may listen on the client query interface 148 for coupon data 144 queries. The query may contain the URL, pathname, identifier or the like for the desired coupon data 145, or may contain the campaign ID 155 for the coupon data 145. If such coupon data 145 is available, the campaign server 140 so signals to the client computer 110, which may be in a manner similar to that used for the video data 144 discussed above. The campaign server 140 then sends the related coupon data 145 to the client computer 110 via the campaign data server 149. A similar procedure may be employed to serve the video data 144 as well. Although shown as a single system 140, it will be appreciated that in certain embodiments the campaign server 140 may be provided by two separate systems, each with its own IP address and database for serving the video data 144 and the coupon data 145, respectively. In such embodiments, the advertisement code 154 may be configured to query the video server for video data requests, and separately query the coupon server for coupon data requests. However, preferred embodiments incorporate both the video data 144 and coupon data 145 within the same server 140 and corresponding campaign database 141; thus, only a single server 140, and hence the same IP address, need be queried for both types of data.
[0078] Fig. 17 is a flow chart of an embodiment promotion method according to another aspect of the present invention. Fig. 12 illustrates a system capable of performing the embodiment promotion method shown in Fig. 17. The system includes an online retail server 250, a promotion server 290, and a client computer 210, all of which are in communications with each other via the Internet 205. The retail server 250 employs code 270 to support a virtual shopping cart model to facilitate the ordering of products from the retail server 210. The shopping cart code 270 may be hosted by the retail server 250, or may be provided by references to another server that contains the code 270 to support the shopping cart, as known in the art. In addition to the shopping cart code 270, the retail server 250 further includes or references promotion code 272 to support an embodiment promotion method. This promotion code 272 may be provided as part of the code 270 that supports or references the shopping cart model.
[0079] Shopping cart software 270 is known and allows online shopping customers 210 to collect items in a virtual cart, which is a webpage where all selected items 241, 236 are listed. Upon checkout, the software 270, 230 typically calculates a total for the order, including shipping and handling (i.e. postage and packing) charges and the associated taxes, as applicable. Simple shopping carts 270, 230 simply allow for an item to be added to a basket to start a checkout process (e.g. the free PayPal shopping cart), but most shopping cart software 270, 230 actually provides additional features that an Internet merchant 250 uses to fully manage an online store 250. Data (products, categories, discounts, orders, customers, etc.) is normally stored in a database 280 and accessed in real time by the software 270, 230. Shopping cart software 270, 230 typically includes two components: 1. Storefront: the area of the Web store that is accessed by visitors 210 to the online shop 250. Categories, products, and other pages (e.g. search, best sellers, etc.) are dynamically generated by the software based on the information saved in the store database 280. 2. Administration: the area of the Web store 250 that is accessed by the merchant to manage the online shop 250. The amount of store management features changes depending on the sophistication of the shopping cart software 270, but in general a store manager is able to add and edit products, categories, discounts, shipping and payment settings, etc. Order management features are also included in many shopping cart programs 270. Hence, it will be appreciated that portions of the shopping cart software 270, for example those portions that are used to manage operations of the retail server 250 and dynamically generate the web pages 260 for the benefit of the client computer 210, may be present within the program code 262, for example. Other portions, which execute on the client computer 210, may be present, for example, in the shopping cart code 270.
[0080] In preferred embodiments promotion code 297 is hosted on the promotion server 290 and the promotion code 272 simply includes a reference to the code 297 stored on the promotion server 290. Hence, the program code 298 in the promotion server 290 may include code that controls the networking hardware 294 to deliver to the client computer 210 a suitable version the promotion code 297 stored in the memory 296 of the promotion server 290 in response to a query from the client computer 210. This is preferred, as it makes installation of the promotion code 272 a very easy task for the retail server 250. For example, in preferred embodiments only two lines of code need be inserted into the header of the retail server's 250 shopping cart code 270 to provide the full effect of the promotion code 297. These lines that provide the promotion code 272 may be included in an IFrame, which allows the promotion code 272, 297 to navigate to the parent page and invoke the functionality provided by the shopping cart code 270. By way of example, the following is a sample of a code that may be inserted into the shopping cart code 270 in the case where the shopping cart is located on the web server: <script type="text/javascript" src="http://www.[promotion_server].com/[retailer]/index.php?demo">
</script>
[0081] The promotion code 272 may be activated by a query from client computer 210. It will be appreciated, however, the promotion code 272 may include all of the desired functionality - i.e., that the retail server 250 may host the promotion code 297.
[0082] Finally, the retail server 250 will also include webpage code 260 that permits the user 210 to browse the products offered and place desired products into the shopping cart 270. The webpage code 260 thus interfaces with the shopping cart model code 270 to facilitate the browsing, selecting and purchasing of products, as known in the art.
[0083] The online retail server 250 may be provided by any suitable computer system, such as a blade server or the like, or by a combination of such systems that, using known networking programming techniques, appear to a remote device, such as the user computer 210, as a single, logical system 250. As shown in Fig. 13, such systems 250 typically employ memory 256 for holding program code 262 and related data, networking communications hardware 254, and a processor 252 in communications with the memory 256 and capable of controlling the networking hardware 254. The program code 262 is executable by the processor 252, and when executed causes the retail server 250 to perform the various embodiment steps, as discussed herein, such as by controlling the networking communications hardware 254 to send data to remote devices and by processing data received from these remote devices. Providing such program code 262 should be well within the means of one having ordinary skill in the art, after having the benefits of this disclosure. Any suitable programming language may be used to provide the program code 262.
[0084] Similarly, as shown by Fig. 18, the end-user computer 210 includes a processor 212 connected to memory 216 a networking hardware 214, and the memory 216 includes program code 222 executable by the processor 212, as known in the art, to provide the functionality of the client computer 210. This memory 216 includes a web browser 226 that processes the webpage code 220, which may include shopping cart code 230, to render a corresponding webpage 240 on a display 218 of the client computer 210. The web browser 226 may also call upon a plug-in 224, also residing within the memory 216 of the client computer 210, to assist in the processing of the web page code 220, as known in the art, to render all or portions of the webpage image
240. The webpage code 220 is provided by the retail server 250 via the web page code 260. Although shown as a single unit or file in the figures, it will be appreciated that the webpage code 260 on the retail server 250 is, in preferred embodiments, dispersed throughout a plurality of files, not all of which may be present on the retail server 250 but instead present on retail server 250, possibly on the promotion server 290, as well as other third-party computers also connected to the Internet 205. These files are called, referenced or otherwise incorporated by instructions within the webpage code 260 present on the retail server 250, as discussed in more detail in the following, to provide the web page code 220 that is finally executed on the end-user computer 210. Hence, the webpage code 260, and the shopping cart code 270, are intended to include embodiments utilizing a single file of code 260, 270 and embodiments utilizing references to multiple files of code 260, 270 distributed across a plurality of servers.
[0085] Fig. 13 shows a more detailed view of an embodiment retail server 250. As shown in Fig. 13, the retail server 250 will include memory 256 that stores program code 262, one or more web pages 260, and a product database 280. The memory 256 may be provided by volatile memory, non-volatile memory or combinations thereof, as known in the art. The product database 280 is used to store information about a plurality of products 282, each identified by a stock-keeping unit (SKU) and having related data 284. The related data 284 may store information about the respective product 282, such as an image of the product 282, a description of the product 282, the price of the product 282 and so forth. Utilizing the product database 280, the program code 262 may generate web page code 260 for delivery to, and execution on, end- user computer 210, which thus provides the web page code 220 that is finally executed on the end-user computer 210. When rendered on the end-user computer 210, the web page code 220 creates corresponding webpage multimedia content 240, as shown by example in Fig. 14. The webpage content 240 may include information about one or more products 241, corresponding to SKUs 282, with, for example, an image 247 of the product 241, and a description 248 of the product 241 including the price of the product 241, as obtained from the related data 284 in the product database 280. A button 242 or the like enables the user to select a corresponding product
241. Other navigation buttons or links 243 permit the user 210 to browse other products 282, in which case the program code 262 generates new web page code 260 for submission to the end- user computer 210. Providing the program code 262 should be routine for one having ordinary skill in the art after having the benefits of the instant disclosure.
[0086] The web page code 260 may further include code 270 to support the shopping cart model. The shopping cart code 270 causes corresponding shopping cart code 230 to be loaded onto the end-user computer 210, and thus may be a sub-set of all possible shopping cart code on the retail server 250, as discussed earlier. When the user clicks upon a button 244 indicating that the user wishes to purchase a selected product 241, the shopping cart code 230 is called. Promotion code 272 is placed within the shopping cart code 270, and thus corresponding promotion code 232 is provided on the end-user computer 210, and is called when the shopping cart code 230 is called. To add the product 241 to the shopping cart, the shopping cart code 230 may include the SKU 236 of the selected product 241, and, optionally, a retailer ID 238. Alternatively, the retailer ID 238 may be part of the promotion code 232. A specific function in the shopping cart code 230 is then called, using the SKU 236 and, optionally, the retailer ID 238, as parameters to add the selected item 241 to the shopping cart.
[0087] In preferred embodiments, when a selected item 241 is put in the shopping cart, the promotion code 232 is initiated, reading the product SKU 236. A query is then sent to the promotion server 290 to search a promotion database for that SKU 236. If the SKU 236 is located in the promotion database, this means that a promotion video should be played and at the end of the video the promotion server 290 may send, for example, a coupon with a promotion offer. The promotion offer may use the shopping cart 230 functionality to add the offer to the shopping cart if the user chooses a promotion item by, for example, clicking upon it.
[0088] Because the promotion code 272 is linked in with the shopping cart code 270, such as with the shopping cart function to add an item to the shopping cart, or with a check-out function to pay for an item in the shopping cart, calling the shopping cart code 230 causes execution of the promotion code 232. The promotion code 232 establishes a connection with the promotion server 290, using any appropriate protocol, via client query interface 299, and submits the retailer ID 238 and SKU 236 to the promotion server 290 as part of a query for related data, which will include a video. Fig. 15 illustrates an embodiment promotion server 290. The promotion server 290 includes a memory 296, which may be volatile, non-volatile or combinations of both, having program code 298 executable by one or more processors 292 to provide the functionality of the promotion server 290. The program code 298 controls networking hardware 294, and employs a promotion database 300 also held within the memory 296, to cause the promotion server 290 to deliver a video to the end-user computer 210 according to the supplied SKU 236 and retailer ID 238. Client query interface 299 employs any suitable networking protocol to obtain information from, and provide information to, end-user computer 210. Any suitable language may be employed for the program code 298, and one of reasonable skill in the art should be able to provide the program code 298 without undue experimentation after having the benefits of the instant disclosure.
[0089] The promotion database 300 may be, for example, a relational database, or any other suitable database, and may be implemented by any suitable database programming technique, in conjunction with the program code 298. The promotion database 300 stores information about a plurality of retailers 310, which may be identified by the retailer ID 238. This information includes shopping cart functions 320 used by the retailer 310 for its shopping cart code 270 to support and implement its shopping cart model. The information also includes one or more promotions 330, which may be identified by a respective SKU 236. Each promotion includes promotion-related data 332. Fig. 16 illustrates one logical embodiment of the promotion-related data 332. The promotion-related data 332 preferably includes a video 334 for that promotion 330, and, optionally, information to assist tracking code 274, such as an SKU 335 for the product being promoted. The data 332 may also include in addition to the video data 224 an optional coupon or form 338 listing all promotion items related to the specific retailer and product 335, which may be tracked for clicks and that uses the functionality of the shopping cart 230 to add a promoted item into the shopping cart. The promotion-related data 332, and in particular the video data 334, may include a video that explains the benefits to the end-user 210 of purchasing the product or service 335 being promoted by the related promotion 330. For example, if the SKU 236 as provided by the promotion code 232 corresponds to a television set, the promotion- related data 332 in the corresponding promotion 330 may include a video extolling the benefits of additional service warranties. The promoted SKU 335 in the promotion-related data 332 may thus correspond to the SKU 282 of an extended warranty plan offered by the retail server 250. In addition, in preferred embodiments the extended warranty information may be placed in the related coupon information 338, which may then be displayed on top of the shopping cart, for example in a form of a template overlaid on the shopping cart, providing the user an easy way to select the promotion product 335 (i.e., warranty) and place it in the shopping cart.
[0090] In response to receiving the retailer ID 238 and the SKU 236 from the promotion code 232 running on the end-user computer 210, the program code 298 causes the promotion server 290 to search through the promotion database 300 to find a corresponding promotion 330. A corresponding promotion 330 may be one, for example, that has a retailer 310 that matches the submitted retailer ID 238 and a promotion SKU 330 that matches the submitted product SKU 236. If a corresponding promotion 330 is found, the promotion server 290 delivers the promotion-related data 332 for that promotion 330 to the end-user computer 210, as well as the shopping cart functions 320 employed by the retailer server 250, utilizing the client query interface 299 to control the networking hardware 294 for this function. As previously indicated, any suitable protocol may be employed to provide the promotion-related data 332 and shopping cart functions 320 to the promotion code 232 on the end-user computer 210. In some embodiments, the promotion-related data 332 may further include promotion constraints 336. These constraints 336 may indicate when, or when not, to provide the promotion-related data 332. For example, a featured product 335 may only be promoted for a fixed number of days, and hence the promotion constraints 336 may indicate a date range within which the promotion- related data 332 is valid. Promotion-related data 332 that fails the conditions set by the promotion constraints 336 are passed over by the server 290 and thus not forwarded to the end- user computer 210.
[0091] The promotion code 232 executing on the end-user computer 210 includes video player code 233 and tracking code 234, and, in certain embodiments, code to present the related coupon information 338. Video player code 233, 273 may entirely code a video player, but in preferred embodiments references another file that contains a video player 228 resident on the end-user computer 210. For example, video player code 233 may cause a plug-in 21 to load that serves as a video player 228. If, in response to the promotion query from the promotion code 232, the end-user computer 210 receives from the promotion server 290 promotion-related data 332 of the submitted product SKU 236, the promotion code 232 causes the video player code 233 to execute to play the video data 334 held within, or referenced by, the promotion-related data 332. That is, the video data 334 may include all information needed to play a video 245, or may contain data that instructs the end-user computer 210 where to obtain such video information, such as a reference to initiate a data stream. As a result, the video 245 begins to play within the webpage 240 on the end-user computer 210. This video 245 may explain to the user, for example, the benefits of purchasing another product 335 related to the selected product 236. The video player code 233 may be, for example, code for a Flash video player or a JavaScript video player 233, and may run within a corresponding plug-in 224 on the end-user computer 210. However, any suitable video player code 233, 273 may be employed. In certain embodiments, the promotion server 290 may stream the video information to the end-user computer 210, and the video data 334 may thus simply be sufficient information to initiate the stream.
[0092] In addition to causing the video player 233 to run, upon receipt of the promotion-related data 332, the promotion code 232 also causes tracking code 234 to execute. The tracking code 234 tracks a pointer 219 controlled by the user, as well as where a user of the computer 210 clicks. The video 245, or a region 246 in or around the video 245, such as any displayed coupon from the coupon code 338, may be used as a button or the like upon which the user may click to accept the promoted product 335. Of course, any suitable means may be employed to permit the user of the end-user computer 210 to accept or reject the promoted product 335. Upon acceptance of the promoted product 335, the promotion code 232 uses the shopping cart functions 320 for the retailer 250 previously supplied by the promotion server 290, the SKU of the promoted product 335, and the retailer ID 238, to call the appropriate shopping cart function to add the promoted product 335 to the shopping cart of the end-user 210. By way of example, preferred embodiments employ a Flash program for both the video player 233 and the tracking code 234. When this Flash program begins playing the video 245, it also tracks the pointer 219 and may further optionally send tracking information to the promotion server 290, such as start, pause, stop and play commands for the video 245 using HTTP, for example, as a transfer protocol. Once the promoted product 335 is obtained from the promotion server 290, the particular shopping cart function 230 may be activated for that product 335 to place it into the user's virtual shopping cart. Hence, in various embodiments, the tracking code 234 tracks not only whether or not the user accepts the promoted product 335, but other events as well, such as the number of times the user views the video 245, the video player controls that the user clicks for the video 245 (pause, rewind, fast forward, etc.), and so forth. [0093] Although a specific embodiment has been discussed with respect to a single promoted product 335, it will be appreciate that embodiments may support a plurality of promoted products 335, and hence the corresponding promotion related data 332 may include a plurality of promoted SKUs 335, and a corresponding plurality of data elements for video 334, coupons 338, and respective restraints 336.
[0094] By way of the method and system described above, as soon as a user places an item into the virtual shopping cart, or, alternatively, when the user wishes to check out items and thus pay for those items, the promotion code 232 linked to the shopping cart code 230 is activated, and seeks to find and play a corresponding video 334, 245 that encourages the user to also purchase a related product 335, such as an extended warranty for the product 236 being purchased. Upon acceptance of this related product 335, the promotion code 232 interfaces with the virtual shopping cart 230 to automatically add the promoted item 335 to the user's virtual shopping cart 230. The present invention is thus able to mimic point-of-sale sales techniques that are so successful in standard brick-and-mortar stores, but which have, to date, been sorely lacking on online stores.
[0095] Although the invention herein has been described with reference to particular embodiments, it is to be understood that these embodiments are merely illustrative of the principles and applications of the present invention. It is therefore to be understood that numerous modifications may be made to the illustrative embodiments and that other arrangements may be devised without departing from the spirit and scope of the present invention as defined by the following claims.

Claims

CLAIMSWhat is claimed is:
1. A method for delivering videos to a client computer, the method comprising: transmitting to a client computer a webpage file comprising directory listings or search engine results, the webpage file comprising a plurality of hyperlinks, each hyperlink corresponding to a directory listing entry or a search engine hit; determining a first video corresponding to a first hyperlink in the plurality of hyperlinks; and transmitting the first video to the client computer to cause the client computer to play the first video in response to a pointer on the client computer hovering over the first hyperlink.
2. The method of claim 1 further comprising causing the client computer to play the first video overlaid over the webpage so the first video floats over the webpage.
3. The method of claim 1 further comprising: correlating each of the plurality of hyperlinks with a corresponding advertiser; and correlating each of a plurality of videos with a corresponding advertiser; wherein the first hyperlink is correlated with a first advertiser, and the first video is correlated with the first advertiser.
4. The method of claim 3 wherein correlating each of the plurality of hyperlinks with the corresponding advertiser comprises obtaining a name of an advertiser contained in a hyperlink.
5. The method of claim 1 further comprising causing the client computer to stop playing the first video in response to the pointer moving away from the first hyperlink.
6. The method of claim 5 further comprising: in response to the pointer hovering over a second hyperlink in the plurality of hyperlinks, determining a second video corresponding to the second hyperlink; and transmitting the second video to the client computer to cause the client computer to play the second video.
7. The method of claim 1 wherein a directory services server or a search engine server transmits the webpage to the client computer.
8. The method of claim 1 further comprising the webpage file causing the client computer to display a logo in relation to each hyperlink that has a corresponding video.
9. The method of claim 1 further comprising embedding an application within the webpage file, the embedded application executable by the client computer to perform the following steps: monitoring a position of the pointer to determine if the pointer is hovering over a hyperlink; obtaining advertiser-related information from a hyperlink; transmitting the advertiser-related information to a video server; and playing video data obtained from the video server corresponding to a hyperlink over which the pointer is hovering.
10. The method of claim 9 wherein the advertiser-related information is obtained from a hyperlink in response to the pointer hovering over the hyperlink.
11. A method for delivering videos to a client computer, the method comprising: transmitting to a client computer a webpage file comprising directory listings or search engine results, the webpage file comprising a plurality of hyperlinks, each hyperlink corresponding to a directory listing entry or a search engine hit; obtaining advertiser-related information from each of the plurality of hyperlinks; utilizing the advertiser-related information to determine a corresponding plurality of videos; and transmitting the corresponding plurality of videos to the client computer; wherein the webpage file comprises tracking code executable by the client computer to cause the client computer, in response to a pointer on the client computer hovering over a first hyperlink in the plurality of hyperlinks, to play a first video in the plurality of videos that corresponds to the first hyperlink.
12. A system for delivering advertising videos to a client computer, the system comprising: a video server comprising: a video database comprising a plurality of videos, each video correlated with corresponding advertiser-related information; a query interface for accepting advertiser-related information from a querying computer and informing the querying computer if a corresponding video is present in the video database; and a video server for providing a video in the video database to the querying computer; and a server for providing a webpage file to the client computer, the webpage comprising a plurality of hyperlinks, each hyperlink corresponding to a directory listing entry or a search engine hit, the webpage file further comprising tracking code executable by the client computer for performing the following steps: monitoring a position of a pointer on the client computer to determine if the pointer is hovering over a hyperlink; obtaining advertiser-related information corresponding to a hyperlink over which the pointer is hovering; transmitting the advertiser-related information to the video server; and playing video data obtained from the video server.
13. An advertising method comprising: receiving webpage data at a client computer; utilizing at least a portion of the webpage data to present a webpage on a display of the client computer; utilizing at least a campaign identifier obtained from the webpage data to obtain corresponding video data and coupon data; utilizing at least a portion of the video data to play a video on the display; in response to one or more of a click upon the video, a timeout event or the video ending, utilizing at last a portion of the coupon data to present a coupon on the display; and controlling the client computer to effect printing of the coupon or to connect with another website to redeem the coupon.
14. The method of claim 13 wherein obtaining the corresponding video data comprises: transmitting at least the campaign identifier or a video identifier to a first server to request the corresponding video data; and accepting at least the video data from the first server.
15. The method of claim 14 wherein obtaining the corresponding coupon data comprises: transmitting at least the campaign identifier or a coupon identifier to a second server to request the corresponding coupon data; and accepting at least the coupon data from the second server.
16. The method of claim 15 wherein the first server and the second server are hosted on the same server.
17. The method of claim 16 wherein the video data and the coupon data are obtained in response to a single request to the first server comprising at least the campaign identifier.
18. The method of claim 13 wherein presenting the coupon on the display of the client computer comprises: opening a coupon form over the webpage, the coupon form comprising a print button; and utilizing at least a portion of the coupon data to present the coupon in the coupon form.
19. The method of claim 18 wherein the client computer is controlled to effect printing of the coupon after an action comprising clicking upon the print button.
20. The method of claim 18 further comprising closing the coupon form after effecting printing of the coupon.
21. An advertising campaign server comprising: a processor; memory in communications with the processor, the memory comprising: a campaign database comprising video data, coupon data and associated campaign identifiers; and program code executable by the processor for performing the following steps: accepting at least a campaign identifier from a client computer; utilizing the campaign database and the at least a campaign identifier to find related video data and coupon data within the campaign database; and transmitting the related video data and coupon data to the client computer; and networking hardware for establishing communications with the client computer.
22. An advertising method comprising: in response to placing a product into a virtual shopping cart or checking out of the product in the virtual shopping cart, providing an identifier of the product to a promotion server; in response to providing the identifier, accepting product-related data from the promotion server, the product-related information comprising video information; utilizing the video information to play a corresponding video promoting a related product; and in response to acceptance of the related product, adding the related product to the virtual shopping cart.
23. The advertising method of claim 22 further comprising providing an identifier of the retailer to the promotion server.
24. The advertising method of claim 22 further comprising accepting information about the virtual shopping cart from the promotion server and utilizing the information about the virtual shopping cart to add the related product to the virtual shopping cart.
25. The advertising method of claim 22 wherein the product-related information further comprises an identifier of the related product.
26. A system for promoting a product, the system comprising: a first processor; networking hardware in communications with the first processor and controllable by the first processor; and memory in communications with the first processor, the memory comprising first program code executable by a second processor to perform the following steps: in response to placing a product into a virtual shopping cart or checking out of the product in the virtual shopping cart, providing an identifier of the product to a promotion server; in response to providing the identifier, accepting product-related data from the promotion server, the product-related information comprising video information; utilizing the video information to play a corresponding video promoting a related product; and in response to acceptance of the related product, adding the related product to the virtual shopping cart.
27. The system of claim 26 wherein the first processor and the second processor are the same processor.
28. The system of claim 26 wherein the second processor is part of a client computer in communications with a server comprising the first processor.
29. The system of claim 28 wherein the memory further comprises second program code for controlling the networking hardware to deliver the first program code to the client computer.
PCT/US2008/080007 2007-10-15 2008-10-15 Systems and related methods for providing advertising content to online users WO2009052190A1 (en)

Applications Claiming Priority (6)

Application Number Priority Date Filing Date Title
US98004707P 2007-10-15 2007-10-15
US60/980,047 2007-10-15
US12/167,027 US20090013288A1 (en) 2007-07-05 2008-07-02 Video Promotion for Online Directory Listings and Other Search Engine Websites that List Advertisers
US12/167,027 2008-07-02
US12/177,817 US20090030794A1 (en) 2007-07-23 2008-07-22 Online marketing tool using videos to promote printable coupons
US12/177,817 2008-07-22

Publications (1)

Publication Number Publication Date
WO2009052190A1 true WO2009052190A1 (en) 2009-04-23

Family

ID=40567770

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2008/080007 WO2009052190A1 (en) 2007-10-15 2008-10-15 Systems and related methods for providing advertising content to online users

Country Status (1)

Country Link
WO (1) WO2009052190A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011098244A1 (en) * 2010-02-10 2011-08-18 Stefan Muhlack Method for presenting and offering goods and/or services
CN110781397A (en) * 2019-10-29 2020-02-11 上海连尚网络科技有限公司 Method and equipment for providing novel information

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026067A1 (en) * 2002-06-14 2006-02-02 Nicholas Frank C Method and system for providing network based target advertising and encapsulation
US20070192168A1 (en) * 2006-02-15 2007-08-16 Leviathan Entertainment, Llc Map and Inventory-Based On-Line Purchases

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060026067A1 (en) * 2002-06-14 2006-02-02 Nicholas Frank C Method and system for providing network based target advertising and encapsulation
US20070192168A1 (en) * 2006-02-15 2007-08-16 Leviathan Entertainment, Llc Map and Inventory-Based On-Line Purchases

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011098244A1 (en) * 2010-02-10 2011-08-18 Stefan Muhlack Method for presenting and offering goods and/or services
CN110781397A (en) * 2019-10-29 2020-02-11 上海连尚网络科技有限公司 Method and equipment for providing novel information

Similar Documents

Publication Publication Date Title
US20090030794A1 (en) Online marketing tool using videos to promote printable coupons
AU2006331610B8 (en) System and method for the creation, distribution and tracking of advertising via electronic networks
US9659315B2 (en) Directing internet shopping traffic and tracking revenues generated as a result thereof
US7225142B1 (en) Interactive multimedia advertising and electronic commerce on a hypertext network
US8606635B2 (en) System and method for presenting content on a retailer&#39;s content page using manufacturers&#39; product information
US20050091111A1 (en) Network methods for interactive advertising and direct marketing
US20110004533A1 (en) Viral store application
US7617131B2 (en) Web-based marketing system
US20040199575A1 (en) E-commerce enabling virtual streaming multimedia server, system, method and article
US20100228776A1 (en) System, mechanisms, methods and services for the creation, interaction and consumption of searchable, context relevant, multimedia collages composited from heterogeneous sources
US20110004517A1 (en) Dialogue advertising
US20020082919A1 (en) System method and article of manufacture for affiliate tracking for the dissemination of promotional and marketing material via e-mail
JP2012524348A (en) Target image ad
US20140297431A1 (en) System and Method for Providing an Online Discount
WO2009052190A1 (en) Systems and related methods for providing advertising content to online users
US20220172251A1 (en) System for on-demand advertising
US20240127293A1 (en) System to enable sponsored ad monetization and dynamic content insertion at runtime
WO2010100765A1 (en) Method and system of guiding to web page, and program
WO2023211801A1 (en) System to enable sponsored ad monetization and dynamic content insertion at runtime
AU2021202010A1 (en) System and method for the creation, distribution and tracking of advertising via electronic networks
AU2013200392A1 (en) System and method for the creation, distribution and tracking of advertising via electronic networks

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 08839345

Country of ref document: EP

Kind code of ref document: A1

122 Ep: pct application non-entry in european phase

Ref document number: 08839345

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE