PROBABILISTIC ADVERTISEMENT REVENUE ATTRIBUTION

Described are systems and methods that utilize ad campaign acquisition information and user profile data to probabilistically determine which users were acquired through which ad campaign. For example, a user probabilistic attribution score may be determined for each ad campaign for each user, and a user lifetime value may be allocated to different ad campaigns based at least in part on the determined probabilistic attribution scores.

BACKGROUND

With the continued increase in mobile device usage and the availability to digital content, advertising is shifting from generic print to user specific and targeted digital advertising. However, this shift has resulted in advertisers having more difficulty developing targeted advertisements for the wide variety of consumers and their preferences and allocating advertising resources to the right advertising campaigns. In addition, with the recent increase in user privacy, traditional information indicating which users downloaded or installed applications in response to an advertisement campaign is often no longer available.

DETAILED DESCRIPTION

Methods and systems are disclosed that provide probabilistic advertisement revenue allocation across multiple advertisement campaigns (“ad campaign”) without the need to have information as to which users obtained, installed, or otherwise accessed an item, such as an application, as a result of which advertisement campaign. With new user privacy measures, advertisers often no longer have a direct connection between advertisements and users that were acquired in response to an advertisement. Instead, advertisers now receive non-user identifiable ad campaign acquisition information indicating the number of users, but not user identifiable information, that were acquired in response to an advertisement of an ad campaign. The ad campaign acquisition information for each ad campaign of a plurality of ad campaigns may then be combined to produce a user acquisition distribution across all of the ad campaigns for the item being advertised. However, because the acquisition information and resulting user acquisition distribution does not include any user identifiable information, such information is insufficient to determine which users were acquired through which ad campaign.

As used herein, a user acquisition or acquired user refers to a user that has installed, downloaded, or otherwise accessed an item, such as an application. For example, if a user downloads a trial version of an application, the user may be referred to herein as an acquired user. An item, as used herein, refers to any physical item, digital item, physical service, or digital service that may be downloaded, obtained, used, or otherwise accessed by a user. As an example, an item may be a digital application that is downloaded onto a user device.

In addition, user profile data corresponding to actual user acquisitions is also accessible. However, while such information does include user identifiable information for users that were acquired (e.g., users that downloaded or installed the application), such as a user identifier, device identifier, operating system, etc., the user profile data does not include any indication of whether the user was acquired in response to an advertisement of an ad campaign or acquired independent of an ad campaign (referred to herein as an organic acquisition).

Because there is no direct link between the two sets of data, ad campaign acquisition information and user profile data, it is not possible to deterministically assess which users were acquired through which ad campaigns.

The disclosed implementations utilize the ad campaign acquisition information and user profile data to probabilistically determine which users were acquired through which ad campaign. For example, a user probabilistic attribution score may be determined for each ad campaign for each user, the user probabilistic attribution score indicating a probability that the user was acquired by the respective campaign.

In addition, to determine the return realized by an ad campaign, a user lifetime value (“LTV”) may be computed for each acquired user, as discussed further below, and a percentage of the user LTV allocated to each of the different ad campaigns to indicate a return on ad campaign spend (“ROAS”). Such information about each ad campaign may then be used to reallocate resources and/or optimize one or more ad campaigns.

FIG. 1is a block diagram of a system100to generate probabilistic advertisement revenue allocation, in accordance with described implementations.

As illustrated, the system100receives non-user identifiable ad campaign acquisition information106indicative of a number of user acquisitions in response to presented advertisements from different ad campaigns122. Such information may be received from a device operating system provider, such as APPLE for devices like the IPHONE, often referred to as ad network data. Such ad campaign acquisition information106may indicate, among other non-user identifiable information, an ad campaign identifier for which one or more advertisements were presented to users via different user devices, an identifier of a host application through which the advertisement was presented, a conversion value indicative of a value of conversions or installs resulting from different advertisements of the ad campaign, etc.

A host application, as used herein, refers to an application that is already installed, operating, or otherwise accessible on a user device through which one or more advertisements are presented. For example, a user may download and install on a user device a host application, such as a game, and, while the host application is executing on the user device (e.g., while the user is playing the game), one or more advertisements of one or more ad campaigns may be presented to the user through the host application.

In some implementations, the system100may also receive user identifiable ad campaign acquisition information104. For example, some users may select to allow user identifiable information to be shared with the system100. For those users, user identifiable ad campaign acquisition information104may be received by the system100that indicates, for a particular user, what ad campaign was presented to the user and whether the user was acquired in response to the ad campaign.

