Patent ID: 12211064

DETAILED DESCRIPTION

Mechanisms for inhibiting the transmission of media content based on frequency and exposure measurements are provided.

Generally speaking, the mechanisms described herein relate to modifying the transmission of media content to content consumers based on a determination of exposure frequency and/or a determination of exposure time. It should be noted that “exposure frequency” as used herein generally refers to a count of the number of impressions (including both viewable impressions and unviewable impressions) served per user and that “exposure time” as used herein generally refers to a sum of the total amount of time that all of a given set of impressions served to a given user has been in view (imp_ivt). It should also be noted that “lift” as used herein generally refers to the difference of the expected number of treated conversions and the expected number of untreated conversions over the expected number of treated conversions and the expected number of untreated conversions.

It should further be noted that, in some embodiments, exposure frequency and exposure time for a particular content consumer can be determined across all of the device associated with that content consumer. For example, based on user account information, user authentication information, and/or device identification information, the mechanisms can calculate exposure frequency and/or exposure time for the content consumer across multiple devices to determine whether media content, such as an additional advertisement impression, should be transmitted to the content consumer on one of the devices.

For example, in response to receiving consumer transactions associated with a content consumer that is consuming media content items from a content creator or a content provider and determining optimal exposure frequency and/or optimal exposure time from the consumer transactions, the mechanisms can determine an exposure profile from multiple exposure profiles for the content consumer and determine whether to (1) transmit additional media content items for consumption by the content consumer at a computing device (sometimes referred to as “an underexposed profile”), (2) increase impression purchases for the content consumer at the computing device (e.g., to drive the content consumer into a profile having an improved lift) (sometimes referred to as “a target zone profile”), (3) take no further action in connection with the content consumer as lift has been optimized (sometimes referred to as “an ideal zone profile,” and/or (4) take no further action in connection with the content consumer as it is determined there is no added benefit in providing additional impressions (sometimes referred to as “an overexposed profile”).

It should be noted that the mechanisms used herein can include any suitable number of profiles. For example, a particular profile and corresponding action can be inputted using an advertiser device. In another example, using machine learning, a particular subset of profiles can be selected from a group of profiles based on the consumer transaction information, such as campaign impression information and viewability information.

In a more particular example,FIG.1shows an illustrative example of a plot100showing how lift can be dependent upon exposure frequency and/or exposure time. Moreover, the highest amount of lift (as shown by the darker shaded portions of lift bar110, where a lighter shade is equivalent to a lower lift and a darker shade is equivalent to a higher lift) can be obtained by a combination of high exposure frequency120(e.g., a frequency of 10 content items or more) and long exposure time130(e.g., an exposure time of 45 seconds or more). Such a plot can be generated from historical viewability information associated with a content consumer (e.g., as opposed to viewability information associated with a page or a site) and, using machine learning techniques, an optimal exposure frequency and/or an optimal exposure time can be determined to achieve a desired amount or level of lift.

In continuing this example, in response to determining the exposure profile associated with a content consumer, the mechanisms can determine whether to continue presenting media content, such as advertisement impressions from a particular advertising channel or media source, to the content consumer or to inhibit such media content from being purchased and/or presented. For example, the mechanisms can determine that a content consumer has exceeded a saturation point in the lift plot shown inFIG.1such that additional impressions are unlikely to produce additional lift and, in response to that determination, additional impressions from a particular source (e.g., a particular advertisement channel) are to be inhibited from being transmitted to a device associated with the content consumer. In another example, the mechanisms can determine that a content consumer has not yet reached a desired amount or level of lift and that additional impressions are likely to substantially improve lift and, in response to that determination, the mechanisms can purchase impressions for the content consumer to achieve the desired amount or level of lift. Illustrative examples of frequency-exposure plots that can be generated are shown inFIGS.2and3.

For example, as shown inFIG.2, the mechanisms can convert plot100to a frequency-exposure plot200that indicates where impressions should be inhibited. In a more particular example, the mechanisms can generate regions210,220, and230to indicate an underexposed region210in which additional impressions should be purchased and transmitted, an ideal region220in which no further impressions should be purchased and/or transmitted, and an overexposed region230in which no further impressions should be purchased and/or transmitted and in which a content provider should be inhibited from purchasing and/or transmitting additional impressions. In continuing this example, in response to receiving an advertisement request from a browser application executing on a user device (e.g., that was intercepted by a firewall system), the mechanisms can determine whether the user device is associated with one of regions210,220, and230to automatically determine whether a content provider should present an impression to the user device.

It should be noted that, in some embodiments, regions can be any suitable shape of any suitable dimensions. For example, as shown inFIG.3, the mechanisms can convert plot100to a frequency-exposure plot300that indicates an ideal region310of a particular shape and/or dimensions. In continuing this example, in response to receiving an advertisement request from a browser application executing on a user device (e.g., that was intercepted by a firewall system), the mechanisms can determine that impressions should continue being purchased and/or presented on the user device until region310has been reached.

In some embodiments, the mechanisms can determine a threshold exposure frequency value. Referring back toFIG.1, the mechanisms can analyze the plot shown inFIG.1to determine that an optimal lift is achieved at an exposure frequency of ten impressions and that a saturation point has been reached where additional impressions over ten impressions is unlikely to increase lift greater than a given amount. For example, the mechanisms can assign a particular RGB color code or HEX color code to each calculated lift and the mechanisms can select an optimal lift based on exposure frequency corresponding to a particular color code being reached. Accordingly, the mechanisms can continue to present media content from a particular media source, such as impressions associated with an advertisement channel, on a device associated with a user until the threshold exposure frequency value has been reached. For example, the mechanisms can set an impression counter that increments as additional impressions are transmitted to the device until the impression counter reaches a threshold exposure frequency value. It should be noted that, in response to increasing exposure frequency by purchasing impressions for the content consumer to improve lift, exposure time is also increased.

In some embodiments, the mechanisms can determine a threshold exposure frequency value and a threshold exposure time value such that media content is continued to be presented from a particular media source until that content consumer has reached the threshold frequency value and the threshold exposure time. For example, referring back toFIG.1, the mechanisms can analyze the plot shown inFIG.1to determine that an optimal lift is achieved at an exposure frequency of at least ten impressions and an exposure time of at least thirty seconds. In a more particular example, the mechanisms can assign a particular RGB color code or HEX color code to each calculated lift and the mechanisms can determine, based on the assigned color codes, select a threshold frequency value and a threshold exposure time to reach an optimal lift. Accordingly, in continuing this example, the mechanisms can continue to purchase impressions for the content consumer until at least ten impressions have been presented and until the impressions have been in view for at least thirty seconds.

In some embodiments, the mechanisms can use heatmaps in determining threshold frequency values and threshold exposure times.

FIG.4is an illustrative heatmap400that shows a distribution of observed users in bins of frequency and exposure, whileFIG.5is an illustrative heatmap500that shows a distribution of simulated users using the mechanisms described herein to implement a threshold exposure frequency value in accordance with some embodiments of the disclosed subject matter. Note that a darker shade or a darker color code inFIGS.4and5denotes a higher lift value. In particular, the heatmap500ofFIG.5shows that the simulated users have moved towards portions of the heatmap where the lift is higher than that shown inFIG.4. It should also be noted that, in the heatmap500ofFIG.5, there are no users in which the exposure frequency is determined to be in an overexposed state. That is, using the mechanisms described herein, none of the simulated users would be placed in an overexposed profile. This can, for example, optimize lift for a particular content consumer while controlling the placement of media content (e.g., thereby reducing wasted bandwidth, wasted memory resources, wasted resources spent on that content consumer, etc.).

In some embodiments, in response to receiving an advertisement request from a browser application executing on a user device (e.g., that was intercepted by a firewall system), the mechanisms can generate a heatmap of representative users, generate a heatmap of simulated users, and compare the heatmap of simulated users to the heatmap of representative users to determine lift for the user device while controlling the placement of media content.

FIG.6is an illustrative heatmap600that shows a distribution of observed users in bins of frequency and exposure, whileFIG.7is an illustrative heatmap700that shows a distribution of simulated users using the mechanisms described herein to implement a threshold exposure frequency value and a threshold exposure time value in accordance with some embodiments of the disclosed subject matter. For example, the heatmaps600and700inFIGS.6and7illustrate where content consumers continue to receive impressions even if more than a threshold exposure frequency value of ten impressions has been reached as the threshold exposure time value of thirty seconds has not yet been reached. In particular, in comparison with the heatmap600ofFIG.6, the illustrative heatmap700ofFIG.7shows that the simulated users have moved towards portions of the heatmap where lift is higher than that shown inFIG.6.

FIG.8is an illustrative output distribution of advertisement tags or cookies against exposure frequency (in the left distribution) and exposure time (in the right distribution) in accordance with some embodiments of the disclosed subject matter. As shown inFIG.8, using the mechanisms described herein, content consumers can be positioned in improved exposure profiles (e.g., ideal frequency bins).

FIG.9is an illustrative output distribution of the number of served impressions to content consumers against exposure frequency (in the left distribution) and exposure time (in the right distribution) in accordance with some embodiments of the disclosed subject matter. As shown inFIG.9, using the mechanisms described herein, an improved resource spent can be obtained.

It should be noted that the mechanisms described herein can generate a distribution score associated with a content consumer. For example, a distribution score can be calculated based on the quality of a distribution of users in exposure frequency and/or exposure time and the distribution score for a content consumer can be transmitted to an advertising entity when determine whether to purchase additional impressions for that content consumer.

For example, as shown inFIG.10, an illustrative plot of frequency versus exposure for a particular content consumer can be generated based on viewability information in accordance with some embodiments of the disclosed subject matter. In continuing this example, the mechanisms can determine three segments—e.g., 1) an exclusion segment in which an exposure frequency greater than a threshold exposure frequency value and an exposure time greater than a threshold exposure time has been detected in which additional impressions for an advertisement tag associated with this content consumer are not to be purchased and/or transmitted; 2) a target heavily segment in which additional impressions are predicted to substantially improve lift; and 3) a start targeting segment.

