Advertising on mobile devices such as mobile phones has not succeeded to a significant degree, primarily due to the lack of available screen real estate for presenting ads alongside users' desired content. There have been several attempts to inject advertising into mobile entertainment experiences by using the time dimension—that is, as “interstitials.” This is analogous to the traditional commercial break on television, but shortened for the web experience. Ad breaks and “interstitials” can be a jarring and unwelcome experience because they are distinct from the user's intended content and they represent a loss of control for the user. Furthermore, online ad campaigns can be targeted to specific users via a growing set of demographic, geographic, and even “psychographic” variables, all defined by the advertising system. However, as detailed as these system-defined variables are, they cannot address advertiser-specific targeting needs that the ad system designers did not preconceive. In summary, the online advertising industry has not properly addressed computing experiences on small mobile form factors and generally does not have sufficient flexibility for advertiser-specific targeting variables.
A facility providing systems and methods for targeting advertisements based on a polling system and interleaving advertisements within a stream of “split queries” or “split polls” is disclosed. A “split query” or “split poll” (or “split”) represents a question presented to a user with two or more potential responses. A user can respond to the split by selecting (e.g., clicking on) one of the associated potential responses. In some cases, the ads are themselves split queries (or adverting splits), and can be inserted sparsely into the split stream. A campaign, such as an advertising campaign or a campaign for collecting information from users (e.g., a polling campaign), may include “branch” nodes, with decision logic over the targeting variables representative of a program, complete with dynamic variables and flow control (branching logic) and “non-branch” nodes, which direct a user to a subsequent split within a corresponding ad campaign and can be used, for example, to collect information from users in response to corresponding split queries. In some embodiments, this concept can be extended to decision logic with more than two paths, such as a “switch” node with two or more outcomes (e.g., “true,” “false,” and “unknown”) or a set of enumerated values (e.g., if A then . . . , else if B then . . . , else if C then . . . , else . . . ). The switch node could naturally be represented graphically, similarly to a branch node. Via this paradigm, the ad campaign can direct highly specific users toward specialized content and offers. In some embodiments, the facility is implemented as a web application or a mobile application for small form factors such as mobile phones and/or for tiny form factors such as wearable devices. The facility provides attractiveness and framework for interleaving commercially oriented split queries within a stream of split queries. These commercial queries can be a form of brand advertising. In addition to their value as ad impressions, these advertising splits may have associated with them custom advertiser-defined targeting variables and actions for how user responses update those variables.
In some embodiments, these variables may then be used as targeting variables. For example, a car vendor may wish to target users who have not purchased a car in the past 5 years; a print vendor may wish to target users who prefer black-and-white photography over color; a rowboat vendor may wish to target users who live on the waterfront; and a coffee vendor may wish to target coffee drinkers who are not already his/her customers. These exemplify highly advertiser-specific and nuanced targetings that are not possible with traditional online advertising platforms. Accordingly, an advertiser may establish appropriate customer variables and corresponding custom splits to obtain relevant information (e.g., a split asking a user what type of photography he or she prefers with two potential responses: “black-and-white” and “color”). In this manner, the facility allows an advertiser's campaign to generate splits specific to his or her information needs. This targeting paradigm is highly customizable and advertiser-specific. It is more powerful than the demographic and geographic targeting of other online advertising systems, which have targeting variables predefined by the system. Thus, the facility provides an improved technique for building advertising campaigns and appropriately targeting those advertising campaigns. In addition, the infrastructure for authoring the polls or queries allows for systematized data collection by an advertiser or advertising service, and the definition and development of custom targeting variables that are specific to the advertiser's product and marketing goals.
In some embodiments, the facility provides an entertaining experience on wearable form factors, many of which have few successful applications due to the limitations of the screen size. For example, the disclosed system can present splits (e.g., a question or two images) on a smart wristwatch and receive responses to the split via user interaction with the watch. Similarly, the facility allows for: viable spatially integrated advertising on mobile platforms, where advertising in general has not been successful due to the limited screen size; advertising that is thematically integrated into the entertaining content; the creation of custom targeting variables by the advertiser; capturing custom demographic and psychographic data about users that cannot be anticipated by a traditional advertising platform; and branching logic over those (and other) variables, making the advertising campaign effectively a program with dynamic variables and flow control (e.g., branching logic). In some embodiments, the facility integrates the processes for creation, delivery, and redemption of digital coupons and offers to targeted users.
In some embodiments, the facility presents users with questions, possibly accompanied by contextual images. In some embodiments, there are two possible answers to each question, represented by two buttons or two images. Each such query is called a “split.” The user responds to a split query by, for example, clicking or touching one button or image associated with different responses to the query. The system then presents the user with the next split query. The entertainment value of the split queries is in the form of the content of the splits themselves—which may be quirky, humorous, or touch on Zeitgeist in news and popular culture. There may also be gamification in the form of trivia queries, possibly including the winning of points, credits, prizes, etc.
In some embodiments, the entertainment-oriented split queries dominate the user's polling experience. These split queries are generated through a combination of curation and user-generated content. The stream of split queries presented to the user is selected by the serving system to be most relevant and entertaining to the user, based on known data about the user and his/her responses to previous split queries. For example, if a user responds “No” to a split asking the user if the user enjoys sports, then the system may avoid presenting sports-related splits to the user. Furthermore, split queries can be replicated and shared via social networks and on social websites such as Facebook. For example, a user viewing any split query can instantly share it with his/her Facebook friends via a single click. This makes any entertaining split query potentially “viral” on the Internet. In some embodiments, user responses are recorded by the system in a database. This data can then be used to guide content to be served to the user in the future, as well as being applied by the system for statistical machine learning that guides targeting to some or all users.
The following discussion provides a brief, general description of a suitable computing environment in which the invention can be implemented. Although not required, aspects of the invention are described in the general context of computer-executable instructions, such as routines executed by a general-purpose data processing device, e.g., a server computer, wireless device, or personal computer. Those skilled in the relevant art will appreciate that aspects of the invention can be practiced with other communications, data processing, or computer system configurations, including: Internet appliances, hand-held devices (including personal digital assistants (PDAs)), wearable computers (e.g., fitness-oriented wearable computing devices), all manner of cellular or mobile phones (including Voice over IP (VoIP) phones), dumb terminals, media players, gaming devices, multi-processor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network PCs, mini-computers, mainframe computers, and the like. Indeed, the terms “computer,” “server,” “host,” “host system,” and the like are generally used interchangeably herein, and refer to any of the above devices and systems, as well as any data processor.
Aspects of the invention can be embodied in a special purpose computer or data processor that is specifically programmed, configured, or constructed to perform one or more of the computer-executable instructions explained in detail herein. While aspects of the invention, such as certain functions, are described as being performed exclusively on a single device, the invention can also be practiced in distributed computing environments where functions or modules are shared among disparate processing devices, which are linked through a communications network such as a Local Area Network (LAN), Wide Area Network (WAN), or the Internet. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Aspects of the invention may be stored or distributed on tangible computer-readable media, including magnetically or optically readable computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other computer-readable storage media. Alternatively, computer-implemented instructions, data structures, screen displays, and other data under aspects of the invention may be distributed over the Internet or over other networks (including wireless networks), on a propagated signal on a propagation medium (e.g., electromagnetic wave(s), sound wave, etc.) over a period of time, or they may be provided on any analog or digital network (packet switched, circuit switched, or other scheme). Furthermore, the term computer-readable storage medium does not encompass signals (e.g., propagating signals) or transitory media.
In some embodiments, a campaign (including campaigns used for purposes other than advertising) is a series of split queries played, for example, in order for a given user, but with other content interleaved. The “order” of the campaign is partially controlled by an advertiser's or other party's “custom variables” and “custom branching logic” over those variables. Each user (e.g., a user interacting with the splits of the campaign) can have a “position” with respect to each campaign. A user's “position” with respect to a campaign is the next split query of the campaign that is to be shown to that user. The order of the split queries may be determined by the system automatically or may be specified by a user (e.g., an administrator of the ad campaign). A campaign has a single “start” split query, which is the starting position for all users with respect to that campaign. A campaign, however, need not be strictly linear, as the campaign may include branch nodes, with different paths taken for different users based on accumulated data about each user. For example, a campaign for a music service may specify different branches, where a different branch is taken based on one or more of a user's indicated music preferences. Furthermore, a campaign may loop on itself, or on portions of itself, so it may or may not have (one or more) “end” splits, with no following splits. Once a user reaches an “end” split query of a campaign, he/she may or may not be looped back to the “start” split of the campaign. A user's positions in all campaigns may be tracked, for example, through a logged-in user session, via a cookie (web browser cookie or a unique id on a mobile device) for an anonymous user, and so on. In this manner, the user's path through a campaign is partially controlled by the associated “custom variables” and “custom branching logic” over those variables.
Continuing with the above example, the same advertiser may define another variable called “AU_IS_STARBUCKS_CUSTOMER,” with an initial default value of 0. And that advertiser might author a split query asking the user whether he/she is currently a customer of STARBUCKS, with associated actions that set the “AU_IS_STARBUCKS_CUSTOMER” variable to a value of either 1 or 0 (interpreted as “true” or “false”), based on the user's response. As another example, the same advertiser may define another variable called “AU_INFERRED_INCOME,” with an initial default value of 50000. Furthermore, the advertiser may author a split query asking the user a question of which the answer is indicative of yearly income. For example, the prompt may ask: “Do you own or rent your home?” An answer of “own my home” might trigger an advertiser-defined action that multiplies the value of the “AU_INFERRED_INCOME” variable by 1.5 (increasing it); whereas an answer of “rent my home” might trigger an advertiser-defined action that multiplies the value of the “AU_INFERRED_INCOME” variable by 0.6 (decreasing it). The combination of this and similar split queries, modifying the same user-associated variable, may result in a meaningful estimate of the user's annual income, which can be useful for ad targeting.
In the above example, the “AU_” prefix in targeting variable names indicates an “Account-User” variable. This means that the variable has an instance per user and is shared by all advertising campaigns in the advertiser's account. So, in the above example, the value of the “AU_IS_COFFEE_DRINKER” variable set by [a user's response to] a split query in one campaign would be seen by all other campaigns in the same advertiser account.
A “Campaign-User” variable (e.g., with prefix “CU_”) is a targeting variable associated with a user and just a single advertising campaign. Such a variable has a separate instance for every user and for every ad campaign. An update of this type of variable in one campaign is not seen by split queries or branch nodes in another campaign.
A “Campaign” variable (e.g., with prefix “C_”) is a variable that is associated with a given campaign, but not any specific user. An advertiser might use this type of variable to track aggregate metrics about the campaign (e.g., the total number of users who responded in the affirmative to a given split query).
An “Account” variable (e.g., with prefix “A_”) is a variable that is associated with all campaigns in an advertising account, and not with any specific user. An advertiser might use this type of variable to track aggregate metrics across all owned campaigns (e.g., the total number of self-described coffee drinkers).
In addition to advertiser-defined custom targeting variables, defined above, the infrastructure also includes “System” and “Global-User” variables. These are variables defined by the system and shared across advertiser accounts and their campaigns. Their values are readable by the logic in branch nodes of advertiser campaigns, but may NOT be updatable by split queries in advertiser campaigns.
A “System” variable (e.g., with prefix “S_”) is a system-defined variable that is not associated with any specific user (though it may relate to the user's current session). An example is “S_DAY_OF_WEEK,” representing the current day of the week. Such a variable may be used by an advertiser to limit offers to specific times. Another example is “S_ZIP_CODE,” representing the approximate current location of the client device (user session). Such a variable can be used, for example, for geo-targeting.
A “Global-User” variable (e.g., with prefix “GU_”) is a system-defined variable that is associated with a specific user. It represents data that is collected by the system—not by an advertising campaign—about the user. An example is “GU_INFERRED_INCOME,” representing the inferred income of the user. Another example is “GU_INFERRED_MALENESS,” representing the degree of statistical confidence that the user is male. Such variables can be used for general demographic targeting. This user-specific data may be obtained by the system via direct querying of users, via statistical Data Science techniques applied to the user's polling response, or from other available data.
In some embodiments, a user interface for designing individual splits is provided. In this user interface, the author can upload images and enter text (e.g., prompt text and button text) to configure the split query. The authoring service can also include a “Query Actions” component, allowing the author to define variables and to specify update actions on those variables associated with each button of each split query. Therefore, once launched, there are specified sets of update actions for each split query: one that executes each time a user clicks on one button and another that executes each time a user clicks on another button, and so on.
In some embodiments, each variable has an initial (default) value, which can be specified by the author. A variable update action can have various forms, such as:
Other basic operations, such as subtraction and division, can be implemented by applying the appropriate negative or reciprocal value on the right side of the update action. The authoring service also exposes a graphical branch-logic editor. This editor allows for the creation of a boolean expression, such as:
Flow control in a split ad campaign enables the system to direct targeted users to specialized content and possibly to present them with offers and/or coupons. The facility completes this advertiser workflow by integrating a creative tool for digital coupons. A digital coupon is an image uploaded by the advertiser with text specifying the offered product or service, monetary value, expiration date, and other related information. The coupon can be printed out or shown to the vendor's cashier on a mobile device. In order to ensure that redemption of an individual coupon is idempotent (defined herein as “single-use”), the techniques overlay a unique identifier or QR code on each digital coupon that is delivered to a user. The facility exposes a separate online service specifically for a vendor's cashier to redeem a coupon, by entering its unique code and verifying that it has not been redeemed before. Once defined, the coupon or offer is inserted as a node into the graphical representation of the split ad campaign in the aforementioned authoring service. Any user who reaches that node in the split ad campaign (possibly following a traversal of one or more branch nodes that successfully target that user) can be presented with an instance of the coupon or offer.
In some embodiments, in addition to coupons and offers, the disclosed technology allows an advertiser to prompt the user for contact information. Furthermore, in the portion of an ad campaign graph for targeted users, the advertiser may insert a “User Contact” node. Upon reaching this node in the ad campaign, the user is prompted to share contact information, such as phone number and email, with the advertiser for future contact by the advertiser's salespeople. The disclosed technology may store the user's contact information—either at the server or client-side in a cookie—so that the user does not have to enter it multiple times. However, the user must approve the sharing of his/her contact information with each vendor. The disclosed technology may also integrate the communication from the approved vendor to the user within the application itself, but allow the user to remain anonymous within the application.
The following discussion provides a brief, general description of a suitable computing environment in which the invention can be implemented. Although not required, aspects of the invention are described in the general context of computer-executable instructions, such as routines executed by a general-purpose data processing device, e.g., a server computer, wireless device or personal computer. Those skilled in the relevant art will appreciate that aspects of the invention can be practiced with other communications, data processing, or computer system configurations, including: Internet appliances, hand-held devices (including personal digital assistants (PDAs)), wearable computers, all manner of cellular or mobile phones (including Voice over IP (VoIP) phones), dumb terminals, media players, gaming devices, multi-processor systems, microprocessor-based or programmable consumer electronics, set-top boxes, network PCs, mini-computers, mainframe computers, and the like. Indeed, the terms “computer,” “server,” “host,” “host system,” and the like are generally used interchangeably herein, and refer to any of the above devices and systems, as well as any data processor.
Aspects of the invention can be embodied in a special purpose computer or data processor that is specifically programmed, configured, or constructed to perform one or more of the computer-executable instructions explained in detail herein. While aspects of the invention, such as certain functions, are described as being performed exclusively on a single device, the invention can also be practiced in distributed computing environments where functions or modules are shared among disparate processing devices that are linked through a communications network, such as a Local Area Network (LAN), Wide Area Network (WAN), or the Internet. In a distributed computing environment, program modules may be located in both local and remote memory storage devices.
Aspects of the invention may be stored or distributed on tangible computer-readable media, including magnetically or optically readable computer discs, hard-wired or preprogrammed chips (e.g., EEPROM semiconductor chips), nanotechnology memory, biological memory, or other computer-readable storage media. Alternatively, computer-implemented instructions, data structures, screen displays, and other data under aspects of the invention may be distributed over the Internet or over other networks (including wireless networks), on a propagated signal on a propagation medium (e.g., electromagnetic wave(s), sound wave, etc.) over a period of time, or they may be provided on any analog or digital network (packet switched, circuit switched, or other scheme). Furthermore, the term computer-readable storage media does not encompass signals (e.g., propagating signals) or transitory media.
Unless the context clearly requires otherwise, throughout the description and the claims, the words “comprise,” “comprising,” and the like are to be construed in an inclusive sense, as opposed to an exclusive or exhaustive sense; that is to say, in the sense of “including, but not limited to.” As used herein, the terms “connected,” “coupled,” or any variant thereof means any connection or coupling, either direct or indirect, between two or more elements; the coupling or connection between the elements can be physical, logical, or a combination thereof. Additionally, the words “herein,” “above,” “below,” and words of similar import, when used in this application, refer to this application as a whole and not to any particular portions of this application. Where the context permits, words in the above Detailed Description using the singular or plural number may also include the plural or singular number, respectively. The word “or,” in reference to a list of two or more items, covers all of the following interpretations of the word: any of the items in the list, all of the items in the list, and any combination of the items in the list.
The above Detailed Description of examples of the invention is not intended to be exhaustive or to limit the invention to the precise form disclosed above. While specific examples of the invention are described above for illustrative purposes, various equivalent modifications are possible within the scope of the invention, as those skilled in the relevant art will recognize. For example, while processes or blocks are presented in a given order, alternative implementations may perform routines having steps or employ systems having blocks, in a different order, and some processes or blocks may be deleted, moved, added, subdivided, combined, and/or modified to provide alternative or subcombinations. Each of these processes or blocks may be implemented in a variety of different ways. Also, while processes or blocks are at times shown as being performed in series, these processes or blocks may instead be performed or implemented in parallel, or may be performed at different times. Further, any specific numbers noted herein are only examples; alternative implementations may employ differing values or ranges. Furthermore, although certain steps, functions, or functionalities may be described herein as being performed by or at a particular device, various steps, functions, functionalities, or portions thereof may be performed at other devices. For example, display previews may be generated at a server or client device.
The teachings of the invention provided herein can be applied to other systems, not necessarily the system described above. The elements and acts of the various examples described above can be combined to provide further implementations of the invention. Some alternative implementations of the invention may include not only additional elements to those implementations noted above, but also may include fewer elements.
Any patents and applications and other references noted above, including any that may be listed in accompanying filing papers, are incorporated herein by reference. Aspects of the invention can be modified, if necessary, to employ the systems, functions, and concepts of the various references described above to provide yet further implementations of the invention.
These and other changes can be made to the invention in light of the above Detailed Description. While the above description describes certain examples of the invention, and describes the best mode contemplated, no matter how detailed the above appears in text, the invention can be practiced in many ways. Details of the system may vary considerably in its specific implementation, while still being encompassed by the invention disclosed herein. As noted above, particular terminology used when describing certain features or aspects of the invention should not be taken to imply that the terminology is being redefined herein to be restricted to any specific characteristics, features, or aspects of the invention with which that terminology is associated. In general, the terms used in the following claims should not be construed to limit the invention to the specific examples disclosed in the specification, unless the above Detailed Description section explicitly defines such terms. Accordingly, the actual scope of the invention encompasses not only the disclosed examples, but also all equivalent ways of practicing or implementing the invention under the claims. In some cases, various steps in the algorithms discussed herein may be added, altered, or removed without departing from the disclosed subject matter. Those skilled in the art will appreciate that features described above may be altered in a variety of ways. For example, the order of the logic may be rearranged, sublogic may be performed in parallel, illustrated logic may be omitted, other logic may be included, etc.
To reduce the number of claims, certain aspects of the invention are presented below in certain claim forms, but the applicant contemplates the various aspects of the invention in any number of claim forms. For example, while only one aspect of the invention is recited as a means-plus-function claim under 35 U.S.C. §112(f), other aspects may likewise be embodied as a means-plus-function claim or in other forms, such as being embodied in a computer-readable medium. (Any claims intended to be treated under 35 U.S.C. §112(f) will begin with the words “means for,” but use of the term “for” in any other context is not intended to invoke treatment under 35 U.S.C. §112(f).) Accordingly, the applicant reserves the right to pursue additional claims after filing this application to pursue such additional claim forms, in either this application or in a continuing application.