In addition to receiving non-user identifiable ad campaign acquisition information106and user identifiable ad campaign acquisition information104, the system100also receives user acquisition information102. User acquisition information, which is independent of and devoid of any ad campaign acquisition information, indicates a user identifier for different users that have downloaded, installed or otherwise accessed the advertised item.

Based on the non-user identifiable ad campaign acquisition information106, the user identifiable ad campaign acquisition information104, and the user acquisition information102, the system100generates probabilistic attributions108for each ad campaign, as discussed further below. As discussed further below, the probabilistic attribution indicates for each ad campaign a likelihood that a user was acquired in response to the ad campaign.

In addition, the system may determine for each user indicated in the user acquisition information102, a user lifetime value (“LTV”)110for the user. A variety of techniques may be used to compute user LTV, which is a projection of the net profit attributed to the ongoing relationship between the user and the provider of the application installed by the user.

Based on the probabilistic attributions108and computed user LTVs110, the system may compute a predicted return on advertisement spend112(“pROAS”). For example, the system100may maintain or obtain the cost spent or projected to be spent (i.e., budget) on an advertisement campaign and compute, based on the advertisement spend, the probabilistic attributions, and the computed user LTVs a pROAS for each advertisement campaign122as the product of those three sets of values. For advertisement campaigns having a higher probabilistic attribution score108, a larger percentage of the user LTV projection110will be applied to that ad campaign, as discussed further below.

In some implementations, the system100may also utilize the pROAS computed for a variety of ad campaigns122for an item to provide optimization114to the advertiser. For example, optimization for each campaign indicating different geographic areas into which to focus an ad campaign, the types of user devices to which an ad campaign should be delivered, etc., may be optimized. Still further, in some implementations, an advertising budget for an item may be adjusted or re-allocated118based on the pROAS computed for one or more ad campaigns for an item. Reallocation of budgets for ad campaigns may be within the same ad network120and/or across ad networks120, for example as discussed further below with respect toFIG. 5. For example, budgets may be re-allocated across different ad campaigns122-11,122-12, through122-1N that are presented for the same item to ad network1120-1. In other examples, the budget for a single ad campaign122of one or more ad campaigns for the item may be re-allocated to different advertising networks120-1,120-2, through120-N through which advertisements of the ad campaign are presented.

One or more ad campaigns122for an item may be performed on different ad networks. For example, multiple ad campaigns122-11,122-12, through122-1N may be performed on a first ad network120-1, ad campaigns122-21,122-22, through122-2N may be performed on a second network120-2, and ad campaigns122-N1,122-N2, through122-NN may be performed on an Nth network. Likewise, some of the ad campaigns performed on the different ad networks may be the same or different. For example, ad campaign122-12may be the same as ad campaign122-22.

As discussed, the disclosed implementations provide a technical improvement over existing systems by predicting which advertising campaigns acquired which different users without discrete information that indicates which users received which advertising campaigns.

FIG. 2Ais a block diagram200illustrating probabilistic attributions204of a plurality of users201with respect to a plurality of advertisement campaigns202, in accordance with described implementations. An example probabilistic attribution process for determining probabilistic attributions204is discussed further below with respect toFIG. 3.

As illustrated, a probabilistic attribution score for each user201-1,201-2,201-3,201-4, through201-N with respect to each advertisement campaign202-1,202-2, through202-M and an organic acquisition202-X is determined in accordance with the example process300(FIG. 3). For example, for a first user201-1, it is determined that the installation of the application by the first user has a 10% probability204-1as having occurred in response to the first user201-1being presented with an advertisement from a first ad campaign202-1, a 65% probability204-2as having occurred in response to the first user201-1being presented with an advertisement from a second ad campaign202-2, a 15% probability204-M as having occurred in response to the first user201-1being presented with an advertisement from an Mth ad campaign202-M, and a 10% probability204-X as having occurred organically202-X, i.e., independent of an ad campaign202for the item.

As illustrated, in some implementations, the different probability scores204determined for a user and each of the ad campaigns202may sum to unity. In other implementations, the sum of the probability scores for a user may not sum to unity.