In continuing this example, user segment information or a user segment score associated with a particular content consumer can be generated based on the identified segments. In addition, the user segment information or user segment score, current exposure frequency, current exposure time, and other measurements can be updated for the content consumer at any suitable interval (e.g., every minute, every five minutes, every ten minutes, etc.).

It should be noted that, in some embodiments, multiple threshold values can be used. For example, the exclusion segment can determine that an advertisement tag associated with a content consumer should be placed in the exclusion segment in response to determining that either 1) an exposure frequency greater than a first threshold exposure frequency value (e.g., nine impressions) and an exposure time greater than a threshold exposure time (e.g., thirty seconds) has been detected, or 2) an exposure frequency greater than a second threshold exposure frequency value (e.g., fourteen impressions) has been detected.

These mechanisms can be used in a variety of applications. For example, these mechanisms can optimize exposure frequency and exposure time associated with a content consumer to drive causal lift in brand affinity and/or conversions for a particular campaign. In another example, these mechanisms can transmit such exposure frequency-based and exposure time-based determinations associated with a content consumer (and the advertisement tag associated with that content consumer) to a demand side platform or any other suitable entity that determines whether to purchase advertisement impressions for the content consumer.

FIGS.11-13show an illustrative example of the systems used to implement the mechanisms described herein. For example,FIG.11shows a general schematic diagram that illustrates the interactions between various system components to determine whether to continue transmitting media content, such as advertisement impressions, to the content consumer in accordance with some embodiments of the disclosed subject matter. Moreover, the system ofFIG.11shows the transmission of various advertisement tags or pixels that can be used to implement the mechanisms described herein. For example, the mechanisms can map segments to content partner pixels, retrieve particular database entries relating to the content consumer and/or the campaign for a given impression (e.g., campaign segment, campaign segment timestamp information, and a partner notification timestamp), determine whether the segment has changed, determine whether content partners are to receive a notification, and record a segment notification state. In another example,FIG.12shows an illustrative transactional flow between a browser application executing on a user device, a firewall system that receives intercepted or redirected advertisement calls, a data storage system of campaign statistical information that receives requests for campaign segment and notification state information from the firewall system, and a system that calculates exposure time (e.g., per user, per campaign, etc.), calculates user segments (e.g., an underexposed segment versus an overexposed segment having exposure frequency values and exposure time values), and transmits the campaign statistical information and segment information to the data storage system.

