US20210090125A1 - Native Advertisements - Google Patents
Native Advertisements Download PDFInfo
- Publication number
- US20210090125A1 US20210090125A1 US17/114,751 US202017114751A US2021090125A1 US 20210090125 A1 US20210090125 A1 US 20210090125A1 US 202017114751 A US202017114751 A US 202017114751A US 2021090125 A1 US2021090125 A1 US 2021090125A1
- Authority
- US
- United States
- Prior art keywords
- assets
- network
- content
- format
- server system
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0267—Wireless devices
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0247—Calculate past, present or future revenues
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0273—Determination of fees for advertising
- G06Q30/0275—Auctions
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0277—Online advertisement
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
-
- H04M1/72561—
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/18—Information format or content conversion, e.g. adaptation by the network of the transmitted or received information for the purpose of wireless delivery to users or terminals
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04M—TELEPHONIC COMMUNICATION
- H04M1/00—Substation equipment, e.g. for use by subscribers
- H04M1/72—Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
- H04M1/724—User interfaces specially adapted for cordless or mobile telephones
- H04M1/72403—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
- H04M1/72445—User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality for supporting Internet browser applications
Definitions
- An increasing number of companies, agencies, individuals, and other parties use online advertising to promote their products and services.
- An advertiser purchases advertising space from an individual publisher, an advertising network, or an advertising exchange that distributes advertisements to one or more publishers.
- a publisher may display advertisements in several formats depending on the platform the publisher uses to interface with the consuming public.
- Native ads are a type of advertisement typically customized to better blend with the computing environment in which they are displayed. For example, content of native ads are typically displayed in a color palette and font consistent with the graphical user interface of an application in which the former is displayed.
- Embodiments include a converter that transforms ad content, in variety of formats and from a variety of sources, into a set of expected ad assets in an expected format, thereby allowing the ad content to be displayed as native ads for a particular application.
- These ad assets are used by a publisher of a mobile application to fill an ad unit in the application (discussed below) with a native advertisement.
- the publisher may select to include or omit one or more of the ad assets, dictate the layout of the ad assets, dictate one or more attributes of the ad assets (e.g., font, background color, etc.).
- the converter may be located on the mobile device itself and/or on an ad server system.
- the ad sever system may select the ad source to increase revenue for the publisher.
- embodiments relate to a method for operating a server system.
- the method comprises: receiving, by the server system, a request for a plurality of assets in a first format to fill an ad unit, in an application executing on a mobile device, with a native advertisement; receiving, by the server system and from an ad source over a network, ad content in a second format; converting, by a converter of the server system, the ad content in the second format to the plurality of assets in the first format; and sending, by the server system, the plurality of assets to the application, wherein the application fills the ad unit with the native advertisement comprising at least one of the plurality of assets.
- embodiments relate to a method for operating a mobile device.
- the method comprises: issuing, by a server system SDK executing on the mobile device, a request for a plurality of assets in a first format to fill an ad unit, in an application, with a native advertisement; receiving, by the server system SDK and from a server system, an identity of an advertisement (ad) network; issuing, by an SDK of the ad network executing on the mobile device and based on the identity received from the server system, a content request to the ad network for the plurality of assets; receiving, by the SDK of the ad network, ad content in a second format from the ad network; converting, by a converter executing on the mobile device, the ad content in the second format to the plurality of assets in the first format; and filling the ad unit with the native advertisement comprising at least one of the plurality of assets.
- inventions relate to a server system.
- the server system comprises: a computer processor; and a converter executing on the computer processor that: receives a request for a plurality of assets in a first format to fill an ad unit, in an application executing on a mobile device, with a native advertisement; receives, from an ad source and over a network, ad content in a second format; converts the ad content in the second format to the plurality of assets in the first format; and sends the plurality of assets to the application, wherein the application fills the ad unit with the native advertisement comprising at least one of the plurality of assets.
- inventions relate to a mobile device.
- the mobile device comprises: a server system SDK, executing on the mobile device, that: issues a request for a plurality of assets in a first format to fill an ad unit, in an application executing on the mobile device, with a native advertisement; receives, from a server system, an identity of a first advertisement (ad) network; and converts, using a converter executing on the mobile device, ad content in a second format to the plurality of assets in the first format; and an SDK of the first ad network, executing on the mobile device, that: issues based on the identity received from the server system, a content request to the first ad network for the plurality of assets; and receives the ad content in the second format from the first ad network, wherein the ad unit is filled with the native advertisement comprising at least one of the plurality of assets.
- a server system SDK executing on the mobile device, that: issues a request for a plurality of assets in
- embodiments relate to a non-transitory computer-readable medium (CRM) storing instructions for operating a server system.
- the server system receives a request for a plurality of assets in a first format to fill an ad unit, in an application executing on a mobile device, with a native advertisement; receives, from an ad source over a network, ad content in a second format; converts, by a converter of the server system, the ad content in the second format to the plurality of assets in the first format; and sends, by the server system, the plurality of assets to the application, wherein the application fills the ad unit with the native advertisement comprising at least one of the plurality of assets.
- CCM computer-readable medium
- FIG. 1A and FIG. 1B show systems in accordance with one or more embodiments of the invention.
- FIG. 1C shows a flowchart in accordance with one or more embodiments of the invention.
- FIG. 2A and FIG. 2B show flowcharts in accordance with one or more embodiments of the invention.
- FIG. 3 shows a flowchart in accordance with one or more embodiments of the invention.
- FIG. 4 shows a table identifying multiple assets in accordance with one or more embodiments of the invention.
- FIG. 5 shows a computing system in accordance with one or more embodiments of the invention.
- ordinal numbers e.g., first, second, third, etc.
- an element i.e., any noun in the application.
- the use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as by the use of the terms “before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements.
- a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
- ad content is received in different formats from different ad sources.
- An advertising server (“ad server”) system may convert the ad content into assets having a common or standard format. These assets are then sent to the requesting application and are used to generate a native ad to populate an ad unit displayed within the application.
- FIG. 1A shows a system in accordance with one or more embodiments of the invention.
- the system ( 100 ) has multiple components including one or more computing devices ( 130 , 141 ) executing one or more applications ( 133 ), one or more ad sources (e.g., one or more ad networks ( 103 ) and/or demand-side platforms (DSP) ( 105 )), and an ad server system ( 111 ) including a data repository ( 113 ) storing network credentials ( 115 ) and network metrics ( 117 ), an optimizer ( 119 ), a network reporter ( 121 ), a converter ( 125 ), as asset upload GUI ( 124 ), and an ad exchange module ( 123 ).
- ad sources e.g., one or more ad networks ( 103 ) and/or demand-side platforms (DSP)
- DSP demand-side platforms
- 111 including a data repository ( 113 ) storing network credentials ( 115 ) and network metrics (
- each computing device ( 130 , 141 ) is a desktop personal computer (PC), a laptop, a tablet computer, an electronic reader (e-reader), a cable box, a kiosk, a smart phone, a server, a mainframe, a personal digital assistant (PDA), or any other type of hardware device.
- Each computing device ( 130 , 141 ) includes one or more processors and memory to execute one or more applications.
- the computing devices ( 130 , 141 ) may communicate with the ad server system ( 111 ) using wired and/or wireless (e.g., wifi, cellular, etc.) connections.
- the application ( 133 ) is a software application of any type (e.g., operating system, messaging application, social networking application, game, word processing application, web browser, etc.).
- the application ( 133 ) is developed and/or owned by a publisher.
- the application ( 133 ) is implemented to include one or more ad units(s) ( 135 ).
- An ad unit ( 135 ) is a predefined space in an application used to display one or more native advertisements.
- FIG. 1A only shows the application ( 135 ) as having one ad unit ( 135 ), the application ( 133 ) may have any number of ad units ( 135 ).
- a native advertisement is composed of one or more assets and is designed to blend in (i.e., similar look and feel, color, font, background, size, etc.) with content displayed close to the ad unit ( 135 ).
- the one or more assets are provided to the application ( 133 ) during execution of the application ( 133 ).
- New/updated assets may be provided to the application at any time during the execution of the application ( 133 ).
- the native advertisement being displayed in the ad unit ( 135 ) may change over time.
- the publisher is able to create the ad unit ( 135 ) and specify the types of assets to appear in the native advertisement that will populate/fill the ad unit ( 135 ) using a software development kit (SDK) ( 140 ).
- SDK software development kit
- the SDK ( 140 ) offers the publisher assets in a standard format, and the publisher is able to select one or more of the offered assets for inclusion in the native advertisement.
- the publisher can dictate the layout of the assets and some attributes (e.g., background color, font, etc.) of the assets to blend with the rest of the application ( 133 ).
- FIG. 4 shows an asset table ( 401 ) in accordance with one or more embodiments of the invention.
- the asset table ( 401 ) specifies five standard assets (e.g., title, text, iconimage, mainimage, ctatext, etc.) that may be selected by the publisher and used to create a native advertisement to populate/fill an ad unit ( 135 ).
- the asset table ( 401 ) also specifies three helper assets (i.e., clk, imptracker, clktracker) that are included in every native advertisement (e.g., the native advertisement that will populate the ad unit ( 135 )). These helper assets specify the destination of the native advertisement (i.e., where the user should be taken if the user clicks on the native advertisement) and tracking URLs for the user actions of both viewing the native advertisement and clicking on the native advertisement.
- the assets identified in FIG. 4 are only examples. In fact, one optional asset is the starrating asset (not shown). The starrating asset is a star rating of the application being advertised. It takes on values between 0 and 5. In one or more embodiments, although not shown in FIG. 4 , the assets include video clips and/or audio clips.
- the SDK ( 140 ) or a different SDK is deployed with the application ( 133 ).
- the SDK ( 140 ) may issue a fill request ( 143 ) to the ad server system ( 111 ).
- the fill request ( 143 ) is effectively a request for assets from the ad server system ( 111 ) in order to generate a native advertisement and populate the ad unit ( 135 ) with the native advertisement.
- the fill request ( 143 ) may take the form of a URL hit.
- the fill request ( 143 ) may include one or more parameters including an identification of the ad unit ( 135 ), an identification of the computing device ( 130 ), the version of the SDK ( 140 ), one or more keywords, a type of content (e.g., sports, cars, pets, vacations, clothes, etc.) displayed around the ad unit ( 135 ), a type of connection (e.g., wifi, cellular, etc.) between the computing device ( 130 ) and the ad server system ( 111 ), etc.
- a type of content e.g., sports, cars, pets, vacations, clothes, etc.
- a type of connection e.g., wifi, cellular, etc.
- the fill request ( 143 ) is for all offered assets, even if one or more of the assets have not been selected by the publisher and are not required to generate the native advertisement. In one or more embodiments, the fill request ( 143 ) specifies only the assets selected by the publisher and needed to generate the native advertisement.
- the assets ( 145 ) are received in response to the fill request ( 143 ).
- the assets ( 145 ) are derived from ad content provided by an ad source (discussed below). In other words, the ad content is provided to fill the ad unit ( 135 ).
- the ad sources ( 103 , 105 ) provide ad content to the ad server system ( 111 ).
- Different ad sources ( 103 , 105 ) may provide ad content in different formats.
- the ad content provided by an ad source ( 103 , 105 ) may be in a format that is different than the format of the assets required/requested to generate a native advertisement to populate the ad unit ( 135 ).
- an ad network(s) ( 103 ) is service that connects advertisers to publishers of applications.
- the key function of an ad network is matching publishers' ad unit supply with advertiser demand.
- an ad network may charge the advertiser using one of several metrics, including online marketing Key Performance Indicators (KPIs) such as cost-per-click (CPC) and cost-per-impression (CPM).
- KPIs online marketing Key Performance Indicators
- CPC cost-per-click
- CPM cost-per-impression
- an advertiser is charged based on the number of times that users click on a native advertisement composed of assets derived from ad content of the advertiser; in other words, an advertiser is not charged when a publisher displays the native advertisement to a user unless the user clicks on the native advertisement.
- CPM cost-per-impression
- an ad network may be configured to communicate with external entities including, without limitation, applications ( 101 ), ad servers, ad exchanges, and/or the ad server system ( 111 ).
- Ad servers may be configured to perform a variety of functions including metric tracking (e.g., number of clicks and number of impressions served) and report generation, both for publishers and for advertisers.
- metric tracking e.g., number of clicks and number of impressions served
- report generation both for publishers and for advertisers.
- Publisher ad servers may be run by a single publisher and serve ads to that publisher's applications, allowing fine-grained creative, formatting, and content control by that publisher.
- Third-party ad servers may serve ads across domains owned by multiple publishers and deliver the ads from a central source to facilitate advertiser and publisher tracking.
- An ad exchange is a platform that allows real-time bidding (RTB) on publishers' ad units by ad networks ( 103 ), demand-side platforms ( 105 ), and/or individual advertisers.
- RTB real-time bidding
- publishers may auction their inventory to the highest bidder through a single interface.
- many ad networks ( 103 ) are not configured to utilize ad exchange APIs for real-time bidding and are thereby excluded from the RTB process.
- DSPs demand-side platform(s)
- 105 demand-side platform(s)
- DSPs demand-side platform(s)
- ad networks 103
- real-time bids using ad exchange APIs.
- the data repository ( 113 ) is any type of storage unit and/or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data. Further, the data repository may include multiple different storage units and/or devices. The multiple different storage units and/or devices may or may not be of the same type or located at the same physical site.
- the data repository ( 113 ) is configured to store network credentials ( 115 ), network metrics ( 117 ), and/or any other data relevant to internet marketing, advertisement networks, or advertisement exchanges.
- Network credentials ( 115 ) include user credentials (e.g., usernames and passwords) used by publishers or third parties to interface with an ad network's services. A publisher's network credentials may be obtained from the publisher directly.
- Network metrics may include typical online marketing KPIs and other metrics obtained from publishers, ad networks, and/or other entities, including CPC, CPM, and click-through-rate (CTR) (i.e., number of clicks divided by number of impressions served for a given advertisement).
- CTR click-through-rate
- the metrics may include, without limitation, geographic data (e.g., CTR by country), time data (e.g., CTR by hour), platform data (e.g., CTR by operating system), and ad unit data (e.g., CTR by ad type).
- the ad server system ( 111 ) is configured to communicate with applications ( 101 ), ad networks ( 103 ), DSPs ( 105 ), and/or other entities in order to facilitate serving assets to applications in response to fill requests.
- the ad server system may also include functionality typically provided by ad servers in general and as already described.
- the ad server system may include functionality to receive, store, and deliver assets to applications and publisher ad servers.
- the ad server system may include functionality to track KPIs or other metrics for publishers and generate related reports.
- the ad server system may also include functionality to request data from and store data to the data repository ( 113 ).
- the ad server system ( 111 ) and all elements in the ad server system ( 111 ) may be implemented in hardware (e.g., circuitry), software, or any combination thereof.
- the optimizer may include functionality to receive fill requests from applications and publisher ad servers.
- the optimizer may include functionality to send received fill requests to ad networks and/or other entities.
- the optimizer may include functionality for generating a model for calculating expected publisher revenue (e.g., eCPM) from an ad network, in the event the ad network successfully fills the publisher's ad unit with ad content.
- the model may be generated based on one or more metrics measuring past performance of ad networks with respect to the either the individual publisher or publishers in aggregate.
- the model may be generated based on CPM for ad networks that report CPM, or the model may be generated based on a combination of CPC and CTR for ad networks that report CPC.
- the metrics may be obtained from the data repository ( 113 ) or directly from the ad networks using the network reporter ( 121 ) described below.
- the optimizer may obtain the model from another entity within or external to the ad server system ( 111 ).
- the optimizer ( 119 ) includes functionality to determine an optimal ordering for the waterfall of ad networks based on at least the estimated publisher revenue calculated using the above-mentioned model.
- the ordering may be determined so that ad networks expected to generate more revenue for a particular fill request are prioritized to receive the request.
- the ordering may also be determined based on additional factors including ad networks' respective fill rates (the rate at which an ad network successfully serves ad content to fill an ad unit), geographic data, time data, platform data, and/or ad unit data.
- the optimizer ( 119 ) may be configured to send a particular fill request to the first network in the ordering first. If the first network does not successfully serve ad content in response to the request, the fill request may then be sent to the second network in the ordering, and so on until an ad network responds by serving ad content (to the optimizer ( 119 ) or to the publisher directly).
- the network reporter ( 121 ) may include functionality to access ad network reporting information through the networks' respective APIs, websites, and/or other methods of communication.
- a given ad network's reporting information may include one or more KPIs or any other metric for measuring the ad network's performance history.
- the network reporter may be configured to scrape an ad network's website to obtain the desired metrics.
- the network reporter may include functionality to obtain credentials from publishers and/or other entities used to access the ad networks.
- the network reporter may additionally store credentials in and obtain credentials from the data repository ( 113 ).
- the network reporter ( 121 ) may include functionality to generate a report for a publisher based on metrics obtained from the ad networks and/or based on the performance of the optimizer for previously served fill requests.
- the ad exchange module may include functionality to operate an ad exchange or interface with a third-party ad exchange.
- the ad exchange module may include functionality to assign proxy bids to one or more ad networks for use in a RTB process (in the case where an ad network is unable to participate in an ad exchange directly).
- a proxy bid assigned by the ad exchange module to an ad network may be based on the ad network's estimated publisher revenue, calculated by the optimizer using the model.
- a proxy bid may also be assigned to an ad network using values input directly from the publisher.
- the ad exchange module may include functionality to obtain one or more actual bids corresponding to one or more DSPs.
- the ad exchange module may then perform a RTB auction using, or provide to a third-party ad exchange, proxy bids for ad networks and/or actual bids for DSPs in order to determine the highest bidder for a publisher's fill request.
- the converter ( 125 ) is configured to convert the ad content from an ad source, provided to the ad server system ( 111 ) in a format specific to the ad source, into the format of the assets requested/required to generate a native advertisement to populate the ad unit ( 135 ).
- ad content may come from a variety of ad sources and be in any number of formats
- the output of the converter ( 125 ) is the expected ad assets in their expected format. Some or all of the assets, as specified/selected/formatted by the publisher, are used to form the native advertisement that fills the ad unit ( 135 ).
- Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the ad source.
- the converter ( 125 ) includes a mapping table ( 126 ) that identifies/specifies the relationship between the format specific to each ad source and the format of the assets. If the asset is a video or audio clip, conversion of the asset might not be necessary.
- the asset upload GUI ( 124 ) enables publishers to easily upload assets directly into the ad server system ( 111 ).
- a publisher may have direct advertising agreements with one or more companies. The companies may provide the assets directly to the publishers. The publisher may then upload the assets to the ad server system ( 111 ) by manipulating the widgets of the asset upload GUI ( 124 ). The uploaded assets may be provided to the application ( 133 ) in response to the fill request ( 143 ).
- FIG. 1A shows a configuration of components
- other configurations may be used without departing from the scope of the invention.
- various components may be combined to create a single component.
- the functionality performed by a single component may be performed by two or more components.
- the invention is not limited to the system shown in FIG. 1A .
- FIG. 1B shows a system ( 199 ) in accordance with one or more embodiments of the invention.
- the system ( 199 ) has several similarities with system ( 100 ), discussed above in reference to FIG. 1A .
- system ( 199 ) includes computing device 1 ( 130 ), ad server system ( 111 ), and multiple ad sources (e.g., DSP 1 ( 105 ), Ad Network 1 ( 103 ), Ad Network N ( 103 )).
- computing device 1 ( 130 ) is executing the application ( 133 ) that has the ad unit ( 135 ).
- the application ( 133 ) includes multiple SDKs (e.g., Ad Server System SDK ( 140 A), Ad Network 1 SDK ( 140 B), Ad Network N SDK ( 140 C)).
- ad server system SDK ( 140 A) communicates with the ad server system ( 111 ), while each of the remaining SDKs ( 140 B, 140 C) communicates with one of the ad networks ( 103 ).
- ad network 1 SDK ( 140 B) communicates with ad network 1 ( 103 ), while ad network N SDK ( 140 C) communicates with ad network N ( 103 ).
- the ad server system SDK ( 140 A) also communicates with the other SDKs ( 140 B, 140 C).
- the ad server system SDK ( 140 A) may issue a fill request ( 143 ) to the ad server system ( 111 ).
- the fill request ( 143 ) is effectively a request for assets from the ad server system ( 111 ) in order to generate a native advertisement and populate the ad unit ( 135 ) with the native advertisement.
- the fill request ( 143 ) may take the form of a URL hit.
- the fill request ( 143 ) may include one or more parameters including an identification of the ad unit ( 135 ), an identification of the computing device ( 130 ), the version of the SDK ( 140 ), one or more keywords, a type of content (e.g., sports, cars, pets, vacations, clothes, etc.) displayed around the ad unit ( 135 ), a type of connection (e.g., wifi, cellular, etc.) between the computing device ( 130 ) and the ad server system ( 111 ), etc.
- a type of content e.g., sports, cars, pets, vacations, clothes, etc.
- a type of connection e.g., wifi, cellular, etc.
- the fill request ( 143 ) is for all offered assets, even if one or more of the assets have not been selected by the publisher and are not required to generate the native advertisement. In one or more embodiments, the fill request ( 143 ) specifies only the assets selected by the publisher and needed to generate the native advertisement.
- the ad server system ( 111 ) may select an ad source ( 103 , 105 ) to supply the assets using any process described above in reference to FIG. 1A .
- the identity of the ad source i.e., ad source identity ( 150 )
- the identity of the ad source is returned to the ad server system SDK ( 140 A) in response to the fill request ( 143 ).
- the selected ad source is a DSP ( 105 )
- the assets ( 150 ) are returned to the ad server system SDK ( 140 A) in response to the fill request.
- the assets ( 150 ) are derived from ad content provided by the selected DSP ( 105 ) (discussed below).
- the converter ( 125 B) is configured to convert the ad content from the selected DSP, provided to the ad server system ( 111 ) in a format specific to the selected DSP (or a format common to all DSPs), into the format of the assets requested/required to generate a native advertisement to populate the ad unit ( 135 ). Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the selected DSP. As shown in FIG. 1C , the converter ( 125 B) includes a mapping table ( 126 B) that identifies/specifies the relationship between the format specific to each DSP (or a format common to all DSPs) and the format of the assets.
- a mapping table 126 B
- an ad network ( 103 ) is selected by the ad server system ( 111 ) in response to the fill request ( 143 ), the identity of the ad network ( 150 ) is returned to the ad server system SDK ( 140 A). Based on the ad source identity ( 150 ), the ad network SDK ( 140 B, 140 C) of the selected ad network ( 103 ) then issues a content request ( 161 ) to the selected ad network ( 103 ). In response to the content request ( 161 ), the ad network ( 103 ) returns ad content ( 160 ) in a format specific to the ad network ( 103 ).
- the converter ( 125 A) in the ad server system SDK ( 140 A) is configured to convert the ad content ( 160 ) from the selected ad network, provided to the ad network SDK ( 140 B, 140 C) in the format specific to the selected ad network, into the format of the assets requested/required to generate a native advertisement to populate the ad unit ( 135 ). Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the selected ad network. As shown in FIG. 1C , the converter ( 125 A) includes a mapping table ( 126 A) that identifies/specifies the relationship between the format specific to each ad network and the format of the assets.
- a mapping table 126 A
- converter A 125 A
- converter B 125 B
- Converter B 125 B
- converter A 125 A
- SDK 140 A
- Both converters ( 125 A, 125 B) may be implemented in hardware (i.e., circuitry), software, or any combination thereof.
- the ad networks ( 103 ) might be unable (e.g., incompatible with) or unwilling to provide the ad content ( 160 ) directly to the ad server system ( 111 ). Instead, the ad networks ( 103 ) only provide ad content ( 160 ) to their respective ad network SDK ( 140 B, 140 C).
- the publisher is able to utilize ad content from various ad sources, even ad sources that are not directly compatible with the ad server system (i. e., ad networks that do not provide ad content directly to the ad server system ( 111 )).
- the system ( 199 ) still enables the ad server system ( 111 ) to select the ad source in response to the fill request ( 143 ).
- FIGS. 1C, 2A, 2B, and 3 show flowcharts in accordance with one or more embodiments of the invention. While the various steps in these flowcharts are presented and described sequentially, one of ordinary skill will appreciate that some or all of the steps may be executed in different orders, may be combined or omitted, and some or all of the steps may be executed in parallel.
- FIG. 1C shows a flowchart for managing a native advertisement in accordance with one or more embodiments of the invention.
- the process shown in FIG. 1B may be used, for example, with the system ( 100 ) of FIG. 1A or the system ( 199 ) of FIG. 1B .
- a fill request for multiple assets in a first format is received from an application (Step 151 ).
- the fill request may be issued by an ad server system SDK in the application and received by an ad server system.
- the assets will eventually be used to generate a native advertisement to populate an ad unit within the application.
- the fill request may include one or more parameters including an identification of the ad unit, an identification of the computing device executing the application, the version of the SDK in the application, one or more keywords, a type of content (e.g., sports, cars, pets, vacations, clothes, etc.) displayed around the ad unit, a type of connection (e.g., wifi, cellular, etc.) between the computing device and the ad server system ( 111 ), etc.
- a type of content e.g., sports, cars, pets, vacations, clothes, etc.
- a type of connection e.g., wifi, cellular, etc.
- ad content in a second format is received from an ad source.
- the ad source may be selected according to the process set forth in FIG. 2A or FIG. 2B .
- the fill request (or at least one or more parameters of the fill request) may be sent to the ad source.
- the ad source may select ad content based on the parameter(s). In one or more embodiments of the invention, if the selected ad source is a DSP, the ad content is received by the ad server system from the DSP.
- the identity of the selected ad network is returned to the ad server system SDK and the ad content is received by the ad network SDK in the application that communicates with the selected ad network.
- Step 155 the ad content received from the ad source is converted into the format of the required/requested assets.
- Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the ad source.
- Converting may include accessing a mapping table identifying/specifying the relationship between the format specific to the ad source and the format of the assets.
- the selected ad source is a DSP
- the converter in the ad server system performs the converting, and the resulting assets are returned to the ad server system SDK.
- the converter in the ad server system SDK performs the converting.
- Step 157 the requested assets are used to fill the ad unit. Specifically, a native advertisement will be generated from the assets and the ad unit will be populated with the native advertisement.
- FIG. 2A shows a flowchart for optimizing publisher revenue from one or more ad networks and/or demand-side platforms in accordance with one or more embodiments of the invention.
- FIG. 2A may provide the additional details for Step 153 in FIG. 1C .
- the process shown in FIG. 2A may be used, for example, with the system ( 100 ) of FIG. 1A and/or the system ( 199 ) of FIG. 1B to optimize publishers' ad revenue.
- Step 203 estimated publisher revenues (e.g., eCPM) from ad networks for filling the ad unit are calculated using a model.
- the model may be previously generated and obtained from storage or may be generated contemporaneously with the execution of this step.
- Step 205 a determination is made about whether to perform a RTB auction for the ad unit using an ad exchange. If the ad unit is to be auctioned, the process proceeds to Step 207 . If the ad unit is not to be auctioned, the process proceeds to Step 217 . This determination may be made based on publisher input (i.e., the publisher may “opt in” to RTB auctions). Other factors may be used to make the determination in step 205 without departing from the invention.
- a proxy bid is assigned to participating ad networks based on the estimated revenue from each ad network for filling the ad unit, calculated according to Step 203 .
- proxy bids are assigned to ad networks because ad networks cannot otherwise participate directly in the ad exchange.
- proxy bids are assigned to every ad network having an account for the publisher.
- Step 209 actual bids on the ad unit are obtained from one or more DSPs.
- Step 211 an RTB auction is performed using the proxy bids assigned to the ad networks and the actual bids obtained from the DSPs, and a winning bid is obtained.
- the winning bid may or may not represent the actual revenue received by the publisher, regardless of whether the winner successfully provides ad content in response to the fill request.
- Step 213 it is determined whether the winning bid belongs to a DSP. If a DSP wins the auction, the process proceeds to Step 215 . If a DSP does not win the auction (e.g., the winning bid is a proxy bid for an ad network), the process proceeds to Step 217 .
- a variety of auction mechanisms can be used to determine a winning bid (e.g., second-price auction), in accordance with various embodiments.
- Step 215 the winning DSP's ad content is sent to the ad server system in response to the fill request (Step 151 ).
- the ad content may be obtained from the DSP or may be obtained from storage if it has already been acquired by the ad server system.
- an ordering of ad networks is determined based on at least the estimated revenues calculated in Step 203 .
- the ordering may also be determined based on fill rates for the ad networks and/or any other relevant metric. If a RTB auction has been performed, the ordering of ad networks may be based on the proxy bids assigned to the ad networks, as the proxy bids were assigned based on the aforementioned estimated revenues.
- an ad network is selected to receive a fill request based on the network ordering determined according to Step 217 .
- the first ad network in the ordering that has not yet received the fill request is selected.
- a fill request is sent to the selected ad network.
- the request may include the aforementioned constraints for impressions that are compatible with properties of the ad unit, as well as the aforementioned data regarding the publisher or the application. These constraints may serve to disallow the selected ad network from serving the fill request if the network has no qualifying impressions available.
- Step 223 it is determined whether the fill request is accepted by the ad network; in other words, whether the ad network will send an impression in response to the fill request.
- the ad network may choose not to respond based on the fill request; for example, if the request indicates that the application is published only in the USA, an ad network representing only European advertisers may not respond to the request. If the fill request is not accepted, the process returns to Step 219 to send a fill request to another ad network based on the ordering. If the fill request is accepted, the process may proceed to Step 225 .
- Step 225 if the fill request has been accepted by the selected ad network, ad content is received from the selected ad network in response to the request.
- Step 227 the ad content is provided to the ad server system.
- FIG. 2B shows a flowchart for optimizing publisher revenue from one or more ad networks and/or demand-side platforms in accordance with one or more embodiments of the invention.
- FIG. 2B may provide the additional details for Step 153 in FIG. 1C .
- the process shown in FIG. 2B may be used, for example, with the system ( 100 ) of FIG. 1A and/or the system ( 199 ) of FIG. 1B to optimize publishers' ad revenue.
- Step 253 estimated publisher revenues (e.g., eCPM) from ad networks for filling the ad unit are calculated using a model.
- the model may be previously generated and obtained from storage or may be generated contemporaneously with the execution of this step.
- Step 255 it is determined whether the publisher is running direct ads. When it is determined that the publisher is not running direct ads, the process proceeds to Step 257 .
- Step 257 an RTB auction is run (discussed above) and the winner of the RTB auction is acquired.
- Step 259 a second RTB auction is run.
- this second auction uses the winner of the first RTB auction (i.e., Step 257 ) and proxy bods (discussed above). The winner of this second auction is required. The winner of this second auction is the selected ad source, discussed above in reference to Step 153 in FIG. 1C .
- FIG. 3 shows a flowchart for building a model for estimating publisher revenue from one or more ad networks.
- the process shown in FIG. 3 may be used, for example, with the system of FIG. 1 to build a model for ad revenue estimation.
- publisher credentials are obtained for accessing one or more ad networks.
- the publisher credentials may have been previously obtained by multiple publishers and stored for later retrieval.
- the participating publisher may “opt in” to provide the publisher's credentials for accessing the ad networks.
- Step 303 metrics are obtained from the one or more ad networks using the publisher credentials. If the participating publisher provides its credentials, metrics for the participating publisher are obtained in addition to metrics for the multiple publishers. These metrics may include various KPIs and other metrics for previous transactions between the publishers and the ad networks.
- Step 305 a model is generated based on the metrics obtained, and the process proceeds to end.
- the model may be generated based on metrics for multiple publishers and/or the participating publisher.
- Embodiments of the invention may be implemented on virtually any type of computing system regardless of the platform being used.
- the computing system may be one or more mobile devices (e.g., laptop computer, smart phone, personal digital assistant, tablet computer, or other mobile device), desktop computers, servers, blades in a server chassis, or any other type of computing device or devices that includes at least the minimum processing power, memory, and input and output device(s) to perform one or more embodiments of the invention.
- mobile devices e.g., laptop computer, smart phone, personal digital assistant, tablet computer, or other mobile device
- desktop computers e.g., servers, blades in a server chassis, or any other type of computing device or devices that includes at least the minimum processing power, memory, and input and output device(s) to perform one or more embodiments of the invention.
- the computing system ( 500 ) may include one or more computer processor(s) ( 502 ), associated memory ( 504 ) (e.g., random access memory (RAM), cache memory, flash memory, etc.), one or more storage device(s) ( 506 ) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory stick, etc.), and numerous other elements and functionalities.
- the computer processor(s) ( 502 ) may be an integrated circuit for processing instructions.
- the computer processor(s) may be one or more cores, or micro-cores of a processor.
- the computing system ( 500 ) may also include one or more input device(s) ( 510 ), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device. Further, the computing system ( 500 ) may include one or more output device(s) ( 508 ), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device. One or more of the output device(s) may be the same or different from the input device(s).
- input device(s) such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device.
- the computing system ( 500 ) may include one or more output device(s) ( 508 ), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor,
- the computing system ( 500 ) may be connected to a network ( 514 ) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) via a network interface connection (not shown).
- the input and output device(s) may be locally or remotely (e.g., via the network ( 512 )) connected to the computer processor(s) ( 502 ), memory ( 504 ), and storage device(s) ( 506 ).
- a network e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network
- the input and output device(s) may be locally or remotely (e.g., via the network ( 512 )) connected to the computer processor(s) ( 502 ), memory ( 504 ), and storage device(s) ( 506 ).
- Software instructions in the form of computer readable program code to perform embodiments of the invention may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, a diskette, a tape, flash memory, physical memory, or any other computer readable storage medium.
- the software instructions may correspond to computer readable program code that when executed by a processor(s), is configured to perform embodiments of the invention.
- one or more elements of the aforementioned computing system ( 500 ) may be located at a remote location and connected to the other elements over a network ( 514 ). Further, embodiments of the invention may be implemented on a distributed system having a plurality of nodes, where each portion of the invention may be located on a different node within the distributed system.
- the node corresponds to a distinct computing device.
- the node may correspond to a computer processor with associated physical memory.
- the node may alternatively correspond to a computer processor or micro-core of a computer processor with shared memory and/or resources.
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Game Theory and Decision Science (AREA)
- Entrepreneurship & Innovation (AREA)
- Economics (AREA)
- Marketing (AREA)
- Physics & Mathematics (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Human Computer Interaction (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application is a divisional application of U.S. patent application Ser. No. 15/099,455, filed on Apr. 14, 2016, which is a non-provisional application of U.S. Provisional Patent Application Ser. No. 62/147,462, filed on Apr. 14, 2015. Accordingly, this application claims priority to U.S. patent application Ser. No. 15/099,455 under 35 U.S.C. §120, and to U.S. Provisional Patent Application Ser. No. 62/147,462 under 35 U.S.C. §119(e). U.S. patent application Ser. No. 15/099,455 and U.S. Provisional Patent Application Ser. No. 62/147,462 are hereby incorporated by reference in their entirety.
- An increasing number of companies, agencies, individuals, and other parties (collectively “advertisers”) use online advertising to promote their products and services. An advertiser purchases advertising space from an individual publisher, an advertising network, or an advertising exchange that distributes advertisements to one or more publishers. A publisher may display advertisements in several formats depending on the platform the publisher uses to interface with the consuming public.
- Native ads are a type of advertisement typically customized to better blend with the computing environment in which they are displayed. For example, content of native ads are typically displayed in a color palette and font consistent with the graphical user interface of an application in which the former is displayed.
- However, different advertisers often provide content for a native ad in different formats. It is burdensome for a publisher to deal with these multiple formats. Regardless, the desire for native ads remains strong.
- Embodiments include a converter that transforms ad content, in variety of formats and from a variety of sources, into a set of expected ad assets in an expected format, thereby allowing the ad content to be displayed as native ads for a particular application. These ad assets are used by a publisher of a mobile application to fill an ad unit in the application (discussed below) with a native advertisement. Specifically, the publisher may select to include or omit one or more of the ad assets, dictate the layout of the ad assets, dictate one or more attributes of the ad assets (e.g., font, background color, etc.). The converter may be located on the mobile device itself and/or on an ad server system. The ad sever system may select the ad source to increase revenue for the publisher.
- In general, in one aspect, embodiments relate to a method for operating a server system. The method comprises: receiving, by the server system, a request for a plurality of assets in a first format to fill an ad unit, in an application executing on a mobile device, with a native advertisement; receiving, by the server system and from an ad source over a network, ad content in a second format; converting, by a converter of the server system, the ad content in the second format to the plurality of assets in the first format; and sending, by the server system, the plurality of assets to the application, wherein the application fills the ad unit with the native advertisement comprising at least one of the plurality of assets.
- In general, in one aspect, embodiments relate to a method for operating a mobile device. The method comprises: issuing, by a server system SDK executing on the mobile device, a request for a plurality of assets in a first format to fill an ad unit, in an application, with a native advertisement; receiving, by the server system SDK and from a server system, an identity of an advertisement (ad) network; issuing, by an SDK of the ad network executing on the mobile device and based on the identity received from the server system, a content request to the ad network for the plurality of assets; receiving, by the SDK of the ad network, ad content in a second format from the ad network; converting, by a converter executing on the mobile device, the ad content in the second format to the plurality of assets in the first format; and filling the ad unit with the native advertisement comprising at least one of the plurality of assets.
- In general, in one aspect, embodiments relate to a server system. The server system comprises: a computer processor; and a converter executing on the computer processor that: receives a request for a plurality of assets in a first format to fill an ad unit, in an application executing on a mobile device, with a native advertisement; receives, from an ad source and over a network, ad content in a second format; converts the ad content in the second format to the plurality of assets in the first format; and sends the plurality of assets to the application, wherein the application fills the ad unit with the native advertisement comprising at least one of the plurality of assets.
- In general, in one aspect, embodiments relate to a mobile device. The mobile device comprises: a server system SDK, executing on the mobile device, that: issues a request for a plurality of assets in a first format to fill an ad unit, in an application executing on the mobile device, with a native advertisement; receives, from a server system, an identity of a first advertisement (ad) network; and converts, using a converter executing on the mobile device, ad content in a second format to the plurality of assets in the first format; and an SDK of the first ad network, executing on the mobile device, that: issues based on the identity received from the server system, a content request to the first ad network for the plurality of assets; and receives the ad content in the second format from the first ad network, wherein the ad unit is filled with the native advertisement comprising at least one of the plurality of assets.
- In general, in one aspect, embodiments relate to a non-transitory computer-readable medium (CRM) storing instructions for operating a server system. The server system: receives a request for a plurality of assets in a first format to fill an ad unit, in an application executing on a mobile device, with a native advertisement; receives, from an ad source over a network, ad content in a second format; converts, by a converter of the server system, the ad content in the second format to the plurality of assets in the first format; and sends, by the server system, the plurality of assets to the application, wherein the application fills the ad unit with the native advertisement comprising at least one of the plurality of assets.
-
FIG. 1A andFIG. 1B show systems in accordance with one or more embodiments of the invention. -
FIG. 1C shows a flowchart in accordance with one or more embodiments of the invention. -
FIG. 2A andFIG. 2B show flowcharts in accordance with one or more embodiments of the invention. -
FIG. 3 shows a flowchart in accordance with one or more embodiments of the invention. -
FIG. 4 shows a table identifying multiple assets in accordance with one or more embodiments of the invention. -
FIG. 5 shows a computing system in accordance with one or more embodiments of the invention. - Specific embodiments of the invention will now be described in detail with reference to the accompanying figures. Like elements in the various figures are denoted by like reference numerals for consistency.
- In the following detailed description of embodiments of the invention, numerous specific details are set forth in order to provide a more thorough understanding of the invention. However, it will be apparent to one of ordinary skill in the art that the invention may be practiced without these specific details. In other instances, well-known features have not been described in detail to avoid unnecessarily complicating the description.
- Throughout the application, ordinal numbers (e.g., first, second, third, etc.) may be used as an adjective for an element (i.e., any noun in the application). The use of ordinal numbers is not to imply or create any particular ordering of the elements nor to limit any element to being only a single element unless expressly disclosed, such as by the use of the terms “before”, “after”, “single”, and other such terminology. Rather, the use of ordinal numbers is to distinguish between the elements. By way of an example, a first element is distinct from a second element, and the first element may encompass more than one element and succeed (or precede) the second element in an ordering of elements.
- In general, according to one or more embodiments of the invention, ad content is received in different formats from different ad sources. An advertising server (“ad server”) system may convert the ad content into assets having a common or standard format. These assets are then sent to the requesting application and are used to generate a native ad to populate an ad unit displayed within the application.
-
FIG. 1A shows a system in accordance with one or more embodiments of the invention. As shown inFIG. 1A , the system (100) has multiple components including one or more computing devices (130, 141) executing one or more applications (133), one or more ad sources (e.g., one or more ad networks (103) and/or demand-side platforms (DSP) (105)), and an ad server system (111) including a data repository (113) storing network credentials (115) and network metrics (117), an optimizer (119), a network reporter (121), a converter (125), as asset upload GUI (124), and an ad exchange module (123). Each of these components is described below. - In one or more embodiments of the invention, each computing device (130, 141) is a desktop personal computer (PC), a laptop, a tablet computer, an electronic reader (e-reader), a cable box, a kiosk, a smart phone, a server, a mainframe, a personal digital assistant (PDA), or any other type of hardware device. Each computing device (130, 141) includes one or more processors and memory to execute one or more applications. The computing devices (130, 141) may communicate with the ad server system (111) using wired and/or wireless (e.g., wifi, cellular, etc.) connections.
- In one or more embodiments of the invention, the application (133) is a software application of any type (e.g., operating system, messaging application, social networking application, game, word processing application, web browser, etc.). The application (133) is developed and/or owned by a publisher. As shown in
FIG. 1A , the application (133) is implemented to include one or more ad units(s) (135). An ad unit (135) is a predefined space in an application used to display one or more native advertisements. AlthoughFIG. 1A only shows the application (135) as having one ad unit (135), the application (133) may have any number of ad units (135). - In one or more embodiments of the invention, a native advertisement is composed of one or more assets and is designed to blend in (i.e., similar look and feel, color, font, background, size, etc.) with content displayed close to the ad unit (135). The one or more assets are provided to the application (133) during execution of the application (133). New/updated assets may be provided to the application at any time during the execution of the application (133). In other words, the native advertisement being displayed in the ad unit (135) may change over time.
- In one or more embodiments of the invention, the publisher is able to create the ad unit (135) and specify the types of assets to appear in the native advertisement that will populate/fill the ad unit (135) using a software development kit (SDK) (140). In other words, the SDK (140) offers the publisher assets in a standard format, and the publisher is able to select one or more of the offered assets for inclusion in the native advertisement. Moreover, the publisher can dictate the layout of the assets and some attributes (e.g., background color, font, etc.) of the assets to blend with the rest of the application (133). These assets are in contrast to traditional advertisements (e.g., banners), where an unalterable WebView of an ad is provided for display in the application.
FIG. 4 shows an asset table (401) in accordance with one or more embodiments of the invention. The asset table (401) specifies five standard assets (e.g., title, text, iconimage, mainimage, ctatext, etc.) that may be selected by the publisher and used to create a native advertisement to populate/fill an ad unit (135). The asset table (401) also specifies three helper assets (i.e., clk, imptracker, clktracker) that are included in every native advertisement (e.g., the native advertisement that will populate the ad unit (135)). These helper assets specify the destination of the native advertisement (i.e., where the user should be taken if the user clicks on the native advertisement) and tracking URLs for the user actions of both viewing the native advertisement and clicking on the native advertisement. The assets identified inFIG. 4 are only examples. In fact, one optional asset is the starrating asset (not shown). The starrating asset is a star rating of the application being advertised. It takes on values between 0 and 5. In one or more embodiments, although not shown inFIG. 4 , the assets include video clips and/or audio clips. - In one or more embodiments of the invention, the SDK (140) or a different SDK is deployed with the application (133). During execution of the application (133), the SDK (140) may issue a fill request (143) to the ad server system (111). The fill request (143) is effectively a request for assets from the ad server system (111) in order to generate a native advertisement and populate the ad unit (135) with the native advertisement. The fill request (143) may take the form of a URL hit. Moreover, the fill request (143) may include one or more parameters including an identification of the ad unit (135), an identification of the computing device (130), the version of the SDK (140), one or more keywords, a type of content (e.g., sports, cars, pets, vacations, clothes, etc.) displayed around the ad unit (135), a type of connection (e.g., wifi, cellular, etc.) between the computing device (130) and the ad server system (111), etc.
- In one or more embodiments of the invention, the fill request (143) is for all offered assets, even if one or more of the assets have not been selected by the publisher and are not required to generate the native advertisement. In one or more embodiments, the fill request (143) specifies only the assets selected by the publisher and needed to generate the native advertisement. The assets (145) are received in response to the fill request (143). The assets (145) are derived from ad content provided by an ad source (discussed below). In other words, the ad content is provided to fill the ad unit (135).
- In one or more embodiments of the invention, the ad sources (103, 105) provide ad content to the ad server system (111). Different ad sources (103, 105) may provide ad content in different formats. Further, the ad content provided by an ad source (103, 105) may be in a format that is different than the format of the assets required/requested to generate a native advertisement to populate the ad unit (135).
- In one or more embodiments of the invention, an ad network(s) (103) is service that connects advertisers to publishers of applications. The key function of an ad network is matching publishers' ad unit supply with advertiser demand.
- In one or more embodiments of the invention, an ad network (103) may charge the advertiser using one of several metrics, including online marketing Key Performance Indicators (KPIs) such as cost-per-click (CPC) and cost-per-impression (CPM). In a CPC system, an advertiser is charged based on the number of times that users click on a native advertisement composed of assets derived from ad content of the advertiser; in other words, an advertiser is not charged when a publisher displays the native advertisement to a user unless the user clicks on the native advertisement. In a CPM system, an advertiser is charged based on the number of times a publisher displays the native advertisement to a user.
- In one or more embodiments of the invention, an ad network (103) may be configured to communicate with external entities including, without limitation, applications (101), ad servers, ad exchanges, and/or the ad server system (111).
- Ad servers may be configured to perform a variety of functions including metric tracking (e.g., number of clicks and number of impressions served) and report generation, both for publishers and for advertisers.
- Publisher ad servers may be run by a single publisher and serve ads to that publisher's applications, allowing fine-grained creative, formatting, and content control by that publisher. Third-party ad servers may serve ads across domains owned by multiple publishers and deliver the ads from a central source to facilitate advertiser and publisher tracking.
- An ad exchange is a platform that allows real-time bidding (RTB) on publishers' ad units by ad networks (103), demand-side platforms (105), and/or individual advertisers. Using an ad exchange, publishers may auction their inventory to the highest bidder through a single interface. However, many ad networks (103) are not configured to utilize ad exchange APIs for real-time bidding and are thereby excluded from the RTB process.
- In one or more embodiments of the invention, demand-side platform(s) (“DSPs”) (105) allow advertisers to manage multiple ad exchange accounts through one interface. By utilizing a DSP, advertisers can manage and optimize their bids based on KPIs. DSPs typically combine similar functionality to ad networks (103) with the ability to make real-time bids using ad exchange APIs.
- In one or more embodiments of the invention, the data repository (113) is any type of storage unit and/or device (e.g., a file system, database, collection of tables, or any other storage mechanism) for storing data. Further, the data repository may include multiple different storage units and/or devices. The multiple different storage units and/or devices may or may not be of the same type or located at the same physical site.
- In one or more embodiments of the invention, the data repository (113) is configured to store network credentials (115), network metrics (117), and/or any other data relevant to internet marketing, advertisement networks, or advertisement exchanges. Network credentials (115) include user credentials (e.g., usernames and passwords) used by publishers or third parties to interface with an ad network's services. A publisher's network credentials may be obtained from the publisher directly.
- Network metrics (117) may include typical online marketing KPIs and other metrics obtained from publishers, ad networks, and/or other entities, including CPC, CPM, and click-through-rate (CTR) (i.e., number of clicks divided by number of impressions served for a given advertisement). The metrics may include, without limitation, geographic data (e.g., CTR by country), time data (e.g., CTR by hour), platform data (e.g., CTR by operating system), and ad unit data (e.g., CTR by ad type).
- In one or more embodiments of the invention, the ad server system (111) is configured to communicate with applications (101), ad networks (103), DSPs (105), and/or other entities in order to facilitate serving assets to applications in response to fill requests. The ad server system may also include functionality typically provided by ad servers in general and as already described. The ad server system may include functionality to receive, store, and deliver assets to applications and publisher ad servers. The ad server system may include functionality to track KPIs or other metrics for publishers and generate related reports. The ad server system may also include functionality to request data from and store data to the data repository (113). The ad server system (111) and all elements in the ad server system (111) (e.g., converter (125)) may be implemented in hardware (e.g., circuitry), software, or any combination thereof.
- In one or more embodiments of the invention, the optimizer (119) may include functionality to receive fill requests from applications and publisher ad servers. The optimizer may include functionality to send received fill requests to ad networks and/or other entities.
- In one or more embodiments of the invention, the optimizer may include functionality for generating a model for calculating expected publisher revenue (e.g., eCPM) from an ad network, in the event the ad network successfully fills the publisher's ad unit with ad content. The model may be generated based on one or more metrics measuring past performance of ad networks with respect to the either the individual publisher or publishers in aggregate. The model may be generated based on CPM for ad networks that report CPM, or the model may be generated based on a combination of CPC and CTR for ad networks that report CPC. The metrics may be obtained from the data repository (113) or directly from the ad networks using the network reporter (121) described below. In another embodiment of the invention, the optimizer may obtain the model from another entity within or external to the ad server system (111).
- In one or more embodiments of the invention, the optimizer (119) includes functionality to determine an optimal ordering for the waterfall of ad networks based on at least the estimated publisher revenue calculated using the above-mentioned model. The ordering may be determined so that ad networks expected to generate more revenue for a particular fill request are prioritized to receive the request. The ordering may also be determined based on additional factors including ad networks' respective fill rates (the rate at which an ad network successfully serves ad content to fill an ad unit), geographic data, time data, platform data, and/or ad unit data.
- In one or more embodiments of the invention, the optimizer (119) may be configured to send a particular fill request to the first network in the ordering first. If the first network does not successfully serve ad content in response to the request, the fill request may then be sent to the second network in the ordering, and so on until an ad network responds by serving ad content (to the optimizer (119) or to the publisher directly).
- In one or more embodiments of the invention, the network reporter (121) may include functionality to access ad network reporting information through the networks' respective APIs, websites, and/or other methods of communication. A given ad network's reporting information may include one or more KPIs or any other metric for measuring the ad network's performance history. In the case of web access, the network reporter may be configured to scrape an ad network's website to obtain the desired metrics. The network reporter may include functionality to obtain credentials from publishers and/or other entities used to access the ad networks. The network reporter may additionally store credentials in and obtain credentials from the data repository (113).
- In one or more embodiments of the invention, the network reporter (121) may include functionality to generate a report for a publisher based on metrics obtained from the ad networks and/or based on the performance of the optimizer for previously served fill requests.
- In one or more embodiments of the invention, the ad exchange module (123) may include functionality to operate an ad exchange or interface with a third-party ad exchange. The ad exchange module may include functionality to assign proxy bids to one or more ad networks for use in a RTB process (in the case where an ad network is unable to participate in an ad exchange directly). A proxy bid assigned by the ad exchange module to an ad network may be based on the ad network's estimated publisher revenue, calculated by the optimizer using the model. A proxy bid may also be assigned to an ad network using values input directly from the publisher.
- The ad exchange module (123) may include functionality to obtain one or more actual bids corresponding to one or more DSPs. The ad exchange module may then perform a RTB auction using, or provide to a third-party ad exchange, proxy bids for ad networks and/or actual bids for DSPs in order to determine the highest bidder for a publisher's fill request.
- The converter (125) is configured to convert the ad content from an ad source, provided to the ad server system (111) in a format specific to the ad source, into the format of the assets requested/required to generate a native advertisement to populate the ad unit (135). In other words, although ad content may come from a variety of ad sources and be in any number of formats, the output of the converter (125) is the expected ad assets in their expected format. Some or all of the assets, as specified/selected/formatted by the publisher, are used to form the native advertisement that fills the ad unit (135). This is in contrast to traditional advertisements, in which there is no transformation or conversion and an unalterable WebView of an ad is provided for display in the application (133). Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the ad source. As shown in
FIG. 1A , the converter (125) includes a mapping table (126) that identifies/specifies the relationship between the format specific to each ad source and the format of the assets. If the asset is a video or audio clip, conversion of the asset might not be necessary. - The asset upload GUI (124) enables publishers to easily upload assets directly into the ad server system (111). Specifically, a publisher may have direct advertising agreements with one or more companies. The companies may provide the assets directly to the publishers. The publisher may then upload the assets to the ad server system (111) by manipulating the widgets of the asset upload GUI (124). The uploaded assets may be provided to the application (133) in response to the fill request (143).
- While
FIG. 1A shows a configuration of components, other configurations may be used without departing from the scope of the invention. For example, various components may be combined to create a single component. As another example, the functionality performed by a single component may be performed by two or more components. - The invention is not limited to the system shown in
FIG. 1A . -
FIG. 1B shows a system (199) in accordance with one or more embodiments of the invention. The system (199) has several similarities with system (100), discussed above in reference toFIG. 1A . For example, system (199) includes computing device 1 (130), ad server system (111), and multiple ad sources (e.g., DSP 1 (105), Ad Network 1 (103), Ad Network N (103)). As another example, computing device 1 (130) is executing the application (133) that has the ad unit (135). - In one or more embodiments of the invention, the application (133) includes multiple SDKs (e.g., Ad Server System SDK (140A),
Ad Network 1 SDK (140B), Ad Network N SDK (140C)). Specifically, ad server system SDK (140A) communicates with the ad server system (111), while each of the remaining SDKs (140B, 140C) communicates with one of the ad networks (103). For example,ad network 1 SDK (140B) communicates with ad network 1 (103), while ad network N SDK (140C) communicates with ad network N (103). The ad server system SDK (140A) also communicates with the other SDKs (140B, 140C). - During execution of the application (133), the ad server system SDK (140A) may issue a fill request (143) to the ad server system (111). The fill request (143) is effectively a request for assets from the ad server system (111) in order to generate a native advertisement and populate the ad unit (135) with the native advertisement. The fill request (143) may take the form of a URL hit. Moreover, the fill request (143) may include one or more parameters including an identification of the ad unit (135), an identification of the computing device (130), the version of the SDK (140), one or more keywords, a type of content (e.g., sports, cars, pets, vacations, clothes, etc.) displayed around the ad unit (135), a type of connection (e.g., wifi, cellular, etc.) between the computing device (130) and the ad server system (111), etc.
- In one or more embodiments of the invention, the fill request (143) is for all offered assets, even if one or more of the assets have not been selected by the publisher and are not required to generate the native advertisement. In one or more embodiments, the fill request (143) specifies only the assets selected by the publisher and needed to generate the native advertisement. The ad server system (111) may select an ad source (103, 105) to supply the assets using any process described above in reference to
FIG. 1A . If the selected ad source is an ad network (103), the identity of the ad source (i.e., ad source identity (150)) is returned to the ad server system SDK (140A) in response to the fill request (143). If the selected ad source is a DSP (105), the assets (150) are returned to the ad server system SDK (140A) in response to the fill request. The assets (150) are derived from ad content provided by the selected DSP (105) (discussed below). - In one or more embodiments of the invention, if a DSP is selected, the converter (125B) is configured to convert the ad content from the selected DSP, provided to the ad server system (111) in a format specific to the selected DSP (or a format common to all DSPs), into the format of the assets requested/required to generate a native advertisement to populate the ad unit (135). Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the selected DSP. As shown in
FIG. 1C , the converter (125B) includes a mapping table (126B) that identifies/specifies the relationship between the format specific to each DSP (or a format common to all DSPs) and the format of the assets. - As discussed above, if an ad network (103) is selected by the ad server system (111) in response to the fill request (143), the identity of the ad network (150) is returned to the ad server system SDK (140A). Based on the ad source identity (150), the ad network SDK (140B, 140C) of the selected ad network (103) then issues a content request (161) to the selected ad network (103). In response to the content request (161), the ad network (103) returns ad content (160) in a format specific to the ad network (103). The converter (125A) in the ad server system SDK (140A) is configured to convert the ad content (160) from the selected ad network, provided to the ad network SDK (140B, 140C) in the format specific to the selected ad network, into the format of the assets requested/required to generate a native advertisement to populate the ad unit (135). Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the selected ad network. As shown in
FIG. 1C , the converter (125A) includes a mapping table (126A) that identifies/specifies the relationship between the format specific to each ad network and the format of the assets. - Those skilled in the art, having the benefit of this detailed description, will appreciate that the system (199) has two converters: converter A (125A) and converter B (125B). Converter B (125B) is located in the ad server system (111) and converts ad content provided by a selected DSP into the format of the assets requested/required to generate a native advertisement to populate the ad unit (135). In contrast, converter A (125A) is located in the ad server system SDK (140A) and converts ad content provided by a selected ad network (103) into the format of the assets requested/required to generate a native advertisement to populate the ad unit (135). Both converters (125A, 125B) may be implemented in hardware (i.e., circuitry), software, or any combination thereof.
- In one or more embodiments, the ad networks (103) might be unable (e.g., incompatible with) or unwilling to provide the ad content (160) directly to the ad server system (111). Instead, the ad networks (103) only provide ad content (160) to their respective ad network SDK (140B, 140C). By including the ad network SDKs (140B, 140C) in the application (133), the publisher is able to utilize ad content from various ad sources, even ad sources that are not directly compatible with the ad server system (i. e., ad networks that do not provide ad content directly to the ad server system (111)). Moreover, the system (199) still enables the ad server system (111) to select the ad source in response to the fill request (143).
-
FIGS. 1C, 2A, 2B, and 3 show flowcharts in accordance with one or more embodiments of the invention. While the various steps in these flowcharts are presented and described sequentially, one of ordinary skill will appreciate that some or all of the steps may be executed in different orders, may be combined or omitted, and some or all of the steps may be executed in parallel. -
FIG. 1C shows a flowchart for managing a native advertisement in accordance with one or more embodiments of the invention. The process shown inFIG. 1B may be used, for example, with the system (100) ofFIG. 1A or the system (199) ofFIG. 1B . - Initially, a fill request for multiple assets in a first format is received from an application (Step 151). The fill request may be issued by an ad server system SDK in the application and received by an ad server system. The assets will eventually be used to generate a native advertisement to populate an ad unit within the application. The fill request may include one or more parameters including an identification of the ad unit, an identification of the computing device executing the application, the version of the SDK in the application, one or more keywords, a type of content (e.g., sports, cars, pets, vacations, clothes, etc.) displayed around the ad unit, a type of connection (e.g., wifi, cellular, etc.) between the computing device and the ad server system (111), etc.
- In
Step 153, ad content in a second format (i.e., a format different than the requested assets) is received from an ad source. The ad source may be selected according to the process set forth inFIG. 2A orFIG. 2B . The fill request (or at least one or more parameters of the fill request) may be sent to the ad source. The ad source may select ad content based on the parameter(s). In one or more embodiments of the invention, if the selected ad source is a DSP, the ad content is received by the ad server system from the DSP. In one or more embodiments of the invention, if the selected ad source is an ad network, the identity of the selected ad network is returned to the ad server system SDK and the ad content is received by the ad network SDK in the application that communicates with the selected ad network. - In
Step 155, the ad content received from the ad source is converted into the format of the required/requested assets. Converting may include removing, reordering, merging, grouping, etc. data (i.e., ad content) provided by the ad source. Converting may include accessing a mapping table identifying/specifying the relationship between the format specific to the ad source and the format of the assets. In one or more embodiments of the invention, if the selected ad source is a DSP, the converter in the ad server system performs the converting, and the resulting assets are returned to the ad server system SDK. In one or more embodiments of the invention, if the selected ad source is an ad network, the converter in the ad server system SDK performs the converting. - In
Step 157, the requested assets are used to fill the ad unit. Specifically, a native advertisement will be generated from the assets and the ad unit will be populated with the native advertisement. -
FIG. 2A shows a flowchart for optimizing publisher revenue from one or more ad networks and/or demand-side platforms in accordance with one or more embodiments of the invention.FIG. 2A may provide the additional details forStep 153 inFIG. 1C . The process shown inFIG. 2A may be used, for example, with the system (100) ofFIG. 1A and/or the system (199) ofFIG. 1B to optimize publishers' ad revenue. - In
Step 203, estimated publisher revenues (e.g., eCPM) from ad networks for filling the ad unit are calculated using a model. The model may be previously generated and obtained from storage or may be generated contemporaneously with the execution of this step. - In
Step 205, a determination is made about whether to perform a RTB auction for the ad unit using an ad exchange. If the ad unit is to be auctioned, the process proceeds to Step 207. If the ad unit is not to be auctioned, the process proceeds to Step 217. This determination may be made based on publisher input (i.e., the publisher may “opt in” to RTB auctions). Other factors may be used to make the determination instep 205 without departing from the invention. - In
Step 207, if it has been determined that the ad unit is to be auctioned, a proxy bid is assigned to participating ad networks based on the estimated revenue from each ad network for filling the ad unit, calculated according toStep 203. In one or more embodiments of the invention, proxy bids are assigned to ad networks because ad networks cannot otherwise participate directly in the ad exchange. In one or more embodiments of the invention, proxy bids are assigned to every ad network having an account for the publisher. - In
Step 209, actual bids on the ad unit are obtained from one or more DSPs. - In
Step 211, an RTB auction is performed using the proxy bids assigned to the ad networks and the actual bids obtained from the DSPs, and a winning bid is obtained. The winning bid may or may not represent the actual revenue received by the publisher, regardless of whether the winner successfully provides ad content in response to the fill request. - In
Step 213, it is determined whether the winning bid belongs to a DSP. If a DSP wins the auction, the process proceeds to Step 215. If a DSP does not win the auction (e.g., the winning bid is a proxy bid for an ad network), the process proceeds to Step 217. A variety of auction mechanisms can be used to determine a winning bid (e.g., second-price auction), in accordance with various embodiments. - In
Step 215, the winning DSP's ad content is sent to the ad server system in response to the fill request (Step 151). The ad content may be obtained from the DSP or may be obtained from storage if it has already been acquired by the ad server system. - In
Step 217, an ordering of ad networks is determined based on at least the estimated revenues calculated inStep 203. The ordering may also be determined based on fill rates for the ad networks and/or any other relevant metric. If a RTB auction has been performed, the ordering of ad networks may be based on the proxy bids assigned to the ad networks, as the proxy bids were assigned based on the aforementioned estimated revenues. - In
Step 219, an ad network is selected to receive a fill request based on the network ordering determined according toStep 217. In one or more embodiments of the invention, the first ad network in the ordering that has not yet received the fill request is selected. - In
Step 221, a fill request is sent to the selected ad network. The request may include the aforementioned constraints for impressions that are compatible with properties of the ad unit, as well as the aforementioned data regarding the publisher or the application. These constraints may serve to disallow the selected ad network from serving the fill request if the network has no qualifying impressions available. - In
Step 223, it is determined whether the fill request is accepted by the ad network; in other words, whether the ad network will send an impression in response to the fill request. The ad network may choose not to respond based on the fill request; for example, if the request indicates that the application is published only in the USA, an ad network representing only European advertisers may not respond to the request. If the fill request is not accepted, the process returns to Step 219 to send a fill request to another ad network based on the ordering. If the fill request is accepted, the process may proceed to Step 225. - In
Step 225, if the fill request has been accepted by the selected ad network, ad content is received from the selected ad network in response to the request. In Step 227, the ad content is provided to the ad server system. -
FIG. 2B shows a flowchart for optimizing publisher revenue from one or more ad networks and/or demand-side platforms in accordance with one or more embodiments of the invention.FIG. 2B may provide the additional details forStep 153 inFIG. 1C . The process shown inFIG. 2B may be used, for example, with the system (100) ofFIG. 1A and/or the system (199) ofFIG. 1B to optimize publishers' ad revenue. - In
Step 253, estimated publisher revenues (e.g., eCPM) from ad networks for filling the ad unit are calculated using a model. The model may be previously generated and obtained from storage or may be generated contemporaneously with the execution of this step. - In
Step 255, it is determined whether the publisher is running direct ads. When it is determined that the publisher is not running direct ads, the process proceeds to Step 257. - In
Step 257, an RTB auction is run (discussed above) and the winner of the RTB auction is acquired. - In
Step 259, a second RTB auction is run. However, this second auction uses the winner of the first RTB auction (i.e., Step 257) and proxy bods (discussed above). The winner of this second auction is required. The winner of this second auction is the selected ad source, discussed above in reference to Step 153 inFIG. 1C . -
FIG. 3 shows a flowchart for building a model for estimating publisher revenue from one or more ad networks. The process shown inFIG. 3 may be used, for example, with the system ofFIG. 1 to build a model for ad revenue estimation. - In
Step 301, publisher credentials are obtained for accessing one or more ad networks. The publisher credentials may have been previously obtained by multiple publishers and stored for later retrieval. In one or more embodiments of the invention, when an individual publisher agrees to participate in the ad server system, the participating publisher may “opt in” to provide the publisher's credentials for accessing the ad networks. - In Step 303, metrics are obtained from the one or more ad networks using the publisher credentials. If the participating publisher provides its credentials, metrics for the participating publisher are obtained in addition to metrics for the multiple publishers. These metrics may include various KPIs and other metrics for previous transactions between the publishers and the ad networks.
- In
Step 305, a model is generated based on the metrics obtained, and the process proceeds to end. The model may be generated based on metrics for multiple publishers and/or the participating publisher. - Embodiments of the invention may be implemented on virtually any type of computing system regardless of the platform being used. For example, the computing system may be one or more mobile devices (e.g., laptop computer, smart phone, personal digital assistant, tablet computer, or other mobile device), desktop computers, servers, blades in a server chassis, or any other type of computing device or devices that includes at least the minimum processing power, memory, and input and output device(s) to perform one or more embodiments of the invention. For example, as shown in
FIG. 5 , the computing system (500) may include one or more computer processor(s) (502), associated memory (504) (e.g., random access memory (RAM), cache memory, flash memory, etc.), one or more storage device(s) (506) (e.g., a hard disk, an optical drive such as a compact disk (CD) drive or digital versatile disk (DVD) drive, a flash memory stick, etc.), and numerous other elements and functionalities. The computer processor(s) (502) may be an integrated circuit for processing instructions. For example, the computer processor(s) may be one or more cores, or micro-cores of a processor. The computing system (500) may also include one or more input device(s) (510), such as a touchscreen, keyboard, mouse, microphone, touchpad, electronic pen, or any other type of input device. Further, the computing system (500) may include one or more output device(s) (508), such as a screen (e.g., a liquid crystal display (LCD), a plasma display, touchscreen, cathode ray tube (CRT) monitor, projector, or other display device), a printer, external storage, or any other output device. One or more of the output device(s) may be the same or different from the input device(s). The computing system (500) may be connected to a network (514) (e.g., a local area network (LAN), a wide area network (WAN) such as the Internet, mobile network, or any other type of network) via a network interface connection (not shown). The input and output device(s) may be locally or remotely (e.g., via the network (512)) connected to the computer processor(s) (502), memory (504), and storage device(s) (506). Many different types of computing systems exist, and the aforementioned input and output device(s) may take other forms. - Software instructions in the form of computer readable program code to perform embodiments of the invention may be stored, in whole or in part, temporarily or permanently, on a non-transitory computer readable medium such as a CD, DVD, storage device, a diskette, a tape, flash memory, physical memory, or any other computer readable storage medium. Specifically, the software instructions may correspond to computer readable program code that when executed by a processor(s), is configured to perform embodiments of the invention.
- Further, one or more elements of the aforementioned computing system (500) may be located at a remote location and connected to the other elements over a network (514). Further, embodiments of the invention may be implemented on a distributed system having a plurality of nodes, where each portion of the invention may be located on a different node within the distributed system. In one embodiment of the invention, the node corresponds to a distinct computing device. Alternatively, the node may correspond to a computer processor with associated physical memory. The node may alternatively correspond to a computer processor or micro-core of a computer processor with shared memory and/or resources.
- While the invention has been described with respect to a limited number of embodiments, those skilled in the art, having benefit of this disclosure, will appreciate that other embodiments can be devised which do not depart from the scope of the invention as disclosed herein. Accordingly, the scope of the invention should be limited only by the attached claims.
Claims (13)
Priority Applications (1)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US17/114,751 US20210090125A1 (en) | 2015-04-14 | 2020-12-08 | Native Advertisements |
Applications Claiming Priority (3)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US201562147462P | 2015-04-14 | 2015-04-14 | |
| US15/099,455 US11080755B1 (en) | 2015-04-14 | 2016-04-14 | Native advertisements |
| US17/114,751 US20210090125A1 (en) | 2015-04-14 | 2020-12-08 | Native Advertisements |
Related Parent Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/099,455 Division US11080755B1 (en) | 2015-04-14 | 2016-04-14 | Native advertisements |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| US20210090125A1 true US20210090125A1 (en) | 2021-03-25 |
Family
ID=74881968
Family Applications (2)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/099,455 Expired - Fee Related US11080755B1 (en) | 2015-04-14 | 2016-04-14 | Native advertisements |
| US17/114,751 Abandoned US20210090125A1 (en) | 2015-04-14 | 2020-12-08 | Native Advertisements |
Family Applications Before (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| US15/099,455 Expired - Fee Related US11080755B1 (en) | 2015-04-14 | 2016-04-14 | Native advertisements |
Country Status (1)
| Country | Link |
|---|---|
| US (2) | US11080755B1 (en) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20200120172A1 (en) * | 2018-10-10 | 2020-04-16 | NEC Laboratories Europe GmbH | Method and system for synchronizing user identities |
| US20240420228A1 (en) * | 2015-10-07 | 2024-12-19 | Bytedance Inc. | Method and apparatus for facilitating meta search proxy bidding |
Families Citing this family (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20220058685A1 (en) * | 2018-12-15 | 2022-02-24 | Kinesso Llc | Value Index Score |
| US20200193351A1 (en) * | 2018-12-15 | 2020-06-18 | Cadreon LLC | Value Index Score |
| US12499305B2 (en) | 2023-04-05 | 2025-12-16 | Google Llc | Compositions rendering for publisher-rendered native content items in applications |
| US12307480B1 (en) | 2024-10-25 | 2025-05-20 | Adster Technologies Pvt. Ltd. | System and a method for optimizing advertisement yield and reducing advertisement latency |
Citations (30)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0721159A (en) * | 1993-06-22 | 1995-01-24 | Canon Inc | Character processing apparatus and method |
| EP0868104A2 (en) * | 1997-03-27 | 1998-09-30 | Siemens Aktiengesellschaft | Hierarchically structured communication network and method for communicating geographical coordinates of nodes |
| US6134532A (en) * | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
| US20040030741A1 (en) * | 2001-04-02 | 2004-02-12 | Wolton Richard Ernest | Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery |
| US20040103027A1 (en) * | 2001-01-29 | 2004-05-27 | Katsuyuki Yamamoto | Advertisement distributing server system, and advertise distributing method |
| US20050065806A1 (en) * | 2003-06-30 | 2005-03-24 | Harik Georges R. | Generating information for online advertisements from Internet data and traditional media data |
| US20050114198A1 (en) * | 2003-11-24 | 2005-05-26 | Ross Koningstein | Using concepts for ad targeting |
| US20050222901A1 (en) * | 2004-03-31 | 2005-10-06 | Sumit Agarwal | Determining ad targeting information and/or ad creative information using past search queries |
| US20060212350A1 (en) * | 2005-03-07 | 2006-09-21 | Ellis John R | Enhanced online advertising system |
| US20060242013A1 (en) * | 2005-04-22 | 2006-10-26 | Sumit Agarwal | Suggesting targeting information for ads, such as Websites and/or categories of Websites for example |
| US20070156520A1 (en) * | 2005-12-30 | 2007-07-05 | Jayesh Sharma | Using search query information to determine relevant ads for a landing page of an ad |
| US20070239530A1 (en) * | 2006-03-30 | 2007-10-11 | Mayur Datar | Automatically generating ads and ad-serving index |
| US20070260508A1 (en) * | 2002-07-16 | 2007-11-08 | Google, Inc. | Method and system for providing advertising through content specific nodes over the internet |
| JP2008059555A (en) * | 2006-09-01 | 2008-03-13 | Togen Denki Kofun Yugenkoshi | System for broadcasting hierarchical advertisement, and method therefor |
| US20090055267A1 (en) * | 2007-08-23 | 2009-02-26 | Robert Roker | Internet advertising brokerage apparatus, systems, and methods |
| US20090248524A1 (en) * | 2008-03-26 | 2009-10-01 | Jonathan Defoy | Systems, methods and apparatus for the display of advertisements in a software application |
| US20090259551A1 (en) * | 2008-04-11 | 2009-10-15 | Tremor Media, Inc. | System and method for inserting advertisements from multiple ad servers via a master component |
| WO2010003129A2 (en) * | 2008-07-03 | 2010-01-07 | The Regents Of The University Of California | A method for efficiently supporting interactive, fuzzy search on structured data |
| US8041604B1 (en) * | 1999-03-16 | 2011-10-18 | Studebaker & Brackett PC | Method of embedding advertisements in communication |
| US20120059708A1 (en) * | 2010-08-27 | 2012-03-08 | Adchemy, Inc. | Mapping Advertiser Intents to Keywords |
| US20130063561A1 (en) * | 2011-09-14 | 2013-03-14 | Karel Paul Stephan | Virtual advertising platform |
| US20140055803A1 (en) * | 2005-10-14 | 2014-02-27 | Uhlig Llc | Dynamic Variable-Content Publishing |
| US20140068692A1 (en) * | 2012-08-31 | 2014-03-06 | Ime Archibong | Sharing Television and Video Programming Through Social Networking |
| US20140067542A1 (en) * | 2012-08-30 | 2014-03-06 | Luminate, Inc. | Image-Based Advertisement and Content Analysis and Display Systems |
| US20140201126A1 (en) * | 2012-09-15 | 2014-07-17 | Lotfi A. Zadeh | Methods and Systems for Applications for Z-numbers |
| US20140324599A1 (en) * | 2013-04-29 | 2014-10-30 | Yahoo! Inc. | System and method for booking an online advertising campaign |
| US20140324604A1 (en) * | 2013-04-29 | 2014-10-30 | Yahoo! Inc. | System and method for producing proposed online advertisements from pre-existing advertising creatives |
| US20150254714A1 (en) * | 2014-03-10 | 2015-09-10 | Yahoo! Inc. | Systems and methods for keyword suggestion |
| US20160364748A1 (en) * | 2015-06-11 | 2016-12-15 | Outbrain Inc. | Computer-implemented method and system for assigning yield and revenue values to web page content in real time |
| US10152731B1 (en) * | 2013-12-06 | 2018-12-11 | Twitter, Inc. | Scalable native in-stream advertising for mobile applications and websites |
Family Cites Families (22)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP2003091476A (en) | 2001-09-14 | 2003-03-28 | Victor Co Of Japan Ltd | Contents managing device and method |
| JP3823929B2 (en) | 2002-05-17 | 2006-09-20 | ソニー株式会社 | Information processing apparatus, information processing method, content distribution apparatus, content distribution method, and computer program |
| US7702318B2 (en) | 2005-09-14 | 2010-04-20 | Jumptap, Inc. | Presentation of sponsored content based on mobile transaction event |
| US9201979B2 (en) * | 2005-09-14 | 2015-12-01 | Millennial Media, Inc. | Syndication of a behavioral profile associated with an availability condition using a monetization platform |
| US8660891B2 (en) | 2005-11-01 | 2014-02-25 | Millennial Media | Interactive mobile advertisement banners |
| US9058406B2 (en) * | 2005-09-14 | 2015-06-16 | Millennial Media, Inc. | Management of multiple advertising inventories using a monetization platform |
| US7769764B2 (en) | 2005-09-14 | 2010-08-03 | Jumptap, Inc. | Mobile advertisement syndication |
| US8364540B2 (en) * | 2005-09-14 | 2013-01-29 | Jumptap, Inc. | Contextual targeting of content using a monetization platform |
| US20110055209A1 (en) * | 2007-02-23 | 2011-03-03 | Anthony Novac | System and method for delivering content and advertisments |
| US8667532B2 (en) * | 2007-04-18 | 2014-03-04 | Google Inc. | Content recognition for targeting video advertisements |
| US8412767B2 (en) * | 2007-07-18 | 2013-04-02 | Network Solutions Inc. | Mobile content service |
| US20120027816A1 (en) | 2009-02-25 | 2012-02-02 | Actavis Group Ptc Ehf | Highly pure eletriptan or a pharmaceutically acceptable salt thereof substantially free of eletriptan n-oxide impurity |
| KR101073847B1 (en) * | 2009-04-23 | 2011-10-14 | 주식회사 케이엘넷 | Method, Apparatus and Recording Medium for Transforming Electronic Document Form |
| JP2013519162A (en) * | 2010-02-01 | 2013-05-23 | ジャンプタップ,インコーポレイテッド | Integrated advertising system |
| US20120296991A1 (en) * | 2011-02-23 | 2012-11-22 | Nova Spivack | Adaptive system architecture for identifying popular topics from messages |
| US20130159431A1 (en) | 2011-12-19 | 2013-06-20 | Jeffrey B. Berry | Logo message |
| US20140011562A1 (en) | 2012-07-07 | 2014-01-09 | Ray Smith | Magic keno game |
| US8732745B2 (en) * | 2012-10-22 | 2014-05-20 | Sony Corporation | Method and system for inserting an advertisement in a media stream |
| US9292264B2 (en) * | 2013-03-15 | 2016-03-22 | Paschar Llc | Mobile device user interface advertising software development kit |
| WO2016028813A1 (en) * | 2014-08-18 | 2016-02-25 | Groopic, Inc. | Dynamically targeted ad augmentation in video |
| US20160104201A1 (en) * | 2014-10-09 | 2016-04-14 | Wrap Media, LLC | Wrapped package of cards including native advertising |
| US20170011418A1 (en) * | 2015-05-29 | 2017-01-12 | Claude Denton | System and method for account ingestion |
-
2016
- 2016-04-14 US US15/099,455 patent/US11080755B1/en not_active Expired - Fee Related
-
2020
- 2020-12-08 US US17/114,751 patent/US20210090125A1/en not_active Abandoned
Patent Citations (37)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JPH0721159A (en) * | 1993-06-22 | 1995-01-24 | Canon Inc | Character processing apparatus and method |
| EP0868104A2 (en) * | 1997-03-27 | 1998-09-30 | Siemens Aktiengesellschaft | Hierarchically structured communication network and method for communicating geographical coordinates of nodes |
| US6134532A (en) * | 1997-11-14 | 2000-10-17 | Aptex Software, Inc. | System and method for optimal adaptive matching of users to most relevant entity and information in real-time |
| US20120095815A1 (en) * | 1999-03-16 | 2012-04-19 | Lawrence F. Glaser | Method of embedding advertisements in communication |
| US8041604B1 (en) * | 1999-03-16 | 2011-10-18 | Studebaker & Brackett PC | Method of embedding advertisements in communication |
| US20040103027A1 (en) * | 2001-01-29 | 2004-05-27 | Katsuyuki Yamamoto | Advertisement distributing server system, and advertise distributing method |
| US20040030741A1 (en) * | 2001-04-02 | 2004-02-12 | Wolton Richard Ernest | Method and apparatus for search, visual navigation, analysis and retrieval of information from networks with remote notification and content delivery |
| US7752072B2 (en) * | 2002-07-16 | 2010-07-06 | Google Inc. | Method and system for providing advertising through content specific nodes over the internet |
| US20070260508A1 (en) * | 2002-07-16 | 2007-11-08 | Google, Inc. | Method and system for providing advertising through content specific nodes over the internet |
| US20050065806A1 (en) * | 2003-06-30 | 2005-03-24 | Harik Georges R. | Generating information for online advertisements from Internet data and traditional media data |
| US20050114198A1 (en) * | 2003-11-24 | 2005-05-26 | Ross Koningstein | Using concepts for ad targeting |
| US20050222901A1 (en) * | 2004-03-31 | 2005-10-06 | Sumit Agarwal | Determining ad targeting information and/or ad creative information using past search queries |
| US20060212350A1 (en) * | 2005-03-07 | 2006-09-21 | Ellis John R | Enhanced online advertising system |
| US20060242013A1 (en) * | 2005-04-22 | 2006-10-26 | Sumit Agarwal | Suggesting targeting information for ads, such as Websites and/or categories of Websites for example |
| US20140055803A1 (en) * | 2005-10-14 | 2014-02-27 | Uhlig Llc | Dynamic Variable-Content Publishing |
| US20070156520A1 (en) * | 2005-12-30 | 2007-07-05 | Jayesh Sharma | Using search query information to determine relevant ads for a landing page of an ad |
| US20070239530A1 (en) * | 2006-03-30 | 2007-10-11 | Mayur Datar | Automatically generating ads and ad-serving index |
| US8326686B2 (en) * | 2006-03-30 | 2012-12-04 | Google Inc. | Automatically generating ads and ad-serving index |
| JP2008059555A (en) * | 2006-09-01 | 2008-03-13 | Togen Denki Kofun Yugenkoshi | System for broadcasting hierarchical advertisement, and method therefor |
| US20090055267A1 (en) * | 2007-08-23 | 2009-02-26 | Robert Roker | Internet advertising brokerage apparatus, systems, and methods |
| US20090248524A1 (en) * | 2008-03-26 | 2009-10-01 | Jonathan Defoy | Systems, methods and apparatus for the display of advertisements in a software application |
| US20090259551A1 (en) * | 2008-04-11 | 2009-10-15 | Tremor Media, Inc. | System and method for inserting advertisements from multiple ad servers via a master component |
| US20090259552A1 (en) * | 2008-04-11 | 2009-10-15 | Tremor Media, Inc. | System and method for providing advertisements from multiple ad servers using a failover mechanism |
| WO2010003129A2 (en) * | 2008-07-03 | 2010-01-07 | The Regents Of The University Of California | A method for efficiently supporting interactive, fuzzy search on structured data |
| US20120059708A1 (en) * | 2010-08-27 | 2012-03-08 | Adchemy, Inc. | Mapping Advertiser Intents to Keywords |
| US20150215605A1 (en) * | 2011-08-31 | 2015-07-30 | Rocks International Group Pte Ltd. | Virtual advertising platform |
| US9013553B2 (en) * | 2011-08-31 | 2015-04-21 | Rocks International Group Pte Ltd. | Virtual advertising platform |
| US20130063561A1 (en) * | 2011-09-14 | 2013-03-14 | Karel Paul Stephan | Virtual advertising platform |
| US20140067542A1 (en) * | 2012-08-30 | 2014-03-06 | Luminate, Inc. | Image-Based Advertisement and Content Analysis and Display Systems |
| US20140068692A1 (en) * | 2012-08-31 | 2014-03-06 | Ime Archibong | Sharing Television and Video Programming Through Social Networking |
| US9549227B2 (en) * | 2012-08-31 | 2017-01-17 | Facebook, Inc. | Sharing television and video programming through social networking |
| US20140201126A1 (en) * | 2012-09-15 | 2014-07-17 | Lotfi A. Zadeh | Methods and Systems for Applications for Z-numbers |
| US20140324604A1 (en) * | 2013-04-29 | 2014-10-30 | Yahoo! Inc. | System and method for producing proposed online advertisements from pre-existing advertising creatives |
| US20140324599A1 (en) * | 2013-04-29 | 2014-10-30 | Yahoo! Inc. | System and method for booking an online advertising campaign |
| US10152731B1 (en) * | 2013-12-06 | 2018-12-11 | Twitter, Inc. | Scalable native in-stream advertising for mobile applications and websites |
| US20150254714A1 (en) * | 2014-03-10 | 2015-09-10 | Yahoo! Inc. | Systems and methods for keyword suggestion |
| US20160364748A1 (en) * | 2015-06-11 | 2016-12-15 | Outbrain Inc. | Computer-implemented method and system for assigning yield and revenue values to web page content in real time |
Non-Patent Citations (5)
| Title |
|---|
| • CISCO. "Going Native (Active Directory, that is)." (May 10, 2011). Retrieved online 12/09/2022. https://meraki.cisco.com/blog/2011/05/going-native-active-directory-that-is/ (Year: 2011) * |
| • GOOGLE Maps Platform. Autocomplete for Addresses and Search Terms. (October 08, 2013). Retrieved online 12/27/2020. https://developers.google.com/maps/documentation/javascript/places-autocomplete (Year: 2013) * |
| • John Winston Chandler-Pepelnjak. "Modeling Conversions in Online Advertising." (2010). Retrieved online 12/09/2022. https://scholarworks.umt.edu/cgi/viewcontent.cgi?article=1689&context=etd (Year: 2010) * |
| • Queen's University Belfast. IT Training and Assessment Unit. (June 2012). Retrieved online 12/27/2020 https://www.qub.ac.uk/directorates/media/Media,300678,en.pdf (Year: 2012) * |
| • YAHOO. "Android Ad Publishing." (09 December 2014). Retrieved online 12/12/2022. https://developer.yahoo.com/flurry/docs/publisher/code/android * |
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US20240420228A1 (en) * | 2015-10-07 | 2024-12-19 | Bytedance Inc. | Method and apparatus for facilitating meta search proxy bidding |
| US12423745B2 (en) * | 2015-10-07 | 2025-09-23 | Bytedance Inc. | Method and apparatus for facilitating meta search proxy bidding |
| US20200120172A1 (en) * | 2018-10-10 | 2020-04-16 | NEC Laboratories Europe GmbH | Method and system for synchronizing user identities |
| US11843675B2 (en) * | 2018-10-10 | 2023-12-12 | Nec Corporation | Method and system for synchronizing user identities |
Also Published As
| Publication number | Publication date |
|---|---|
| US11080755B1 (en) | 2021-08-03 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US20210090125A1 (en) | Native Advertisements | |
| JP5899275B2 (en) | System and method for scoring quality of advertisement and content in online system | |
| JP5646787B1 (en) | Integrated market for advertising and content in online systems | |
| US20170358011A1 (en) | Systems and method for achieving reduced latency | |
| JP6199884B2 (en) | Precision control applications that deliver online advertising | |
| US20140108130A1 (en) | Calculating audience metrics for online campaigns | |
| US20120036023A1 (en) | System for conducting demand-side, real-time bidding in an advertising exchange | |
| US10262339B2 (en) | Externality-based advertisement bid and budget allocation adjustment | |
| CN101438309A (en) | Distributed architecture for online advertising | |
| US11734728B2 (en) | Method and apparatus for providing web advertisements to users | |
| US20190295122A1 (en) | Method and apparatus for facilitating management of advertisement campaigns | |
| US20150178790A1 (en) | User Engagement-Based Dynamic Reserve Price for Non-Guaranteed Delivery Advertising Auction | |
| CN107194729A (en) | Advertising bidding method, device, electronic device and computer readable medium | |
| US20210110438A1 (en) | Ordering of fill requests to send to online ad networks to fill an ad unit in an electronic publisher application with an online advertising impression | |
| US20180357678A1 (en) | Offline conversion tracking | |
| US20150081455A1 (en) | Service providing apparatus and service providing method | |
| US20120296712A1 (en) | Method, system, apparatus, and media for improving paid search realization | |
| CN106688005A (en) | System and method for predictively serving advertisements to devices with an advertisement exchange | |
| US20140114788A1 (en) | Determining a price for content | |
| CN117236302A (en) | Method, apparatus, device and medium for information processing | |
| US20160189241A1 (en) | Cost-per- second online advertisement ranking methods and systems | |
| US20140067522A1 (en) | Method and system for managing online paid advertisements | |
| US20140214555A1 (en) | Externalities in an auction | |
| US20200311174A1 (en) | Content serving service generated html content | |
| US20150039459A1 (en) | Determining a price associated with a winning bid |
Legal Events
| Date | Code | Title | Description |
|---|---|---|---|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: APPLICATION DISPATCHED FROM PREEXAM, NOT YET DOCKETED |
|
| AS | Assignment |
Owner name: TWITTER, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:LOGVINSKIY, BORIS;REN, YUAN;CHAN, KELCEY;AND OTHERS;SIGNING DATES FROM 20160609 TO 20160630;REEL/FRAME:054863/0232 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
| AS | Assignment |
Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TWITTER, INC.;REEL/FRAME:062079/0677 Effective date: 20221027 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TWITTER, INC.;REEL/FRAME:061804/0086 Effective date: 20221027 Owner name: MORGAN STANLEY SENIOR FUNDING, INC., MARYLAND Free format text: SECURITY INTEREST;ASSIGNOR:TWITTER, INC.;REEL/FRAME:061804/0001 Effective date: 20221027 |
|
| STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
| STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |
|
| AS | Assignment |
Owner name: X CORP. (F/K/A TWITTER, INC.), TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:070670/0857 Effective date: 20250220 Owner name: X CORP. (F/K/A TWITTER, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC.;REEL/FRAME:070670/0857 Effective date: 20250220 |
|
| AS | Assignment |
Owner name: X CORP. (F/K/A TWITTER, INC.), TEXAS Free format text: RELEASE BY SECURED PARTY;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:071127/0240 Effective date: 20250429 Owner name: X CORP. (F/K/A TWITTER, INC.), TEXAS Free format text: RELEASE OF SECURITY INTEREST;ASSIGNOR:MORGAN STANLEY SENIOR FUNDING, INC., AS COLLATERAL AGENT;REEL/FRAME:071127/0240 Effective date: 20250429 |