Referring now toFIG. 2B, a predicted revenue208may be computed or allocated to each ad campaign based on the determined user LTV values206for each user and the probabilistic attribution score204determined between each user201and each ad campaign202. In the illustrated example, it is determined that the first user201-1has a user LTV of $100206-1. Based on the probabilistic attribution scores204, the user LTV is distributed to each of the different ad campaigns. For example, the product of the user LTV and a probabilistic attribution score between a user and an ad campaign may be computed to determine the portion of the user LTV to allocate to each ad campaign. In the illustrated example, with a probabilistic attribution score204-1of 10% between the first user and the first ad campaign and a user LTV206-1of $100 for the first user, a first predicted revenue208-1of $10 is determined and allocated to the first ad campaign202-1. Likewise, a second predicted revenue208-2of $65 is determined and allocated to the second ad campaign202-2as a result of the product of the second probabilistic attribution score204-2of 65% and the determined user LTV of $100 for the first user201-1, an Mth predicted revenue208-M of $15 is determined and allocated to the Mth ad campaign202-M as a result of the product of the Mth probabilistic attribution score204-M of 15% and the determined user LTV of $100 for the first user201-1, and a predicted revenue208-X of $10 is determined and allocated to the organic acquisition202-X as a result of the product of the Xth probabilistic attribution score204-X of 10% and the determined user LTV of $100 for the first user201-1.

As will be appreciated, different probabilistic attribution scores and different user LTVs will result in different predicted revenues being allocated to each ad campaign. For example, referring now toFIG. 2C, for the second user201-2, who has a user LTV206-2of $10, assuming it is determined that the probabilistic attribution scores214-1,214-2,214-M, and214-X between the second user and the different ad campaigns are 10% for the first ad campaign202-1, 10% for the second ad campaign202-2, 75% for the Mth ad campaign, and 5% for organic acquisitions, the predicted revenue218-1for the first ad campaign is $1.00, the predicted revenue218-2for the second ad campaign is $1.00, the predicted revenue218-M for the Mth ad campaign is $7.50, and the predicted revenue218-X for organic acquisitions202-X is $0.50.

Determining the predicted revenue for each user and each ad campaign may be done between each user and each ad campaign and a total predicted revenue computed for each ad campaign as the sum of the predicted revenue from each user allocated to that ad campaign. For example, if there were only the first user and the second user, the first ad campaign202-1would have a total predicted revenue of $11.00, the second ad campaign202-2would have a total predicted revenue of $66.00, the Mth ad campaign202-M would have a total predicted revenue of $17.50, and the organic acquisition would be allocated $10.50.

Referring now toFIG. 2Dand continuing with the above example, once the predicted revenue is determined between each user and each advertising campaign, a total predicted revenue228may be computed for each ad campaign as the sum of the predicted revenues determined between each user and each ad campaign. In the illustrated example, it may be determined that the total predicted revenue228-1resulting from all the users201-1through201-N for the first ad campaign202-1is determined to be $5,000, the total predicted revenue228-2for the second ad campaign202-2is determined to be $9,000, the total predicted revenue228-M for the Mth ad campaign202-M is determined to be $2,000, and the total predicted revenue228-X resulting from organic acquisitions202-X is determined to be $500.

Likewise, an advertising spend230may be allocated among the different advertising campaigns, as may be specified by the advertiser or otherwise determined. In the illustrated example, the advertising spend230for advertising an item is allocated such that a first advertising spend230-1of $500 is allocated to the first advertising campaign202-1, a second advertising spend230-2of $300 is allocated to the second advertising campaign202-2, and an Mth advertising spend230-M of $100 is allocated to the Mth advertising campaign202-M. It will be appreciated that no advertising spend is allocated to the organic acquisitions because those are acquisitions that are independent of an ad campaign.

Based on the total predicted revenue228determined for each ad campaign202and the portion of the advertising spend230allocated to each advertising campaign, a pROAS232may be computed for each ad campaign202.

As discussed, the pROAS may be utilized to optimize the advertising campaigns, for example to re-adjust advertising budgets to different ad campaigns, as an indicator to adjust the device type, location, etc., to which ads from an ad campaign are to be directed, etc. In the illustrated example, the first ad campaign202-1is determined to have a pROAS with a 10:1 ratio232-1, the second ad campaign202-2is determined to have a pROAS with a 30:1 ratio232-2, and the Mth ad campaign202-M is determined to have a pROAS with a 20:1 ratio. Because the Mth ad campaign202-M has a pROAS of 20:1232-M and the first ad campaign202-1has a 10:1 pROAS232-1, it may be determined to reallocate budget from the first ad campaign202-1to the Mth ad campaign202-M because of the higher pROAS.