In some embodiments,FIGS.11and12show that an advertisement request can be redirected, intercepted, or otherwise transmitted from a user device to a firewall system. In response to receiving the redirected advertisement request, the firewall system can lookup campaign segment and notification state tracking data.

In some embodiments, as shown inFIGS.11and12, the firewall system can lookup partners and map the segment to partner pixels. For example, the firewall system can receive partner campaign subscriptions and/or segment pixel mappings from a partner metadata store. In some embodiments, the firewall system can also transmit event information and DisplayTime log records to a corresponding system that determines whether to update statistics and/or write a segment associated with the user device for storage in the campaign statistics data store.

In some embodiments, as shown inFIGS.11and12, the firewall system can read at least three bin map entries from the data store for the user or campaign on impression (e.g., campaign_segment, campaign_segment_timestamp, and campaign_notified_timestamp). In response to reading the bin map entries, the firewall system can determine if the segment has changed. In response to determining that the segment has changed, a notification can be sent the partner device. Additionally or alternatively, in response to determining that the segment has changed, the firewall system can transmit an instruction to drop the partner pixel as shown inFIG.11.

An illustrative notification state tracking and pixel drop code can be represented by:

user_record = read_record_by_user_id(some_user_id)segment = get_current_segment_from(user_record)segment_timestamp = get_segment_timestamp_from(user_record)notified_segment = get_notified_timestamp_from(user_record)if (segment not blank AND (notified_timestamp is blank ORsegment_timestamp > notified_timestamp)) thenwrite_notified_timestamp(segment_timestamp)drop pixels( )end

In some embodiments, historical viewability information can be extracted from a campaign statistics data store. For example, as shown inFIG.12, a code executing on browser application can transmit event information that includes content information, exposure time information, and frequency information, etc. Such event information can be aggregated based on user account information, device information, etc. In another example, as shown inFIG.11, a firewall system that intercepts advertisement requests can collect event information from the code executing on the browser application for storage on a campaign statistics data store or a system that collects event information or log information and generates campaign statistical information for storage on the campaign statistics data store. In a more particular example, this can include collecting initial and DisplayTime calls from one or more firewall servers.

