The present application provides a system and method for generating interactive advertisements. The system comprises a database for storing coupon files. The coupon files include data for generating a redeemable coupon having a unique identifier. An advertisement generator in communication with the database is operable to generate advertisements based on the coupon files. The system further comprises an ad server in communication with the advertisement generator. The ad server is configured to display online advertisements to users. The online advertisements include an ad body that may display text detailing a coupon offer. The advertisements further include a set of interactive components that are separate from the ad body.
According to one aspect, users may be redirected to a predetermined web page in response to clicking an area of the ad body. The web page may provide additional details regarding a product or service described in the online advertisement. According to another aspect, a printable copy of the redeemable coupon is displayed in response to a user selecting an interactive component. Furthermore, selecting an alternative interactive component enables a user to save the coupon in a storage medium such as an online account.
Further objects, features and advantages of this application will become readily apparent to persons skilled in the art after a review of the following description, with reference to the drawings and claims that are appended to and form a part of this specification.
The drawings described herein are for illustration purposes only and are not intended to limit the scope of the present disclosure in any way.
It should be understood that throughout the drawings, corresponding reference numerals indicate like or corresponding parts and features.
Coupons are commonly distributed for promoting products and services. Despite the obvious benefits of coupons, a vast majority of purchasers fail to utilize coupons due to the tedious process of manually sifting through advertisements, clipping desirable coupons, and saving them. Moreover, many customers that do undergo this process often fail to utilize saved coupons at the time of purchase. For instance, customers commonly forget to bring coupons with them and some even forget about the coupons entirely. Furthermore, since coupons do not provide any means for reminding customers to use them, customers frequently fail to use coupons prior to expiring.
Nonetheless, the advent of the Internet eases many of the problems associated with conventional coupons, as the practice of serving coupons through Internet-based advertising has become increasingly popular among advertisers. Online advertisements may comprise banner ads, links to web pages, images, audio and/or video, animations, two- and three-dimensional objects, etc.
Client devices, communicatively coupled to a network such as the Internet, are capable of accessing various websites that may display advertisements. For example, a user of a client device may submit a search request comprising one or more terms to a search engine, which causes the search engine to retrieve a web page comprising links to content, as well as advertisements that may be related to the search terms provided by the user. The search engine generates and displays a result set to a user who may then select or view items in the result set, including one or more advertisements. Revenue for the search engine provider is typically generated from the advertisements that are displayed to users in response to search requests.
Despite the increasing popularity of online advertising and the relative simplicity in which users may take advantage of advertisement offers, advertisers continue to seek improvements to enhance the overall effectiveness of online advertising. For instance, it is not rare for an Internet user to completely ignore an advertisement, especially one considered irrelevant or of little use to the user. The service provider Yahoo!®, however, has a website known as “Yahoo! Deals” (www.deals.yahoo.com) that provides one solution to the foregoing problem. An exemplary homepage of the Yahoo! Deals website is shown in
Yahoo! Deals 100 allows Internet users to search for online coupons. For instance, users may search for coupons by location, category, store, etc. If an Internet user has a Yahoo! account, the user may save coupons presented within the Yahoo! Deals website 100 in the user's account. For instance, if a user wants to save the “$30 off $799 coupon” 102 offered by CyberPower Inc. in
In one implementation, Yahoo! users can only save coupons to their account 108 by navigating through the Yahoo! Deals website 100 itself. Thus, if a Yahoo! user comes across an online coupon displayed on a web page that is not served by the Yahoo! Deals website 100 (or if the web page is not otherwise associated with Yahoo!), the user is unable to save the coupon to their Yahoo! Deals account 108. Moreover, the coupons displayed in Yahoo! Deals 100 are generally linked to a web page where users can take advantage of the coupon offer. That is, coupons cannot be printed directly from the Yahoo! Deals website, if at all (e.g., most coupon offers are only redeemable online). As such, a user cannot use a coupon from the Yahoo! Deals website 100 at an actual retail store so that the user may view the product physically prior to purchasing it.
Referring now to
In networked systems, a client process usually runs on a client device, e.g., a computer (or component thereof) that accesses shared network resources provided by another computer running a corresponding server process. Such client devices may include laptops, home computers, personal digital assistant (PDA) devices, mobile phones, set top boxes, game consoles, portable electronic devices, etc. As will be understood to those of ordinary skill in the art, it is possible for a client process and a server process to run on the same device.
A “server” is typically a remote computer system that is accessible over a communications medium such as the Internet. The client process may be active in a second computer system, and communicate with the server process over a communications medium that allows multiple clients to take advantage of the information-gathering capabilities of the server. Thus, the server essentially acts as an information provider for a computer network.
The system 10 comprises a server 12 capable of being in communication with a distributed network 14, which may include a connection to one or more networks such as the Internet. Other forms of a network for communication include, but are not limited to, a local and/or wide area network, a wireless network such as a WiFi™ or WiMAX™ network, a mobile data network, or any other suitable network for communication. While only one server 12 is depicted in the drawings, those of ordinary skill in the art will appreciate that the system 10 may incorporate a plurality of servers.
The server 12 is operable to execute requests submitted by various entities via the network 14. While certain specific entities are discussed herein, it is to be understood that additional entities capable of accessing the network 14 may be similarly be connected to the server 12. Advertisers 16 create coupons, e.g., on behalf of their own or their clients, to be served to users 18 via the network 14. Advertisers 16 may submit coupons to the server 12 via one or more client devices communicatively linked to the network 14.
According to one aspect, advertisers 16 may submit coupons as an electronic file specifying the content of the coupon. The electronic file may contain text specifying the details of the coupon, graphics, and any other content specified by the electronic file. For instance, the electronic file may also include information such as, but not limited to, an identifier (e.g., a coupon serial number) or a barcode for tracking the coupon, an expiration date, a hyperlink to the coupon provider's website, contact information, etc.
The server 12 includes a storage unit, such as a coupon database 20, for storing coupons submitted by the advertisers 16. The coupon database 20 may be implemented as any type of data storage structure capable of providing for the retrieval and storage of a variety of data types. For instance, the coupon database 20 may comprise one or more accessible memory structures such as a CD-ROM, tape, digital storage library, flash drive, floppy disk, optical disk, magnetic-optical disk, erasable programmable read-only memory (EPROM), random access memory (RAM), magnetic or optical cards, etc.
The server further includes an ad generator 22 communicatively linked to the coupon database 20. The ad generator 22 may be a hardware and/or software module configured to generate a plurality of advertisements. While the ad generator 22 is shown in
The ad generator 22 is configured to incorporate the coupons stored in the coupon database into advertisements 24 to be displayed to users 18 as part of a webpage. More specifically, the ad generator 22 utilizes the content contained in an electronic coupon file and incorporates the content into an ad code, which may be saved as an executable file. When the ad code is executed, an electronic coupon is displayed to a user 18 in the form of an online advertisement 24. The ad code may include instructions written in any suitable human-readable computer programming language.
The ad generator 22 is further configured to include code to create a set of interactive components such as buttons (Bi, . . . Bn) within the advertisement 24. The ad generator 22 may therefore incorporate multimedia object technologies (e.g., Java™, Shockwave™, Flash™, etc.) for providing interactive buttons with various functionalities. As will be described in greater detail below, each advertisement 24 is embedded with at least a “save” button and/or a “print” button.
Of course, it should be understood to those of ordinary skill in the art that there might be instances where the ad generator 22 may not need to be employed. For example, advertisers 16 may supply the server 12 with electronic coupon files that already include the ad code necessary to achieve the desired function/result. In that case, the server 12 simply stores the electronic coupon files in a storage unit such as the coupon database 20.
Upon creating an advertisement 24 for a coupon stored in the coupon database 20, the ad generator 22 stores the advertisement 24 in a storage unit such as an advertisement database 26. Analogous to the coupon database 20, the advertisement database 26 may be implemented as any type of data storage structure capable of providing for the retrieval and storage of a variety of data types. For instance, the advertisement database 26 may comprise one or more accessible memory structures such as a CD-ROM, tape, digital storage library, flash drive, floppy disk, optical disk, magnetic-optical disk, erasable programmable read-only memory (EPROM), random access memory (RAM), magnetic or optical cards, etc.
The server 12 is communicatively linked to at least one ad server 28 operable to support multiple advertising formats, such as, but not limited to, BMP, TIFF, GIF, JPEG, and Flash formats. The ad server 28 may be a hardware and/or software module configured to search the advertisement database 26 and retrieve one or more advertisements 24 for display to a user 18. In addition, the ad server 28 may be directly or indirectly incorporated with the server 12, remotely connected to the server 12 via the network 14, and/or controlled by a separate entity (e.g., an advertising agency).
The ad server 28 is communicatively linked to one or more web servers that are operable to retrieve a web page in response to a search request conducted by a user 18 via a client device. For instance, the ad server 28 may be connected to a web server 30 provided by the server 12, or a web server 32 operated by a different entity. In either implementation, the ad server 28 can be configured to embed an appropriate advertisement 24 in a web page retrieved by a web server (e.g., 30 or 32).
The ad server 28 may select advertisements 24 based on a variety of factors such as, but not limited to, time, demographics, category, content, etc. In addition, the ad server 28 may select an advertisement 24 based on a corresponding expected revenue (e.g., expected revenue for a given advertisement 24 may be calculated according to a historical click-through rate associated with the advertisement 24). It is to be understood, however, that the ad server 28 may select advertisements 24 using various algorithms and techniques known to those of ordinary skill in the art.
According to one embodiment, the ad server 28 may select an advertisement 24 based on a user's profile and/or behavior. For instance, a web page displaying a given advertisement 24 may include a tracking object configured to monitor user activity. Alternatively, the ad generator 22 may be configured to embed a tracking object in the advertisement 24 itself. A tracking object may include a component such as an applet program written in an interpretive language such as Java™. Similarly, a tracking object may include a program written in scripting language such as JavaScript™ to track and gather user activity. As will be understood to those of skill in the art, a Java applet and a JavaScript code embedded in a web page or advertisement 24 may be used collectively to gather user data.
The tracking object is operable to obtain information such as metadata regarding a user's behavior and/or profile by tracking user interaction with a client device and/or by collecting information stored within a client device. Such user-related information may include a user's Internet Protocol (IP) address, geographic location, nature or theme of the website on which an advertisement 24 is being displayed, the nature of the specific content viewed by the user 18, the user's web viewing history or patterns, as well as other psychographic data about the user 18 (which may be received from a number of different sources). Information may also be collected about the user's age, location, gender, income, education, ethnicity, product preferences, and a variety of other demographic characteristics that are useful in matching an advertisement to a user 18.
The server 12 may include a back-end server 34 operable to receive user-related data from the tracking object and transmit the data to the ad server 28. In another aspect, the back-end server 34 may communicate user-related data to the web server 30, which in turn, communicates the data to the ad server 38. In either implementation, however, the ad server 28 may select an advertisement 24 based on data obtained from the back-end server 34.
While the back-end server 34 is shown in
Referring now to
In instances where the electronic coupon file associated with the given advertisement 24 includes a web link (e.g., Uniform Resource Locator), the ad generator 22 is configured to embed the link within the ad body 36. As such, if a user 18 clicks or otherwise selects an area within the ad body 36, the user 18 may be redirected to the web page corresponding the link. In the advertisement 24 depicted in
As shown in
As shown in
As previously mentioned, the advertisement 24 is prepared using a multimedia platform (e.g., Adobe Flash™). Therefore, the user's client device should include the necessary plug-in(s) and/or software to display the advertisement 24, as well as enable the functionality of each button (e.g., B1-B5). If the client device lacks one or more necessary features, the server 10 may prompt the client device to download and install the necessary browser plug-in, Java™ applet, Java™ script application, Shockwave™ component, or similar program code.
According to a preferred embodiment, when a user 18 clicks the “save” button B1, the coupon 38 is saved in an online user account such as that provided by Yahoo! Deals in
While coupons are preferably saved in an online account 108, it is to be understood that the present disclosure is not so limited, as coupons may be saved according to any suitable technique known the art. For instance, when a user 18 clicks the “save” button B1, a pop-up window may appear that enables the user 18 to electronically save the coupon in a storage area (e.g., local memory, disk, flash drive, etc.) specified by the user 18. Alternatively, the coupon may be automatically saved in a predetermined cleaning medium when a user 18 clicks on the “save” button B1.
According to one embodiment, clicking the “print” button generates a pop-up or otherwise displays a virtual coupon 38 (i.e., a copy of the coupon as it would appear printed), as shown in
By way of example, a user 18 may use a mobile phone to access web pages displaying advertisements 24 served by the ad server 28. Moreover, a user 18 may use a mobile phone to access the Yahoo! Deals website 100 directly. This enables users 18 to portably search for and/or retrieve coupons saved in their online accounts at any desired time. Notwithstanding the manner in which a given coupon is displayed to a user 18, the user 18 may select the coupon by clicking the “print” button B1 so that the coupon 38 is displayed on the screen of the mobile phone, as shown in
Alternatively, a user 18 may use his or her mobile phone to download an application operable to synchronize data between the user's online account (e.g., a Yahoo! Deals account) and the mobile phone. The application may be similar to those developed for iPhones and BlackBerry phones, such as certain applications developed for Facebook, Inc. that enable users to access their Facebook accounts through their mobile phones.
For instance,
Of course, it should be understood to those of skill in the art that the Yahoo! Deals application 46 described above may include a wide range of additional functions. For instance, the application 46 may include functionality for integrating the coupon 38 with other applications installed on the mobile phone 44. In one aspect, the application 46 is operable to supply the expiration date 40 to a calendar application 48, which the user 18 may configure to generate one or more reminders as the coupon 38 nears its expiration date 40.
Moreover, the application 46 may allow users 18 to delete one or more coupons from the “Ad Basket” 48. Since the application 46 is synchronized with the users Yahoo! Deals account, any deleted coupons would therefore be deleted from the Yahoo! Deals account. Similarly, if a user 18 deletes a coupon from his or her Yahoo! Deals accounts by accessing the network 14 via a separate client device (e.g., personal computer), the coupon will be deleted from the “Ad Basket” 48. The “Ad Basket” 48 may be updated at predetermined time intervals, automatically, or manually (e.g., the application 46 may include a “refresh” button). In addition, if a saved coupon is redeemed or expired, the coupon may be automatically rendered invalid and/or deleted from the user's Yahoo! Deals account.
According to another aspect, the application 46 may include a search function for allowing users 18 to search for online coupons offered by businesses within close proximity. For instance, the application 46 may determine a user's current location based on a global positioning system (GPS) or a map/compass application 50 incorporated with the user's mobile phone 44. In response to a search request, therefore, the application 46 may return a list of hyperlinks pertaining to businesses closest to the user 18. If a user 18 clicks on a hyperlink, the user 18 may be redirected to a list of online deals associated with the business.
The search function may sort online deals based on a summed evaluation of radial distance from the user, online reviews of the business or the products/services offered by the business, prices associated with the advertised products/service, etc. By way of example, search results may be ordered based on a weighted average aggregated from information obtained from a mapping website (e.g., www.maps.yahoo.com), a local website (e.g., www.local.yahoo.com), and the Yahoo! Deals website. In one aspect, the search function utilizes an aggregation equation such as the following:
Σwiqi,
where:
i is an integer;
q is a quantity indicative of radial distance, online ratings, total number of deals, prices, etc.; and
w is a weight in inverse q units.
As will be understood by those of skill in the art, Yahoo! Deals and/or advertisers 16 may track certain conversions associated with the online advertisements 24 in order to generate data and performance reports. Such conversions may include whether a coupon has been redeemed, saved, printed, deleted, sent, shared, and/or commented on. As will be understood by those of skill in the art, Yahoo! Deals and advertisers 16 may utilize the foregoing information to improve ad targeting.
Referring now to
Continuing with block 212, an advertisement 24 is rendered to an online user 18. It is to be understood that the advertisement 24 may be selected according to any of the techniques described above. At block 214, the user 18 is redirected to a predetermined URL in response to clicking an area of the advertisement 24. A printable copy of a redeemable coupon 38 associated with the advertisement 24 is displayed to a user 18 at block 216. The coupon 38 may be displayed in response to a user 18 clicking an interactive component embedded within the coupon 38. The method ends at block 218.
Any of the modules, servers, or engines described may be implemented in one or more computer systems. One exemplary system is provided in
In another embodiment, dedicated hardware implementations, such as application specific integrated circuits, programmable logic arrays and other hardware devices, can be constructed to implement one or more of the methods described herein. Applications that may include the apparatus and systems of various embodiments can broadly include a variety of electronic and computer systems. One or more embodiments described herein may implement functions using two or more specific interconnected hardware modules or devices with related control and data signals that can be communicated between and through the modules, or as portions of an application-specific integrated circuit. Accordingly, the present system encompasses software, firmware, and hardware implementations.
In accordance with various embodiments of the present disclosure, the methods described herein may be implemented by software programs executable by a computer system. Further, in an exemplary, non-limited embodiment, implementations can include distributed processing, component/object distributed processing, and parallel processing. Alternatively, virtual computer system processing can be constructed to implement one or more of the methods or functionality as described herein.
Further, the methods described herein may be embodied in a computer-readable medium. The term “computer-readable medium” includes a single medium or multiple media, such as a centralized or distributed database, and/or associated caches and servers that store one or more sets of instructions. The term “computer-readable medium” shall also include any medium that is capable of storing, encoding or carrying a set of instructions for execution by a processor or that cause a computer system to perform any one or more of the methods or operations disclosed herein.
As a person skilled in the art will readily appreciate, the above description is meant as an illustration of the principles of this application. This description is not intended to limit the scope or application of this application in that the system 10 is susceptible to modification, variation and change, without departing from spirit of this application, as defined in the following claims. Furthermore, it should also be understood that the present application is not limited to a particular website or collection of websites, although many of the examples show examples associated with the Yahoo! website.