FIG. 3is an example advertisement campaign probabilistic attribution process300, in accordance with described implementations.

The example process300begins by determining or receiving non-user identifiable ad campaign acquisition information for an item, as in302. As discussed above, multiple ad campaigns may be performed to advertise an item through different sources and non-user identifiable ad campaign acquisition information may be determined or received for those ad campaigns. As discussed above, the non-user identifiable ad campaign acquisition information may provide acquisition information resulting from different ad presentations of different ad campaigns, but does not include any user-identifiable information. For example, non-user identifiable ad campaign acquisition information may include, but is not limited to, a campaign identifier for which one or more advertisements were presented to users via different user devices, an identifier of a host application through which the advertisement was presented, a conversion value indicative of a value of conversions or installs resulting from different advertisements of the ad campaign, etc. Such information may be received, for example, for a device platform system, management system, etc.

In some implementations, the conversion value may be set according to a specified structure that provides information about the related advertisement or item being advertised. For example, in some implementations, the conversion value may be a 6 bit value, thereby providing sixty-four different values that may be set as the conversion value. Accordingly, the conversion value may be set according to a schedule or plan to indicate information about the ad campaign acquisition information. For example, a first conversion value may specify that the ad campaign was viewed, a second conversion value may specify that the item being advertised through the ad campaign was accessed, a third conversion value may specify that the item being advertised was downloaded, a fourth conversion value may specify that the item being advertised was accessed on the device after download, a fifth conversion value may specify that the item being advertised was accessed and a trial was started, a sixth conversion value may specify that the item being advertised was accessed, a purchase was made, etc.

In some implementations, the conversion value may not be included in all received non-user identifiable information. For example, the provider of non-user identifiable information may withhold the conversion value if a total number of users is below a threshold. In such an instance, the conversion value may enable determination of the user that accessed the advertisement and/or item. In such instances, the disclosed implementations may utilize other information, as discussed below, to account for the omitted conversion values in some of the non-user identifiable information, and generate probabilistic attribution scores.

In addition, the example process may also determine or receive user acquisition information for the item, as in303. For example, the advertiser and/or the provider of an advertised application (an item) may receive user information each time a user installs an application. However, such information is devoid of any ad campaign information.

User profiles for each user indicated in the user acquisition information may also be obtained, as in306. The user profiles may indicate, among other information, purchase history of each user, application use history for other apps purchased/downloaded by each user, user locations, demographics, age, gender, etc.

Based on the app being advertised, the user profiles, and the ad campaign acquisition information, a probabilistic attribution score is determined between each user and each ad campaign for the item, as in308. For example, the user profiles and ad campaign information for each ad campaign (e.g., target audience, ad duration, advertised app genre, advertised app theme, etc.) may be provided to a trained machine learning model and the machine learning model may determine, for each ad campaign and user profile combination, a probabilistic attribution score. As a result, a probabilistic attribution score may be computed for each combination of user and ad campaign.

Once probabilistic attribution scores between the users and each ad campaign have been determined, the example process300completes, as in312.

FIG. 4is an example predicted return on advertisement spend process400, in accordance with described implementations.

The example process400begins by determining a user LTV for each user indicated in the user acquisition information, as in402. Any of a variety of techniques may be utilized to determine user LTV. For example, the Pareto/NBD model may be utilized to compute user LTV. Other such models may likewise be used.

A user of the one or more users indicated in the user acquisition information is then selected, as in404, and user probabilistic attribution scores are determined between the selected user and each ad campaign for the item, as in406. Determination of the user probabilistic attribution scores between the user and each of the ad campaigns is discussed above with respect toFIG. 3.

A percentage of the user LTV is then applied to each ad campaign based on the probabilistic attribution score determined between the user and the respective ad campaign, as in408. The percentage of the user LTV applied to an ad campaign is referred to herein as a predicted revenue from that user for that ad campaign. As discussed above, when there are multiple ad campaigns, the user LTV is distributed among the different ad campaigns based on the probabilistic attribution scores determined for each ad campaign for that user.

After applying a percentage of the user LTV to each ad campaign, a determination is made as to whether additional users are indicated in the user acquisition information for which the example process400is to be performed, as in410.