Based on the impression information, the firewall system or any other suitable component can calculate exposure time per user or exposure time per campaign based on number of content items provided to a user device, a number of viewable content items provided to a user device, and a total exposure time associated with a user device.

Based on the determined exposure information, the firewall system or any other suitable component can determine a user segment for the user device from multiple user segments. In some embodiments, the firewall system can update a data store with updated exposure time information. In some embodiments, the firewall system can transmit user exposure statistics or user segment information to partner devices at a particular time (e.g., every X seconds).

Turning to the exposure time calculator inFIG.13, an exposure time calculator can filter, from the firewall system logs, impressions and DisplayTime information that are related to subscribed partners. As shown inFIG.13, this can include retrieving a list of subscribed partners and campaigns from a suitable metadata store.

In some embodiments, the exposure time calculator ofFIG.13can calculate user exposure time based on any suitable impression information. In one example, starting from an initial event, the exposure time calculator can determine user exposure time based on a number of impressions provided to a user device. In another example, the exposure time calculator can determine user exposure time based on a number of viewable impressions that is incremented in response to detecting that an impression was viewable (e.g., based on a dt ping1, ping5, ping 15). It should be noted that the exposure time calculator can detect that an impression was viewable and increment the number of viewable impressions in response to any suitable information, such as in response to receiving a dt ping1, ping5, ping 15, and unload call.

In some embodiments, user exposure statistics can be aggregated based on any suitable time interval. For example, user exposure statistics can be generated for the last 1 minute, the last ten minutes, the last hour, the last day, the last fourteen days, etc.

In some embodiments, the exposure time calculator ofFIG.13can request updates of user states from an exposure time store. In response to determining that the user exposure statistics have changed, the exposure time calculator ofFIG.13can determine which partner devices should receive the updated user exposure statistics. This can include, for example, generating partner-specific payloads having particular data formats, update frequencies, size, etc.

In some embodiments, it should be noted that content providers, such as advertiser, can be enabled to optimize exposure across users and campaigns to drive causal lift in brand affinity and/or conversions for their campaigns. This can be done by, for example, tracking user exposure, the frequency and time a user is exposed to viewable impressions, in real-time on a campaign-by-campaign basis. Observed changes to user exposure can be translated to pre-defined audience segments and communicated to partner systems (such as DSPs) on a user or campaign basis. In order to communicating these segments, the firewall system described above in connection withFIG.11can perform a cookie syncing with each partner device.

It should be noted that, in some embodiments, multiple segments that each correspond to increasing levels of frequency (X) and time (Y) can be defined. Segments with increasing frequency (X) and time (Y) can correspond to a signal to target and bid on a user with increasing priority as the user device gets closer to the exposure range that provides optimal lift. The final segment of the multiple segments corresponds to a signal to stop transmitting media content or impressions to the user as additional impressions generally do not generate meaningful incremental lift.

For example,FIG.11shows that a user device that is executing a browser application can transmit a segment pixel to a partner device. In a more particular example, the browser application executing on the user device can fire pixels only on subscribed campaign impressions and only segment pixels for the campaign the impression is associated with. In another more particular example, a partner device can provide a cookie sync pixel that contains a request parameter (which is set to the redirect URL) and a cookie macro that the partner device sets to a corresponding cookie value prior to redirecting. The cookie can, in some embodiments, contain a partner identifier and an authentication token. Upon receiving a cookie sync request, the partner device issues a302redirect call back to the firewall system or any other suitable system with the cookie value for the user.

In some embodiments, the mechanisms can support a bidirectional sync. For example, given a particular pixel code, a request parameter for a redirect URL, a parameter name (uid), and a partner macro ([UID]), a representative pixel that is fired can be represented by: http://partner.com/cookiesync?uid=xxx&redir_url=http://sc.iasds01.com/sc?partner_id=xxx&partner_uid=[UID]&auth=xxx.

In some embodiments, the mechanisms can support a unidirectional sync. For example, given a particular pixel code and a partner macro ($UID), a representative pixel that is fired can be represented by http://ib.adnx.com/getuid?http://iasds01.com/sc?&partner_id=xxx&partner_uid=$UID&auth=xxx.

In some embodiments, the mechanisms can aggregate user exposure for pre-defined time periods and then translate them to a set of audience targeting segments. As shown inFIG.11, when a user segment changes, a segment update request can be created that sends the user segment changes to the partner for the specified campaign.

In accordance with some embodiments of the disclosed subject matter, the mechanisms described herein can be used to estimate the causal effect of different content exposure levels.

In some embodiments, the mechanisms described herein relate to estimating the causal effect of different advertisement exposure levels during a particular time period in a user's timeline. More particularly, the mechanisms can determine the exposure of users that converted or took a particular action of interest over a particular time window preceding the conversion. Examples of actions that can be considered a campaign conversion can include engagement with or clicking on the advertisement, accessing and/or browsing a web site of the advertiser, downloading and/or purchasing a product sold or provided by the advertiser, signing up for a subscription from the advertiser, providing information to be added to an advertiser's mailing list, etc.

