The present disclosure generally relates to targeted advertising systems.
Geographic targeting or “geo targeting,” in Internet marketing and advertising, generally refers to methods of determining the physical or geographic location of a web site user and delivering content, such as targeted ads, to the web site user based on his or her location. Locations can be more general locations, such as country or region/ state, and more specific, such as city, metropolitan region, zip code, and county.
Geo targeting systems are often based on an examination of Internet Protocol (IP) addresses associated with individual web site users against a database that maps IP addresses, ranges and subnets to various geographic locations. Geo targeting can also be accomplished based on geographical and other personal information that were provided by the web site user, as well, such as in connection with a user account. Due to a wide variety of factors including the complexity of the network, the dynamically changing environment and IP address space, geo targeting systems, however, are not perfectly accurate. Indeed, many geo targeting information vendors or systems assign confidence factors to resolved locations based on IP address or other information. For example, the confidence factor for a given mapping between an IP address an a geographic location can be affected by connection attributes, including whether a user is connected via a satellite, is using a proxy server, and other factors.
Advertisers want high accuracy and sufficient geographic inventory—i.e., page impressions available from a given geographic location. To an advertising network provider, however, high accuracy requires higher confidence factors, which often reduces the available inventory for a given location.
The present invention provides methods, apparatuses and systems directed to enhancing operation of geo-targeting in network ad delivery systems. Particular implementations of the invention are directed to tuning confidence factors utilized in connection with geo-targeted advertising systems based on impression demand for a given geographic location and available inventory for that location.
Particular embodiments of the present invention are related to geo-targeting systems that provide content, such as ad content, to users based on an identified geographic location. Geo Targeting by IP address and user insight typically have an accuracy expectation expressed as a confidence factor measured against them. Typically, ad systems target all inventory above a fixed accuracy measure in order to ensure large inventory while maintaining accuracy. Since improved accuracy can improve click through rates and improved inventory improves total targetable users, these relationships have a large impact on geo-targeting ad revenue. By using forecasting systems to determine how much inventory is required for a given time period, an accuracy filter can be set to the highest confidence factor possible to satisfy demand, thereby creating a maximum accuracy for the required amount of inventory. Furthermore, tradeoffs can be computed between the expected accuracy rate and the inventory rate to optimize the targetable users.
As discussed in more detail below, particular implementation of the invention modulate the threshold confidence factors corresponding to one or more geographic locations based on demand for impressions and anticipated impression inventory. Understanding the tradeoffs between available targetable inventory and accuracy is not a fixed problem, it varies on a daily basis. Therefore, it may be desirable to enable mechanisms that are capable of providing a safety buffer between targetable inventory and the accuracy capabilities of geo-targeting systems. This idea allows for precise tuning on a daily basis of our geo targeting.
In a particular implementation, advertising inventory forecasting systems can determine how many targetable users are required to satisfy advertiser demand for impressions directed to those targetable users for a given time interval (such as each day) and adjust the accuracy confidence threshold of a geo-targeting system in order to maximize accuracy against inventory. Revenue impact can be significant since each incremental addition to inventory allows for direct impact on advertising revenue. For example, the present invention can be configured to achieve either a significant increase in targetable inventory (increasing volume) OR a significant increase in accuracy (allowing for increased price) by optimizing on a periodic basis.
The present invention can be implemented in a variety of manners, as discussed in more detail below. Other implementations of the invention may be practiced without some or all of specific details set forth below. In some instances, well known structures and/or processes have not been described in detail so that the present invention is not unnecessarily obscured.
A.1. Example Network Environment
Particular implementations of the invention operate in a wide area network environment, such as the Internet, including multiple network addressable systems. Network cloud 60 generally represents one or more interconnected networks, over which the systems and hosts described herein can communicate. Network cloud 60 may include packet-based wide area networks (such as the Internet), private networks, wireless networks, satellite networks, cellular networks, paging networks, and the like.
As
Network application hosting site 20 is a network addressable system that hosts a network application accessible to one or more users over a computer network. The network application may be an informational web site where users request and receive identified web pages and other content over the computer network. The network application may also be a search platform, an on-line forum or blogging application where users may submit or otherwise configure content for display to other users. The network application may also be a social network application allowing users to configure and maintain personal web pages. The network application may also be a content distribution application, such as Yahoo! Music Engine®, Apple® iTunes®, podcasting servers, that displays available content, and transmits content to users.
Network application hosting site 20, in one implementation, comprises one or more physical servers 22 and content data store 24. The one or more physical servers 22 are operably connected to computer network 60 via a router 26. The one or more physical servers 22 host functionality that provides a network application (e.g, a news content site, etc.) to a user. As discussed in connection with
Content data store 24 stores content as digital content data objects. A content data object or content object, in particular implementations, is an individual item of digital information typically stored or embodied in a data file or record. Content objects may take many forms, including: text (e.g., ASCII, SGML, HTML), images (e.g., jpeg, tif and gif), graphics (vector-based or bitmap), audio, video (e.g., mpeg), or other multimedia, and combinations thereof. Content object data may also include executable code objects (e.g., games executable within a browser window or frame), podcasts, etc. Structurally, content data store 24 connotes a large class of data storage and management systems. In particular implementations, content data store 24 may be implemented by any suitable physical system including components, such as database servers, mass storage media, media library systems, and the like.
Network application hosting site 20, in one implementation, provides web pages, such as front pages, that include an information package or module describing one or more attributes of a network addressable resource, such as a web page containing an article or product description, a downloadable or streaming media file, and the like. The web page may also include one or more ads, such as banner ads, text-based ads, sponsored videos, games, and the like. Network application hosting site 20, in one implementation, further maintains one or more server logs that can be analyzed to determine the number of page impressions of a page and the number of click-thrus associated with links presented on pages. The number of impressions, in one particular implementation, can be defined as the number of requests, such as HTTP GET requests and other accesses, for a given web page or other network addressable resource. For example, the number of impressions for Yahoo!'s front page totals in the millions on a daily basis. HTTP or web servers can be configured to log client requests to allow for tracking of the number of impressions. Generally, web pages and other resources include hypertext links or other controls that a user can activate to retrieve additional web pages or resources. A user “clicks” on the hyperlink with a computer input device to initiate a retrieval request to retrieve the information associated with the hyperlink or control. HTTP or web servers similarly log these retrieval events which can be counted as click-thrus. This data and the attributes of the information packages associated with this data can be used to build predictive models that forecast inventory of page impressions. When analyzed in connection with geo-targeting data, the page impression inventory can be forecasted for one or more geographic locations.
Web server 110 is an executable module that accepts HyperText Transport Protocol (HTTP) requests from web clients, such web browser client applications hosted on client computers 82, 84, and serving HTTP responses including data contents, such as HyperText Markup Language (HTML) documents and linked objects (images, advertisements, etc.). In one implementation, web server 110 has the capability of logging information about client requests and server responses to log files. Web server 110, as discussed above, may operate to deliver a network application, such as an informational web page or an internet search service.
Ad serving system 106 is operative to select ads for inclusion in web pages and other content transmitted to web site users. The ads may be banner ads, text ads and/or any other digital objects associated with advertiser sponsored content. For example, the ads may be banner ads to be transmitted in connection with a home page. The ads may be text based ads transmitted as sponsored search results in connection with a search results page. In one implementation, ad serving system 106 selects ads in response to a retrieval request from web server 110. The retrieval request may identify the web page Uniform Resource Locator (URL) requested by the user, the IP address associated with the user, an account identifier associated with the user. Ad serving system 106 may access geo-targeting system 108 against the IP address and/or account identifier of the user to identify one or more geographic locations associated with the user. The ad serving system 106 may use the identified geographic locations to select one or more geographically targeted ads to the user.
Geo-targeting system 108 is operative to return one or more geographic location identifiers in response to a request that identifies an IP address and/or other identifying information of a user. In one implementation, geo-targeting system 108 can rely exclusively on IP address or user identifying information that maps to additional information of the user (e.g., user account information that includes geographic information, such as a billing or account address). In other implementations, geo-targeting system 108 can be a hybrid system that relies on both information types. As to the use of IP addresses, geo-targeting system 108 may access a database of geo-targeting information against an IP address to return one or more geographic locations. The one or more geographic locations may be more general locations, such as country or region/state, and more specific locations, such as city, metropolitan region, zip code, and county. Each of the geographic location determinations returned by the geo-targeting system 108 may have a confidence factor that indicates the predicted accuracy of a given geographic location determination. Generally speaking, confidence factors associated with more general geographic locations are typically quite high, while confidence factors associated with more specific geographic locations may be relatively lower. The confidence factors may be expressed in a variety of manners, such as a percentage or some other score within a normalized range. For example, in response to an IP address (e.g., 216.143.100.234), a geo-targeting system may return a confidence factor of 99 for the state of “California” and a second confidence factor of 88 for the city of “Palo Alto.”
Inventory management system 104 is operative to access server logs and geo-targeting data to determine page impression inventory for one or more geographic locations. Using historical data of the server logs, inventory management system 104 is operative to forecast or estimate the impression inventory for a period of time, such as a day. These forecasts can be segregated to various aspects of the functionality supported by network application hosting site 20. For example, a page view inventory can be computed for an internet search service, while another page view inventory can be computed for a home page service. Additional inventory determinations can be made relative to a news service, a social networking site and the like.
Ad booking system 102 can present forecasted, targetable impression inventory to one or more advertisers in order to sell ad space. Ad booking system 102 allows advertisers to book ads for placement on one or more web sites, such as a search system, personal page, news service, social network site, job placement site and the like. In a particular implementation, advertisers can submit ad placement data including the ad creative or content (or an URL to the ad creative), the duration of the ad (e.g., 1 day, 1 week, etc.), the desired number of impressions (or click-thrus and other desired actions), and targeting parameters including one or more geo-targeting parameters. On a periodic basis, ad booking system 102, based on the ads placed and the geo-targeting parameters associated with the ads, can determine the impression demand for one or more geographic locations. For example, on a daily basis (as some ad placements expire and others are entered or renewed), ad booking system 102 can aggregate the total number of desired impressions for a given time interval (e.g., 24 hours, 12 hours, etc.) targeted to users in a given geographic location, such as the city of San Francisco, the county of Santa Clara in California, a metropolitan region or zone such as the city of Detroit and outer lying suburbs, the 94114 zip code, and the like. The impression demand for one or more geographic locations may then be transmitted to either the ad serving system 106 and/or the geo-targeting system 108 to assess the confidence factors that could be used to optimally satisfy the impression demands.
A.2. Client Nodes & Example Protocol Environment
Client node is a computer or computing device including functionality for communicating over a computer network. A client node can be a desktop computer 82, laptop computer, as well as mobile devices 84, such as cellular telephones, personal digital assistants. A client node may execute one or more client applications, such as a web browser, to access and view content over a computer network. In particular implementations, the client applications allow users to enter addresses of specific network resources to be retrieved. These addresses can be Uniform Resource Locators, or URLs. In addition, once a page or other resource has been retrieved, the client applications may provide access to other pages or records when the user “clicks” on hyperlinks to other resources. In some implementations, such hyperlinks are located within the web pages 30 and provide an automated way for the user to enter the URL of another page and to retrieve that page. The pages or resources can be data records including as content plain textual information, or more complex digitally encoded multimedia content, such as software programs or other code objects, graphics, images, audio signals, videos, and so forth.
The networked systems described herein can communicate over the network 60 using any suitable communications protocols. For example, client nodes 82, as well as various servers of the systems described herein, may include Transport Control Protocol/Internet Protocol (TCP/IP) networking stacks to provide for datagram and transport functions. Of course, any other suitable network and transport layer protocols can be utilized.
In addition, hosts or end-systems described herein may use a variety of higher layer communications protocols, including client-server (or request-response) protocols, such as the HyperText Transfer Protocol (HTTP) and other communications protocols, such as HTTP-S, FTP, SNMP, TELNET, and a number of other protocols, may be used. In addition, a server in one interaction context may be a client in another interaction context. Still further, in particular implementations, the information transmitted between hosts may be formatted as HyperText Markup Language (HTML) documents. Other structured document languages or formats can be used, such as XML, and the like.
In some client-server protocols, such as the use of HTML over HTTP, a server generally transmits a response to a request from a client. The response may comprise one or more data objects. For example, the response may comprise a first data object, followed by subsequently transmitted data objects. In one implementation, for example, a client request may cause a server to respond with a first data object, such as an HTML page, which itself refers to other data objects. A client application, such as a browser, will request these additional data objects as it parses or otherwise processes the first data object.
Mobile client nodes 84 may use other communications protocols and data formats. For example, mobile client nodes 84, in some implementations, may include Wireless Application Protocol (WAP) functionality and a WAP browser. The use of other wireless or mobile device protocol suites are also possible, such as NTT DoCoMo's i-mode wireless network service protocol suites. In addition, the network environment may also include protocol translation gateways, proxies or other systems to allow mobile client nodes 84, for example, to access other network protocol environments. For example, a user may use a mobile client node 84 to capture an image and upload the image over the carrier network to a content site connected to the Internet.
A.3. Example Operation
Ad serving system 106, for example, may assess page view inventory for one or more geographic locations as a function of confidence factor to develop a model that, for didactic purposes, can be graphically expressed as an x-y graph similar to
Ad serving system 106 can use the confidence factor thresholds discussed above for a given time interval or until a new set of thresholds have been computed. For example (and referring to
Other implementations of the invention are also possible. For example, the threshold confidence factors can be passed to geo-targeting system 108, which can then filter the results returned to ad serving system 106 (as opposed to having ad serving system 106 filter the data).
A.4. Example Computing System Architectures
While the foregoing systems can be implemented by a wide variety of physical systems and in a wide variety of network environments, the client and server host systems described below provide example computing architectures for didactic, rather than limiting, purposes.
The elements of hardware system 200 are described in greater detail below. In particular, network interface 216 provides communication between hardware system 200 and any of a wide range of networks, such as an Ethernet (e.g., IEEE 802.3) network, etc. Mass storage 218 provides permanent storage for the data and programming instructions to perform the above described functions implemented in the location server 22, whereas system memory 214 (e.g., DRAM) provides temporary storage for the data and programming instructions when executed by processor 202. I/O ports 220 are one or more serial and/or parallel communication ports that provide communication between additional peripheral devices, which may be coupled to hardware system 200.
Hardware system 200 may include a variety of system architectures; and various components of hardware system 200 may be rearranged. For example, cache 204 may be on-chip with processor 202. Alternatively, cache 204 and processor 202 may be packed together as a “processor module,” with processor 202 being referred to as the “processor core.” Furthermore, certain embodiments of the present invention may not require nor include all of the above components. For example, the peripheral devices shown coupled to standard I/O bus 208 may couple to high performance I/O bus 206. In addition, in some embodiments only a single bus may exist, with the components of hardware system 200 being coupled to the single bus. Furthermore, hardware system 200 may include additional components, such as additional processors, storage devices, or memories.
As discussed below, in one implementation, the operations of one or more of the physical servers described herein are implemented as a series of software routines run by hardware system 200. These software routines comprise a plurality or series of instructions to be executed by a processor in a hardware system, such as processor 202. Initially, the series of instructions may be stored on a storage device, such as mass storage 218. However, the series of instructions can be stored on any suitable storage medium, such as a diskette, CD-ROM, ROM, EEPROM, etc. Furthermore, the series of instructions need not be stored locally, and could be received from a remote storage device, such as a server on a network, via network/communication interface 216. The instructions are copied from the storage device, such as mass storage 218, into memory 214 and then accessed and executed by processor 202.
An operating system manages and controls the operation of hardware system 200, including the input and output of data to and from software applications (not shown). The operating system provides an interface between the software applications being executed on the system and the hardware components of the system. According to one embodiment of the present invention, the operating system is the Windows® 95/98/NT/XP operating system, available from Microsoft Corporation of Redmond, Wash. However, the present invention may be used with other suitable operating systems, such as the Apple Macintosh Operating System, available from Apple Computer Inc. of Cupertino, Calif., UNIX operating systems, LINUX operating systems, and the like. Of course, other implementations are possible. For example, the server functionalities described herein may be implemented by a plurality of server blades communicating over a backplane.
Furthermore, the above-described elements and operations can be comprised of instructions that are stored on storage media. The instructions can be retrieved and executed by a processing system. Some examples of instructions are software, program code, and firmware. Some examples of storage media are memory devices, tape, disks, integrated circuits, and servers. The instructions are operational when executed by the processing system to direct the processing system to operate in accord with the invention. The term “processing system” refers to a single processing device or a group of inter-operational processing devices. Some examples of processing devices are integrated circuits and logic circuitry. Those skilled in the art are familiar with instructions, computers, and storage media.
The present invention has been explained with reference to specific embodiments. For example, while embodiments of the present invention have been described as operating in connection with HTML and HTTP, the present invention can be used in connection with any suitable protocol environment. Furthermore, implementations of the invention can be used in systems directed to serving geo-targeted content other than ads to users. Other embodiments will be evident to those of ordinary skill in the art. It is therefore not intended that the present invention be limited, except as indicated by the appended claims.