If it is determined that additional users remain, the example process400returns to block404and continues. If it is determined that the user LTV for each user has been allocated across the different ad campaigns for an item according to the probabilistic attribution scores determined between those users and ad campaigns, for each ad campaign, the applied predicted revenues for each user are summed to compute a total predicted revenue for the ad campaign, as in412.

An ad spend may also be determined or obtained for each ad campaign, as in414. For example, the amount spent on each ad campaign may be periodically provided by an advertiser or otherwise known to the example process400.

Finally, for each ad campaign, a pROAS is computed based at least in part on the total predicted revenue computed for the ad campaign and the ad spend for that ad campaign, as in416. As discussed above, the pROAS may be computed as a ratio between the total predicted revenue and the ad spend for the ad campaign. In other implementations, the pROAS may be computed as a multiple of the ad spend, a percentage of the ad spend, etc.

While the above examples describe computation of a pROAS for each ad campaign, in some implementations, the disclosed implementations may compute a predicted return on investment (“pROI”). For example, the pROI for an ad campaign may be computed as the difference between the predicted total revenue for the ad campaign and the ad spend for the advertisement divided by the ad spend for the ad campaign.

FIG. 5is an example advertisement budget adjustment process500, in accordance with described implementations.

The example process500begins by receiving or obtaining the pROAS determined for each ad campaign for an item, as in502. As discussed above, multiple ad campaigns may be performed for a same item, the campaigns existing on the same or different ad networks.

An objective function for adjusting the ad budget may also be defined, as in504. The objective function may vary for different items, different advertisers, different times of year, etc. For example, one advertiser may specify an object function of exposure of users to the ad campaigns while another advertiser may specify an objective function of revenue maximization from the ad campaigns.

In addition, an overall budget for all ad campaigns corresponding to the item, or at least all ad campaigns for which budget adjustments are to be made, may be determined or obtained, as in506. For example, an advertiser may specify a single total budget for multiple different ad campaigns for an item. The multiple different ad campaigns may all be on a same ad network or may span multiple ad networks.

Finally, one or more constraints may be determined for budget allocation of the overall budget across the multiple ad campaigns, as in508. The one or more constraints may specify any of a variety of constraints that are to be adhered to as part of the example process500. For example, constraints may include, but are not limited to, minimum revenue for an ad campaign, potential users that will access the ad campaign, geographic location, duration of ad campaign, cost per advertisement for the ad campaign, etc.

Based on the pROAS determined for each ad campaign for the item and the overall budget specified for the multiple ad campaigns, the overall allocation of the budget across the ad campaigns is adjusted to optimize the advertising spend across the ad campaigns in accordance with the optimization function and while complying with the constraints, as in510.

The example process500may be performed periodically (e.g., hourly, daily, weekly) for each ad campaign for an item across all networks, periodically for each ad campaign within a single ad network, etc. Likewise, in some implementations, rather than considering and adjusting budgets between individual ad campaigns, in some implementations, the example process500may be applied at the ad network level and portions of the overall budget allocated across the different ad networks. In such an implementation, the example process500may then again be performed at each ad network to determine or adjust allocation of the allocated portion of the overall budget to that ad network among each ad campaign performed on that ad network for the item.

FIG. 6illustrates an example user device600that can be used in accordance with various implementations described herein. In this example, the user device600includes a display602and optionally at least one input component604, such as a camera, on a same and/or opposite side of the device as the display602. The user device600may also include an audio transducer, such as a speaker606, and optionally a microphone608. Generally, the user device600may have any form of input/output components that allow a user to interact with the user device600. For example, the various input components for enabling user interaction with the device may include a touch-based display602(e.g., resistive, capacitive), camera, microphone, global positioning system (GPS), compass, accelerometer, or any combination thereof. One or more of these input components may be included on a device or otherwise in communication with the device. Various other input components and combinations of input components can be used as well within the scope of the various implementations as should be apparent in light of the teachings and suggestions contained herein.

In order to provide the various functionality described herein,FIG. 7illustrates an example set of basic components700of a user device600, such as the user device600described with respect toFIG. 6and discussed herein. In this example, the device includes at least one central processor702for executing instructions that can be stored in at least one memory device or element704. As would be apparent to one of ordinary skill in the art, the device can include many types of memory, data storage or computer-readable storage media, such as a first data storage for program instruction for execution by the processor702. Removable storage memory can be available for sharing information with other devices, etc. The device typically will include some type of display706, such as a touch-based display, electronic ink (e-ink), organic light emitting diode (OLED), or liquid crystal display (LCD).