For these users that are considered converted (sometimes referred to herein as “converter users”), the mechanisms can generate a distribution of the characteristics of converters over variables of interest and select other campaign users that are similar (e.g., have similar characteristics over the variables of interest) to reproduce these distributions. This can allow, for example, converter and non-converter users to be divided into homogeneous groups for counterfactual analysis. With each group of converter users and non-converter users, one or more counterfactual analysis techniques using advertisement viewability as a treatment variable can be used. For example, users without a single viewable advertisement can be considered untreated and can be placed in a control group, while users with at least one viewable advertisement can be considered treated and can be placed in a test group. For the users placed in the test group, exposure level can be defined both by the number of advertisements that the user received and the total amount of time that the user was exposed to the advertisements.

It should be noted that the mechanisms can determine the relationship between repeated exposure to an advertisement, the cumulative exposure time to that advertisement, and online conversion by analyzing a user's activity in a fixed time window before a conversion and then comparing that user's activity with another user having a similar pattern of activity that did not perform a conversion action.

FIG.14shows an illustrative example of a process1400for placing multiple users into one or more test groups and one or more control groups based on extracted impression information in accordance with some embodiments of the disclosed subject matter.

In some embodiments, as shown at1410of process1400, process1400can begin by receiving a set of users. This can include, for example, user account information, user account identifiers, etc. Upon receiving the set of users at1410, process1400can access an impression log collected using campaign monitoring code implemented in connection with content tags at1420. For example, an impression log can be collected using campaign monitoring pixel tag implemented on all advertiser tags. In continuing this example, at1430, process1400can extract impression information including timestamp information and exposure time information for one or more users of the set of users from the accessed impression log.

In some embodiments, process1400can also access a conversion log collected using conversion code implemented on a conversion tracking page at1440. For example, a conversion log can be collected using a conversion pixel implemented on an advertiser conversion tracking page. In continuing this example, process1400can extract conversion event information for one or more users of the set of users from the accessed conversion log at1450.

In some embodiments, at1462, process1400can divide the set of users into a control group and a test group based on the extracted impression information by placing users from the set of users into the test group in response to determining that a user has received at least one viewable content item and placing remaining users from the set of users into the control group in response to determining that a user has not received at least one viewable content item. For example, users without a single viewable advertisement can be considered untreated and can be placed in the control group, while users with at least one viewable advertisement can be considered treated and can be placed in the test group.

It should be noted that, although the embodiments described herein generally relate to the receipt of at least one viewable content item, any suitable criterion can be used to divide users into the control group and the test group.

FIG.15shows an illustrative example of a process1500for determining the causal effect of different content exposure levels in accordance with some embodiments of the disclosed subject matter.

In some embodiments, for each user that was placed into the test group, process1500can, at1510, determine whether the extracted impression information, which includes timestamp information and exposure time information, can be associated with extracted conversion event information.

In response to associating extracted impression information with extracted conversion event information for one or more users in the test group at1510, process1400can perform an analysis of the converter population at1520.

For example, process1500can begin analyzing the converter population by defining a fixed time window, w, that occurs prior to a conversion action from the conversion event information and determining advertisement viewability information associated with that fixed time window. In a more particular example, for each user in the test group that has an associated conversion action, process1500can set a fixed time window of one week prior to the conversion action and can determine, from the extracted impression information, the number of campaign advertisements, N, that was delivered to the user during that time window and the total amount of time that the user was exposed to these campaign advertisements, T. The advertisement viewability information for that user during that time window can be associated with the user and stored in a storage device (e.g., indexed by a user identifier) at1530.

In some embodiments, as exposure to content items, such as advertisements, can be correlated with the amount of time that the user spends on the page where the content item is served, process1500can also determine the total time that the user spent on pages during the analysis time window, Tp, at1540. The determined information can also be associated with the user and stored in a storage device.

In some embodiments, based on information on when advertisements occur for a particular user during a defined analysis time window, process1500can generate a distribution of times between the first advertisement in the analysis time window and the conversion at1550. For example, for a converter user with two advertisements in the analysis time window (or any other suitable number of advertisements), process1500can generate a distribution of times between the first advertisement and the conversion.

In some embodiments, upon analyzing the converter population and obtaining distributions of converter users with a different number of advertisements, process1500can continue by determining a comparable sampling of non-converter users at1560. For example, process1500can determine users placed in the test group for which at least one viewable advertisement was delivered and for which a conversion action was not associated. That is, process1500can search for users having a similar temporal advertisement distribution as the distribution of a converter user, but that did not perform a corresponding conversion action. These users are sometimes referred to herein as “non-converter users” or “non-converters.” It should be noted that any suitable technique can be used to comparing the similarity between distributions of converter users and distributions of non-converter users. Upon performing this comparison, a sample of non-converter users in which the temporal distribution of the advertisement in a window of size, w, is similar to that of the converter user can be found.

In some embodiments, process1500can then determine campaign effectiveness information at each exposure level based on the comparison of converter users with similar non-converter users.

For example, process1500can determine the average effect of a campaign, D, as follows:

D=CRT−CRU, where CRTis the conversion rate of the treated (or test) group and CRUis the conversion rate of the untreated (or control) group and where the conversion rate within each group can be defined as the number of users that perform a conversion action divided by the total number of users.

In another example, process1500can determine lift of a campaign, L, as follows:

L=D/CRU, where D and L can be determined at each exposure level (a combination of N and T described above).

In a more particular example, for each analyzed campaign, process1500can determine the average effect and the lift at each combination of the number of campaign advertisements, N, and the total amount of time that a user was exposed to such advertisements, T and a 95% confidence interval.

In some embodiments of the disclosed subject matter, the mechanisms described herein can be used to determine the causal effect of different advertisement exposure levels on offline sales lift. For example,FIG.16shows an illustrative example of a process for determining the causal effect of different content exposure levels on offline sales lift in accordance with some embodiments of the disclosed subject matter.

It should be noted that, in some embodiments, the mechanisms can divide the analysis period T (which can correspond to the duration of a campaign) into multiple smaller time intervals, Tk, at1620. For example, time intervals, Tk, can be a few hours, one day, a few days, or any other suitable time interval. In another example, prior to dividing the analysis period into multiple time intervals, process1600can, at1610, determine an optimal time interval based on the particular campaign and data associated with the particular campaign. In a more particular example, the optimal time interval can range from one day to a time that is substantially similar to the entire duration of the analysis period, T.

In some embodiments, process1600can then continue by determining the effect of exposure to advertisements on each time interval, Tk, on in-store sales transactions that occurred the following day after the time interval has ended at1630. This can be performed by defining segments that each correspond to treated and untreated users at different exposure levels (e.g., frequencies or exposure times) for each time interval, Tk. In continuing this example, for each exposure segment, a vendor (e.g., a second party vendor) that possesses the sales transaction data can determine a sales rate and an average sale price (or other suitable sale transaction metrics) on each day after the time interval, Tk, and can determine a sales rate and an average sale price (or other suitable sale transaction metrics) on each day before the time interval, Tk. The sales rate before time interval, Tk, can be used to validate the baseline.

In some embodiments, at1640, a server implementing the mechanisms described herein can receive, from a cookie-syncing partner device, a mapping of a user identifier to a vendor user identifier (e.g., user ID to second party vendor user ID). This mapping can be used, for example, to match exposure data and/or sales data.

In some embodiments, at1650, the server implementing the mechanisms described herein can generate a list of consumers for each of the exposure segments. It should be noted that, in some embodiments, each consumer can be identified by the vendor user identifier.

In some embodiments, at1660, the server implementing the mechanisms described herein can transmit the generated list of consumers to the vendor. For example, upon receiving the generated list of consumers, a vendor device can be used to determine one or more aggregate sales metrics for each of the exposure segments.

In some embodiments, at1670, the server implementing the mechanisms described herein can receive the one or more aggregate sales metrics determined by the vendor device for each segment and can determine the lift of the campaign, L, as described above. For example, the determined lift can be transmitted to the vendor device for modifying the campaign. In another example, in response to determining that the lift of the campaign is less than a desired lift, the server implementing the mechanisms described herein can analyze the campaign and transmit one or more recommendations for modifying the campaign to improve the lift of the campaign. In continuing this example, in response to determining that the lift of the campaign is less than a desired lift, the server implementing the mechanisms described herein can transmit code to the vendor device that allows the code to automatically modify campaign parameters based on the determined impact of exposure on lift from the aggregate sales metrics.

Additionally or alternatively, in some embodiments, at1680, the server implementing the mechanisms described herein can transmit code to the vendor device that, upon execution, can determine the lift of the campaign, L, as described above. For example, upon executing the code, which receives the one or more aggregate sales metrics determined by the vendor device, the code can determine the lift of the campaign, L, and can generate a user interface for presentation on the vendor device. Such a user interface can, for example, present one or more recommendations on modifying the campaign based on the determined impact of exposure on lift from the aggregate sales metrics.

These mechanisms can be used in a variety of applications. For example, these mechanisms can be used to modify a campaign based on the determined campaign effectiveness information. In another example, these mechanisms can be used to optimize particular variables associated with a user to drive causal lift in brand affinity and/or conversions for a particular campaign. In yet another example, these mechanisms can transmit campaign effectiveness information to a demand side platform or any other suitable entity that determines whether to purchase advertisement impressions.