The device in many implementations will include at least one image capture element708, such as one or more cameras that are able to image objects in the vicinity of the device. An image capture element can include, or be based at least in part upon, any appropriate technology, such as a CCD or CMOS image capture element having a determined resolution, focal range, viewable area, and capture rate. The device can include at least one ad component710for performing the process of sending ad requests and/or application initiation notifications, providing user and/or device information, etc. For example, the user device may be in constant or intermittent communication with a remote computing resource and may exchange information, such as selected advertisements, user device information, user information, application information, engagement information, conditions, etc. The device700may also include an application component709that enables execution and/or monitoring of applications executing on the device. In some implementations, the application component709may collect usage information about applications and provide that information to an ad server system, a machine learning system, advertisers, attributers, etc.

The device also can include at least one location component712, such as GPS, NFC location tracking or Wi-Fi location monitoring. Location information obtained by the location component712may be used with the various implementations discussed herein as a factor in generating advertisements, targeting advertisements, etc.

The example user device may also include at least one additional input device able to receive conventional input from a user. This conventional input can include, for example, a push button, touch pad, touch-based display, wheel, joystick, keyboard, mouse, trackball, keypad or any other such device or element whereby a user can input a command to the device. These I/O devices could be connected by a wireless, infrared, Bluetooth, or other link as well in some implementations.

FIG. 8is a pictorial diagram of an illustrative implementation of a server system800, such as a remote computing resource, that may be used with one or more of the implementations described herein. The server system800may include a processor801, such as one or more redundant processors, a video display adapter802, a disk drive804, an input/output interface806, a network interface808, and a memory812. The processor801, the video display adapter802, the disk drive804, the input/output interface806, the network interface808, and the memory812may be communicatively coupled to each other by a communication bus810.

The video display adapter802provides display signals to a local display permitting an operator of the server system800to monitor and configure operation of the server system800. The input/output interface806likewise communicates with external input/output devices, such as a mouse, keyboard, scanner, or other input and output devices that can be operated by an operator of the server system800. The network interface808includes hardware, software, or any combination thereof, to communicate with other computing devices. For example, the network interface808may be configured to provide communications between the server system800and other computing devices, such as the user device600.

The memory812generally comprises random access memory (RAM), read-only memory (ROM), flash memory, and/or other volatile or permanent memory. The memory812is shown storing an operating system814for controlling the operation of the server system800. A binary input/output system (BIOS)816for controlling the low-level operation of the server system800is also stored in the memory812.

The memory812additionally stores program code and data for providing network services that allow user devices600and external sources to exchange information and data files with the server system800. The memory also stores a data store manager application820to facilitate data exchange and mapping between the data store818, ad server system805, user devices, such as the user device600, external sources, etc.

As used herein, the term “data store” refers to any device or combination of devices capable of storing, accessing and retrieving data, which may include any combination and number of data servers, databases, data storage devices and data storage media, in any standard, distributed or clustered environment. The server system800can include any appropriate hardware and software for integrating with the data store818as needed to execute aspects of one or more applications for the user device600, the external sources and/or the ad server system805. The server system800provides access control services in cooperation with the data store818and is able to generate content such as advertisements.

The data store818can include several separate data tables, databases or other data storage mechanisms and media for storing data relating to a particular aspect. For example, the data store818illustrated includes user profiles and/or ad campaign information for different ad campaigns. Templates, machine learned user models, advertisements, and/or other information may likewise be stored in the data store.

It should be understood that there can be many other aspects that may be stored in the data store818, which can be stored in any of the above listed mechanisms as appropriate or in additional mechanisms of any of the data stores. The data store818may be operable, through logic associated therewith, to receive instructions from the server system800and obtain, update or otherwise process data in response thereto.

The memory812may also include the ad server system805. The ad server system805may be executable by the processor801to implement one or more of the functions of the server system800. In one implementation, the ad server system805may represent instructions embodied in one or more software programs stored in the memory812. In another implementation, the ad server system805can represent hardware, software instructions, or a combination thereof. The ad server system805may perform some or all of the implementations discussed herein, alone or in combination with other devices, such as the user device600.

The concepts disclosed herein may be applied within a number of different devices and computer systems, including, for example, general-purpose computing systems, and distributed computing environments.