FIG.17shows an example1700of a generalized schematic diagram of a system on which the mechanisms for inhibiting the transmission of media content based on frequency and exposure measurements as described herein can be implemented in accordance with some embodiments of the disclosed subject matter. As illustrated, system1700can include one or more user devices1710. User devices1710can be local to each other or remote from each other. User devices1710can be connected by one or more communications links1708to a communication network1706that can be linked to a server1702via a communications link1704.

System1700can include one or more servers1702. Server1702can be any suitable server or servers for providing access to the mechanisms described herein for inhibiting the transmission of media content based on frequency and exposure measurements, such as a processor, a computer, a data processing device, or any suitable combination of such devices. For example, the mechanisms for inhibiting the transmission of media content based on frequency and exposure measurements are provided can be distributed into multiple backend components and multiple frontend components and/or user interfaces. In a more particular example, backend components, such as mechanisms for receiving partner subscription information, receiving segment pixel mappings, calculating exposure time, calculating frequency, determining threshold exposure time and threshold frequency based on lift measurements, receiving segment information, determining whether to update segment information, transmitting notifications regarding updated segment information, etc., can be performed on one or more servers1702. In another more particular example, frontend components, such as presentation of a user interface for providing segment pixels, providing pixel information, placing advertisement tags on a given webpage, providing pixel mappings, initiating the mechanisms for inhibiting the transmission of media content based on frequency and exposure measurements, etc., can be performed on one or more user devices1710.

In some embodiments, each of user devices1710, and server1702can be any of a general purpose device such as a computer or a special purpose device such as a client, a server, etc. Any of these general or special purpose devices can include any suitable components such as a hardware processor (which can be a microprocessor, digital signal processor, a controller, etc.), memory, communication interfaces, display controllers, input devices, etc. For example, user device1710can be implemented as a personal computer, a laptop computer, a smartphone, a tablet computer, a mobile telephone, a wearable computer, any other suitable computing device, or any suitable combination thereof.

Communications network1706can be any suitable computer network or combination of such networks including the Internet, an intranet, a wide-area network (WAN), a local-area network (LAN), a wireless network, a Wi-Fi network, a digital subscriber line (DSL) network, a frame relay network, an asynchronous transfer mode (ATM) network, a virtual private network (VPN), an intranet, etc. Each of communications links1704and1708can be any communications links suitable for communicating data among user devices1710and server1702, such as network links, dial-up links, wireless links, hard-wired links, any other suitable communications links, or any suitable combination of such links. Note that, in some embodiments, multiple servers1702can be used to provide access to different mechanisms associated with the mechanisms described herein for dynamically detecting mobile environment information.

FIG.18shows an example1800of hardware that can be used to implement one or more of user devices1710, and servers1702depicted inFIG.17in accordance with some embodiments of the disclosed subject matter. Referring toFIG.18, user device1710can include a hardware processor1812, a display1814, an input device1816, and memory1818, which can be interconnected. In some embodiments, memory1818can include a storage device (such as a non-transitory computer-readable medium) for storing a computer program for controlling hardware processor1812.

Hardware processor1812can use the computer program to execute the mechanisms described herein for receiving impression information, receiving segment pixel mappings, and/or for performing any other suitable task associated with the mechanisms described herein. In some embodiments, hardware processor1812can send and receive data through communications link1708or any other communication links using, for example, a transmitter, a receiver, a transmitter/receiver, a transceiver, or any other suitable communication device. Display1814can include a touchscreen, a flat panel display, a cathode ray tube display, a projector, a speaker or speakers, and/or any other suitable display and/or presentation devices. Input device1816can be a computer keyboard, a computer mouse, a touchpad, a voice recognition circuit, a touchscreen, and/or any other suitable input device.

Server1702can include a hardware processor1822, a display1824, an input device1826, and memory1828, which can be interconnected. In some embodiments, memory1828can include a storage device (such as a non-transitory computer-readable medium) for storing data received through communications link1704or through other links. The storage device can further include a server program for controlling hardware processor1822. In some embodiments, memory1828can include information stored as a result of user activity (e.g., user instructions to specify one or more advertising management techniques for particular advertising placements, etc.), and hardware processor1822can receive information about advertising placements from user devices1710. In some embodiments, the server program can cause hardware processor1822to, for example, determine threshold exposure frequency and threshold exposure time, determine whether to transmit additional media content items for consumption by the viewer, determine whether to increase impression purchases for the viewer, determining whether to take no further action with regard to the viewer, determine whether to inhibit the transmission of additional media content items to the viewer, and/or for perform any other suitable task associated with the mechanisms described herein.

In a more particular example, hardware processor1822can use the computer program to execute the mechanisms described herein for receiving consumption information of a plurality of content items associated with a plurality of viewers; determining, from the consumption information, exposure frequency for each viewer of the plurality of viewers, exposure time of a set of content items provided to each viewer of the plurality of viewers, and lift for each viewer of the plurality of viewers, wherein the lift corresponds to a difference of an expected number of treated conversions and an expected number of untreated conversions over a sum of the expected number of treated conversions and the expected number of untreated conversions; determining an optimal exposure frequency and an optimal exposure time based on the exposure frequency, the exposure time, and the lift; generating (i) a first user segment in which a plurality of additional content items should be provided to a viewer of the plurality of viewers, (ii) a second user segment in which at least one additional content item should be provided to the viewer of the plurality of viewers, and (iii) a third user segment in which no additional content items should be provided to the viewer of the plurality of viewers; receiving a request for a content item from a user device; determining whether the user device should be assigned with the first user segment, the second user segment, or the third user segment; in response to determining that the user device should be assigned to the first user segment, transmitting the plurality of additional content items until determining that the user device should be assigned to the second user segment based on updated exposure frequency information and updated exposure time information; continuing to transmit the at least one additional content item to the user device while the user device is positioned within the second user segment until determining that the user device should be assigned to the third user segment based on the updated exposure frequency information and the updated exposure time information; inhibiting the presentation of any additional content items on the user device in response to the user device being positioned within the third user segment; sending and receiving data through communications link1708; and/or for performing any other suitable task associated with the mechanisms described herein.

In another more particular example, hardware processor1822can use the computer program to execute the mechanisms described herein for receiving a set of users; extracting impression information including timestamp information and exposure time information for one or more users in the set of users from an accessed impression log; extracting conversion event information for the one or more users in the set of users; placing a first subset of users into a test group and a second subset of users into a control group, wherein the first subset of users in the test group includes users that received at least one viewable content item on an associated user device and wherein the second subset of users in the control group include remaining users that were not placed in the first subset of users; determining a plurality of converter users from the test group by selecting which of the first subset of users in which the extracted impression information of that user is associated with extracted conversion event information of that user; defining a fixed time window that occurs prior to a conversion action from the conversion event information; determining for each of the plurality of converter users in the fixed time window, content viewability information that includes total time information that a converter user was exposed to a content item during the fixed time window; generating a first plurality of temporal distributions for each of the plurality of converter users, wherein each of the plurality of distributions is a temporal distribution between a first content item and the conversion action for the converter user; determining a plurality of non-converter users that each have one of a second plurality of temporal distributions that is similar to the first plurality of temporal distributions associated with the plurality of converter users; determining a lift associated with a plurality of content items based on a comparison of a first conversion rate of the plurality of converter users with a second conversion rate of the plurality of non-converter users; and automatically modifying presentation of the plurality of content items based on the determined lift.

Hardware processor1822can use the server program to communicate with user devices1710as well as provide access to and/or copies of the mechanisms described herein. It should also be noted that data received through communications link1704or any other communications links can be received from any suitable source. In some embodiments, hardware processor1822can send and receive data through communications link104or any other communications links using, for example, a transmitter, a receiver, a transmitter/receiver, a transceiver, or any other suitable communication device. In some embodiments, hardware processor1822can receive commands and/or values transmitted by one or more user devices1710and/or one or more users of server1702. Display1824can include a touchscreen, a flat panel display, a cathode ray tube display, a projector, a speaker or speakers, and/or any other suitable display and/or presentation devices. Input device426can be a computer keyboard, a computer mouse, a touchpad, a voice recognition circuit, a touchscreen, and/or any other suitable input device.

In some embodiments, server1702can be implemented in one server or can be distributed as any suitable number of servers. For example, multiple servers1702can be implemented in various locations to increase reliability and/or increase the speed at which the server can communicate with user devices1710. Additionally or alternatively, as described above in connection withFIG.17, multiple servers1702can be implemented to perform different tasks associated with the mechanisms described herein.

It should be understood that the mechanisms described herein can, in some embodiments, include server-side software, server-side hardware, client-side software, client-side hardware, or any suitable combination thereof. For example, the mechanisms described herein can encompass a computer program written in a programming language recognizable by server1702and/or by user device1710(e.g., a program written in a programming language, such as, Java, C, Objective-C, C++, C #, JavaScript, Visual Basic, or any other suitable approaches). As another example, the mechanisms described herein can encompass one or more Web pages or Web page portions (e.g., via any suitable encoding, such as Hyper Text Markup Language (“HTML”), Dynamic Hyper Text Markup Language (“DHTML”), Extensible Markup Language (“XML”), JavaServer Pages (“JSP”), Active Server Pages (“ASP”), Cold Fusion, or any other suitable approaches).

In some embodiments, any suitable computer readable media can be used for storing instructions for performing the processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.

It should be understood that the above described steps can be executed or performed in any order or sequence not limited to the order and sequence shown and described in the figures. Also, some of the above steps can be executed or performed substantially simultaneously where appropriate or in parallel to reduce latency and processing times. It should also be noted that, as used herein, the term mechanism can encompass hardware, software, firmware, or any suitable combination thereof.

Accordingly, methods, systems, and media for inhibiting the transmission of media content based on frequency and exposure measurements are provided.

Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention. Features of the disclosed embodiments can be combined and rearranged in various ways.