Source: https://patents.google.com/patent/JP2020064644A/en
Timestamp: 2020-08-14 21:06:28
Document Index: 322736271

Matched Legal Cases: ['Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 62', 'Application No. 13', 'Application No. 13']

JP2020064644A - Systems and methods for marketing mobile advertising - Google Patents
Systems and methods for marketing mobile advertising Download PDF
JP2020064644A
JP2020064644A JP2019227253A JP2019227253A JP2020064644A JP 2020064644 A JP2020064644 A JP 2020064644A JP 2019227253 A JP2019227253 A JP 2019227253A JP 2019227253 A JP2019227253 A JP 2019227253A JP 2020064644 A JP2020064644 A JP 2020064644A
JP2019227253A
フイタオ ルオ
ニシャント カトリ
プラカッシュ ムッティネニ
スリハリ ヴェンカテサン
ディパンシュ シャマ
スティーブン アンダーソン
ジョージ ルコウト
ジョナサン シュヴァルツ
デービット チョック
シャンシャン ツオ
キャン リアン
エックスアド インコーポレーテッドＸａｄ，Ｉｎｃ．
2019-12-17 Application filed by エックスアド インコーポレーテッドＸａｄ，Ｉｎｃ．, エックスアド インコーポレーテッドＸａｄ，Ｉｎｃ． filed Critical エックスアド インコーポレーテッドＸａｄ，Ｉｎｃ．
2020-04-23 Publication of JP2020064644A publication Critical patent/JP2020064644A/en
230000001960 triggered Effects 0.000 claims abstract description 56
PROBLEM TO BE SOLVED: To provide a mobile advertising platform having a high advertising effect. In the mobile advertising market, platforms translate mobile user location and other information into indications of mobile user intent. Advertisers can accept mobile ad requests and bid on mobile feeds with the indication. Generate a predefined location associated with the business / brand name, process the mobile ad request, and determine if the mobile device triggered any of these predefined locations. If it is determined that the mobile ad request has triggered one or more predefined locations, the triggered location is tagged with relevant information and an ad is selected based on the triggered location and other factors. The request with relevant information about the triggered location is also a product on the location marketplace that the mobile advertiser can bid in the auction. [Selection diagram] Fig. 25
This application claims priority to the following applications. Filed on May 19, 2014, "Method an
US Provisional Patent Application No. 62 / 000,494 entitled `` d Apparatus for Visualizing Real-Time Location-Based Events, '' `` Method and Apparatus for Retarget, filed May 19, 2014.
US Provisional Patent Application No. 62 / 000,496, 20 entitled "ing Mobile Users Based on Store Visits"
`` Method and Apparatus for Increasing Store Visitation Re filed on May 19, 2014
US Provisional Patent Application No. 62 / 000,497 entitled "Sponses to Location-Based Mobile Advertising"
Issued on May 19, 2014, "Method and Apparatus for Modeling and Using Mobil
U.S. Provisional Patent Application No. 62 / 000,499 entitled `` e User Intent Profile in Location-Based Mobile Advertising, '' Method and Apparatus for Deriving a, filed May 19, 2014.
U.S. Provisional Patent Application No. 62 / 000,501 entitled nd Using IP regions in Location-Based Mobile Advertising, `` Method and Apparatus for Geo-Fencing, filed October 22, 2014.
US Provisional Patent Application No. 62 / 066,912 entitled "Using Map Overlay", US Provisional Patent Application No. 62 / 067,965 entitled "Method and Apparatus for Mobile Advertising Using 3D Geo-Fencing" filed October 23, 2014. , “Methods and Apparatus f filed on February 24, 2015
US Provisional Patent Application No. 62 / 119,807 entitled "Or Marketing Mobile Advertising Supplies".
The entire contents of each of these patents and patent applications are incorporated herein. This application was also filed on April 19, 2013 in U.S. Patent Application No. 13 / 867,025, in U.S. Patent Application No. 13 / 867,029 in April 19, 2013, filed on the same date as the present application. "System and Method fo
Marketing Marketing Advertising Supplies, System and Method for Visualizing R
eal-Time Location-Based Events, '' System and Method for Estimating Mobile Devi
It is also related to a US patent application entitled "Ce Locations". The entire contents of each of these patents and patent applications are also incorporated herein.
FIELD OF THE INVENTION The present invention relates to systems and methods for serving mobile advertising, and particularly for marketing location-based mobile advertising.
Mobile applications are increasingly sending device location information to service providers to enable location-based services (LBS). Thus, in mobile advertising, advertisers are interested in delivering relevant ads to users' mobile devices based on location. Mobile ad supply
Ising supplies) are priced and sold at a location (eg, supplies at a particular location are more marketable than others).
As mobile advertising has become more prevalent, different pricing models have been developed based on different strategies for buying mobile advertising campaigns tailored to advertiser budgets. Examples of mobile advertising pricing models include CPM (cost-per-mille), CPI (
There are models called cost-per-install) and CPC (click-per-click). They are,
Although part of the basic mobile advertising pricing model, advertisers choose these pricing models to promote their products and businesses on mobile devices.
The CPM advertising model is also sometimes called "pay-per-impressions". CPM simply means "cost per 1,000 times" in modern English. In a CPM campaign, the advertiser pays the promised bid when the mobile device displays an ad every 1,000 times. Also, CPM advertisers pay for impressions rather than clicks and installs, and they tend to use mobile ads primarily to increase brand awareness.
CPI, also known as cost-per-acquisition, charges advertisers each time a mobile ad (“ad”) leads to a conversion. This is, for example, whether the user actually buys the item, downloads the app, or performs another action the advertiser desires. Thus, CPI campaigns help bring predictable returns to SMEs with limited marketing budgets in their advertising investment.
In the CPC model, advertisers pay per click (also known as PPC), regardless of whether the number of clicks led to a conversion. Ads are served to mobile device users based on a combination of ad click-through rates (CTR) and advertiser bids.
In any pricing model, the price of an ad campaign needs to be based on relevant factors. For example, many businesses want to target mobile users who have a specific physical location to sell their products, who may have been, or were, at or near the store. Also, each business has its own characteristics, which can affect the willingness to pay for a particular ad. For example, a business may be a fast food restaurant selling fast food or a car dealer selling cars. Fast food is much cheaper than a car,
Fast food is bought more often than cars. Additionally, for a particular business, the ads may be priced differently based on how likely a particular mobile user may be to that ad. Accordingly, mobile ad serving methods and systems that consider these and other factors deliver accurate, relevant, timely ads to consumers based on location estimates at the time of delivery. It is necessary.
FIG. 3 is an explanatory diagram of a packet-based network according to the embodiment. FIG. 6 is an illustration of a computer / server performing one or more methods and / or providing one or more systems on an advertising platform according to embodiments. FIG. 5 is an illustration of a geofence definition system according to a particular embodiment. It is an explanatory view of a simple geofence in the shape of a circle. FIG. 5 is an illustration of one or more polygon geofences defined to a geographic environment around a store according to certain embodiments. 3 is a table showing an example of geofences stored in a geofence database according to certain embodiments. FIG. 5A is an illustration of a polygon geofence overlapping a main road according to a particular embodiment. FIG. 5B is an illustration of a virtual rectangle created to include the geofence of FIG. 5A according to certain embodiments. FIG. 5C is a second illustration of a virtual rectangle created to include the geofence of FIG. 5A according to certain embodiments. FIG. 5D is an explanatory diagram of a method of drawing a line segment indicating a road zone according to a specific embodiment. It is explanatory drawing in which various kinds of businesses are piled up in a skyscraper complex. FIG. 6 is an illustration of a 2-D polygon geofence triggered by a mobile user location on the 10th floor of a high-rise complex according to certain embodiments. FIG. 5 is an illustration of a 3-D reinforced geofence reflecting single floor, multi-floor, and / or aerial space or volume within or around a skyscraper complex according to certain embodiments. FIG. 5 is an illustration of a virtual tube geofence extending along part or all of the flight path of a commercial flight in accordance with certain embodiments. FIG. 5 is an illustration of a request processing system for processing mobile advertisement requests received from a network according to certain embodiments. 6 is a flowchart illustrating a method performed by a request processing system according to a particular embodiment. 6 is a flow chart illustrating a location process for generating location data according to a particular embodiment. 6 is a flow chart illustrating a geofencing process for determining whether to trigger one or more predefined locations in a geofence database according to certain embodiments. 6 is a flow chart illustrating a process for determining whether any of the triggered geofences should be excluded or discarded according to certain embodiments. 9A-9C are block diagrams illustrating a portion of the content of an advertisement request at each stage of processing by the request processing system according to a particular embodiment. FIG. 5 is an explanatory diagram of a real-time advertisement event visualization system according to a specific embodiment. FIG. 6 is a flow diagram of a real-time advertising event visualization system interacting with other systems / services locally or via a network according to certain embodiments. FIG. 6 is an illustration of mobile users in an overlapping area of two geofences and in two different businesses according to certain embodiments. 6 is a table illustrating some examples of real-time location-based events stored in digital storage according to certain embodiments. 13A-13D are illustrations of real-time location-based events displayed on a display device. FIG. 6 is an illustration of an IP region system provided by a computer / server system according to certain embodiments. 6 is a flowchart illustrating a method performed by an IP region system to derive an IP region for each IP address according to a particular embodiment. It is explanatory drawing which shows the IP region example created using the positional information from the some advertisement request by specific embodiment. It is explanatory drawing which shows the IP region example for large-scale facilities, such as an airport by specific embodiment. FIG. 4 is some examples of IP regions stored in a database as a spatial index with associated IP addresses and other information such as respective centroids according to particular embodiments. FIG. FIG. 3 is an explanatory diagram of an advertisement server system according to a specific embodiment. 6 is a table showing a retargeting database according to a particular embodiment. 3 is a table of example location-based events according to particular embodiments. 6 is a table example of matching criteria for an advertising document according to a particular embodiment. 6 is a table example of a list of location information, request times, ad categories, and mobile user responses for fulfilled ad requests in accordance with certain embodiments. FIG. 6 is a block diagram illustrating an example of statistical results according to a particular embodiment. 6 is a flow chart illustrating a method of selecting an advertising document that takes into account multiple factors according to a particular embodiment. 6 is a table showing selection factors associated with various advertising documents in accordance with certain embodiments. FIG. 5 is an illustration of a mobile advertising market according to a particular embodiment. 6 is a flow chart of a method performed by an online marketer to evaluate a request with relevant information according to certain embodiments. FIG. 3 is an illustration of a store visit lift (SVL) system according to a particular embodiment. 6 is a flow chart illustrating a method of increasing store visit response to location-based mobile advertising. FIG. 6 is a block diagram illustrating a statistical example of a pre-selected panel of mobile users according to certain embodiments. 3 is a table showing an example of mobile device data according to a particular embodiment. FIG. 6 is a block diagram illustrating exemplary statistical results derived by the SVL system according to certain embodiments.
The present invention relates to providing a mobile advertising platform. The platform translates mobile user location and other information into indications of mobile user intent, allowing advertisers to accept mobile ad requests or bid bids on mobile supplies with such indications. You can go. In certain embodiments, predefined locations associated with the business / brand name are created and the mobile ad request is determined whether the associated mobile device triggered any of these predefined locations. . If it is determined that the mobile ad request triggered one or more predefined locations, it will be accompanied by relevant information about the triggered location and the ad will be selected based on the triggered location and other factors. To be done. The request with relevant information including the triggered location may be an item in the location marketplace that is auctioned to a mobile advertiser who can bid for the triggered location.
In a particular embodiment, the computer system is coupled to the packet-based network and processes the ad request according to the ad request processing method. The advertisement request processing method includes receiving an advertisement request associated with a mobile device from a packet-based network, and estimating the location of the mobile device based on the information in the advertisement request. The ad request processing method determines whether the estimated location of the mobile device triggers one or more pre-defined locations in the geofence database stored in storage, as well as one or more triggered locations. Generating an ad request with relevant information including:
In a particular embodiment, estimating the location of the mobile device is
It includes translating the IP address into a probabilistic representation of where the mobile device can be. In a particular embodiment, the IP region for a particular IP address is derived from multiple requests made during a particular time period, and each plurality of requesters has a particular IP address and GPS-based location data (e.g., longitude / Latitude or LL). The particular IP address may have been associated with a stationary device, such as a router, that allows the mobile device to be connected via WiFi to a packet-based network (eg, the Internet). Thus, when a new request arrives (or does not contain an LL) with this particular IP address and untrusted LL, the IP region will be used as a place where the new request can exist and the advertisement can be served based on that place. . In a particular embodiment, the IP region has a center point and a size, the center point of the IP region is used as an approximate location for the mobile user associated with the new request, and the reciprocal size serves as a measure of confidence. . Alternatively, the entire boundary of the IP region can be used as a possible area for mobile users.
In certain embodiments, the one or more triggered locations include a first location, where the first location is at least one of location type, category, brand name, and location identifier.
Represented by one. The location type is selected from multiple location types such as business center, business premises, business area, etc., some or all of which are associated with a single business.
In certain embodiments, the method searches an ad database for one or more ads that match a request with relevant information, selects an ad from the matching one or more ads, and selects the selected ad as a packet-based one. The method further includes transmitting to the network. Each matching ad of the one or more matching ads is associated with one or more locations of the one or more triggered locations in the associated request.
In certain embodiments, the ad request includes an identifier that identifies the mobile device or its mobile user, and selecting an ad from the one or more matching ads is performed by the mobile user intent profile database. Includes referencing tent profiles.
In certain embodiments, selecting an ad from one or more matching ads refers to a retargeting database that stores information about mobile users who have visited a geographic location corresponding to one of the triggered locations. Including doing.
In certain embodiments, selecting an ad from the one or more matching ads includes referencing statistical data associated with at least one of the one or more triggered locations.
In certain embodiments, the request with associated information further includes a price for each of the one or more locations.
In certain embodiments, the method of processing an ad request further comprises sending an ad request with relevant information to a packet-based network, the request for ad with relevant information
It may further include receiving a bid including a bidder identifier, a request identifier, and a bid price for one of the one or more triggered locations. The ad request processing method is to search the ad database for one or more matching ads that match the request with related information, select one ad from the one or more matching ads, and then select one or more matching ads. It also includes deciding whether to accept the bid based on the bid price and the price associated with.
In certain embodiments, estimating the location of the mobile device comprises:
Responsive to a set of geographic coordinates of an ad request that does not meet the predefined criteria, a determination of whether the ad request includes a set of geographic coordinates that meets the set of the predefined criteria, the ad request Determine whether it contains an IP address, query the IP region database using that IP address, find a matching IP address in the IP region database, and use the matching IP as the estimated position of the mobile device.
Includes utilizing geographic coordinates associated with the address. The geographic coordinates are related to the geographic area, and the reliability depends on the size of the geographic area.
In certain embodiments, the IP region for a particular IP address is derived from multiple requests made over a particular time period, including a particular IP address and GPS-based location data (eg, longitude / latitude or LL, etc.). To be done. The specific IP address is associated with a stationary device, such as a router, that allows the mobile device to connect to a packet-based network (eg, the Internet) via WiFi. Therefore, when a new request arrives (or does not contain an LL) with this particular IP address and untrusted LL, the IP region will be used as a possible location for the new request and the advertisement will be served based on this estimated location. To be done. In a particular embodiment, the IP region has a center point and a size, and the center point of the IP region is
Used as the approximate location of a mobile user associated with a new request, the reciprocal size serves as a confidence measure for the location. Or the entire boundary of the IP region
Used as an estimated area for mobile user location.
In a particular embodiment, the first computer system coupled to the packet-based network includes a realtime location based event.
nt) to execute the visualization method for visualization. The packet-based network includes one or more second computer systems. The method includes receiving a first ad request associated with a mobile device from a packet-based network, estimating a first location of the mobile device based on information in the ad request, and in a geofence database. In response to the first location that triggers the first geofence of, and querying a geofence database in a storage device with the estimated first location, and associating with the first geofence. Updating aggregated historical / statistical data for the first business,
Triggering a first geofence associated with the geofence, and sending information related to the first geofence to the one or more second computer systems in the packet-based network, The information allows the one or more second computer systems to visualize a trigger of the first geofence by the inferred mobile device.
In certain embodiments, updating the aggregated data of the first geofence includes determining one or more visits made to the first business by mobile users during a predefined time period and the first geofence. The number of times a Geofence associated with one business brand was triggered during the predefined period and the number of Geofences associated with the first business category was triggered during the predefined period. Including increasing.
In certain embodiments, the visualization method comprises transmitting the aggregated data to the one or more second computer systems in response to a request from the one or more second computer systems. Including further.
In a particular embodiment, the first business is associated with a second business and the visualization method is based on the updated aggregate history / statistical data of the first business and the affinity data of the second business. Further including updating
In a particular embodiment, the visualization method receives a second advertisement request associated with the mobile device from the packet-based network, the mobile device based on information in the second advertisement request. Estimating a second location, querying the geofence database in the storage utilizing the second location, the second triggering the second geofence in the geofence database The method further includes updating the number of mobile users remaining in the first business to respond to the location. In particular, the second geofence is different than the first geofence.
In a particular embodiment, a computer system coupled to a packet-based network via a wired or wireless network connection performs the SVL method to obtain location-based advertising statistical results. The method includes delivering a first digital advertisement to a first group of mobile devices via the packet-based network, the first group of mobile devices including location information, mobile device information and mobile user information. Receiving a first set of mobile device data associated with at least a portion, wherein the second set of mobile device data includes location information indicating a response to the first digital advertisement. Of the second set of mobile device data, generating a statistical result utilizing the second set of mobile device data, and storing the statistical result in a storage device.
In certain embodiments, the first group of mobile devices includes a preselected panel of mobile devices configured to provide location information to one or more computer systems of a packet-based network on a regular basis, The first mobile device data set includes mobile device data associated with at least a portion of a panel of the preselected mobile device.
In certain embodiments, the first set of mobile device data is included in a request for a document from one or more second computer systems that interacts with at least a portion of the first group of mobile devices. Including mobile device data.
In a particular embodiment, the first set of mobile device data comprises mobile device data provided by one or more second computer systems of the packet-based network. In the packet-based network, executing one or more software development kits that provide logic to control when to send mobile device data to the first computer system.
In a particular embodiment, identifying the second set of mobile device data comprises:
Determining whether any of the location information of the first set of mobile device data comprises geographic coordinates corresponding to one or more geographic regions associated with the first digital advertisement. .
In certain embodiments, the statistical results include trends associated with one or more of a set of parameters consisting of age, gender, education level, response time, mobile device make and model.
FIG. 1 illustrates, in certain embodiments, a packet-based network 100 that includes a cellular network 101 coupled to an internet (or web) 110, the internet 110, and some or all of a computer / server 120. Sometimes called "cloud"). Computer / Server 120 can be wired Ethernet, optionally PoE (Power over Ethernet), WiFi, and / or multiple cellular towers 1
Internet 110 using a cellular connection via a cellular network 101 including 01a
Can be combined with. The network also includes one or more network attached storage (NAS) systems 121 that are computer data storage servers connected to a computer network to provide data access to heterogeneous groups of clients. As shown in FIG. 1, one or more mobile devices 130, such as smartphones and tablet computers, also couple to a packet-based network via a cellular connection with a cellular network 101, which is coupled to the Internet 110 via an Internet gateway. To be done. If a WiFi hotspot (such as hotspot 135) is available,
The mobile device 130 can utilize its built-in WiFi connection to connect to the Internet 110 via a WiFi hotspot 135. Thus, mobile device 130 can interact with other computers / servers coupled to Internet 110.
A computer / server 120 connected to the Internet is a publisher (publishe
r) one or more publishers that interact with mobile devices running apps provided by r), and one or more ad intermediaries or ad networks that act as intermediaries between the publishers and advertisers; One or more ad servers that select and send advertising documents to the publisher for posting on mobile devices; one or more computers / servers that operate ad exhanges; one or more computers / servers that post) on the ad exchange and / or monitor the ad exchange or bid for mobile supplies listed on the ad exchange. Including with advertiser. When a publisher interacts with a mobile device, the publisher will learn about the mobile device's characteristics, specific information about the user,
Generate a mobile feed that is a request for an advertisement (ad request) containing raw location data, etc. associated with a mobile device. The publisher posts the mobile supply to the ad exchange for bidding by the advertiser or its agency, sends the mobile supply to the advertising agency or ad broker, or supplies itself.
Advertisers, agencies, publishers, and ad brokers can also buy mobile feeds through Ad Exchange. Ad networks and other entities also buy ads from exchanges. Ad networks typically aggregate inventory from various publishers and sell it to advertisers for profit. Exchange is a digital marketplace where advertisers and publishers can buy and sell ad space (impressions) and mobile inventory (ad inventory). Impression prices are determined by real-time auctions through a process called real-time bidding. That is, a human clerk does not have to negotiate a price with the buyer. Impressions are simply sold to the highest bidder. When a mobile device loads an app or web page, these processes run in milliseconds.
Advertisers and agencies can use the Demand Side Platform (DSP), software that uses certain algorithms to determine whether to buy certain supplies. Many ad networks now also offer some DSP-like products and real-time bidding capabilities. Online and mobile publishers make their inventory available through exchanges, making it more economical for many advertisers to buy ads using DSP.
The ad server is a computer server. For example, a web server backed by a database server that stores advertisements used in online marketing and places them on websites and / or mobile applications. When a website or web page is visited or refreshed by a user, the content of the web server is constantly updated so that the website or web page where the ad is displayed contains new advertisements. (For example, banner (still image / animation) or text). In addition to choosing an ad server to deliver to your users,
The ad server also manages the advertising space of the website and / or provides the advertiser with an independent counting and tracking system. Therefore, the ad server is equipped with ads
Offer, count them, select the ads that bring the most money to your website or advertiser, and monitor the progress of different advertising campaigns. Ad servers are publisher ad servers, advertiser ad servers, and / or ad intermediary ad servers. An ad server is also part of the same computer or server that acts as a publisher, advertiser, ad broker.
Ad serving also includes various tasks such as ad campaign impressions / clicks counting and reporting, and returns on investment for advertisers on certain websites (
Helps determine ROI). Ad servers can run locally or remotely. A local ad server is typically run by a single publisher, which serves ads to the site publisher's domain and allows the site publisher to have fine-grained creative, format, and content management. Remote ad servers can serve ads across domains owned by multiple site publishers. Serving ads from one central source allows advertisers and site publishers to track online ad delivery and control ad rotation and delivery on the web.
The computer / server 120 is a server computer, client computer, personal computer (PC), tablet PC, set top box (STB), personal digital assistant device (PDA), web appliance, network router,
A switch or bridge, including a computing device capable of executing instructions that specify the action the computing device should take. As shown in FIG. 1, some of the computers / servers 120 are coupled to each other via a local area network (LAN) 110 that is coupled to the Internet 110. Also, each computer / server 120 referred to herein individually or jointly executes the instructions to provide one or more of the systems discussed herein, or the methods or methods discussed herein. Performs one or more of the functions or includes publishers, advertisers, advertising agencies, ad brokers, ad servers, ad exchanges, etc., which use the systems, methodologies, and features described herein. To do.
FIG. 2 is a computer / computer that may be used to perform one or more methods and / or provide one or more systems of the advertising platforms discussed herein by executing certain instructions. The figure which shows the server 120 (computer system) is shown. The computer / server 120 can operate as a stand-alone device or as a peer computing device in a peer-to-peer (or distributed) network computing environment. As shown in FIG. 2, the computer / server 120 includes one or more processors 202
Includes a main memory 204 (eg, a central processing unit (CPU), a graphics processing unit (GPU), and / or a digital signal processor (DSP)) and a system or system bus 200 coupled to each other. Computer / server 120 can communicate with processor 202 via static memory 206, network interface device 208, storage device 210, one or more display devices 230, one or more input devices 234, and system bus 200. Further included is a signal generating device (eg, speaker) 236.
In certain embodiments, the display device 230 includes one or more graphics display units (eg, plasma display panel (PDP), liquid crystal display (LCD), projector, or cathode ray tube (CRT)). The input device 234 is an alphanumeric input device (eg, keyboard),
Includes a cursor control device (eg, mouse, trackball, joystick, motion sensor, or other pointing device). Storage device 210 includes a machine-readable medium 212 having instructions 216 (eg, software) stored thereon that enable any or more of the systems, methodologies or functions described herein. Storage 210 may also store data 218 used and / or generated by the system, methodology or function.
Instructions 216 (eg, software) may be fully or partially loaded into main memory 204 or processor 202 (eg, in the processor's cache memory) during execution by computer / server 120. Thus, main memory 204 and processor 1102 also constitute a machine-readable medium.
Although machine-readable medium 212 is shown in the example of being a single medium, the term “machine-readable medium” may refer to a single medium or multiple media capable of storing instructions (eg, instructions 1124). It should be understood to include media, such as centralized or distributed databases, or associated caches and servers. The term "machine-readable medium" refers to a computer
/ Interpreted to include any medium capable of storing instructions (eg, instructions 216) for execution by server 120 and causing computing device 1100 to perform one or more of the methodologies disclosed herein. Should be. The term “machine-readable medium” includes, but is not limited to, solid state memory, optical media, and data repositories in the form of magnetic media. In particular embodiments, instructions 216 and / or data 218 are stored on network 100, via a network interface device 208 that provides wired and / or wireless connectivity to a network, such as its local network, to a computer / some computer. It is connected to the area network 111 and / or the wide area network (eg, the Internet 110) via a type of network connector 280a. Instructions 216 (eg, software) and / or data 218 can be sent or received via network interface device 208.
FIG. 3 is an illustration of a geofence definition system 300 provided by the computer / server system 120 according to certain embodiments. As shown in FIG. 3, when the processor 202 of the computer / server system 120 executes the geofence definition software program 301 loaded in the main memory 204, the geofence definition system including the boundary definition module 310 and the spatial index generation module 320. System 300, which utilizes a plurality of databases that store data used and / or generated by geofence definition system 300, and a database 350 that stores Genfences generated by spatial index generation module 320, Historical / statistical (H / S) data and POI (Poin
a database 370 for storing a directory of interests) and a database 380 for storing map data. Any or all of these databases may be network 210
Can be located on another server / computer 120 and / or NAS 121, and the process 202 can be accessed via the network interface device 208.
The boundary definition module defines a virtual perimeter of the defined area that reflects the real world geographic area for mobile advertising. The defined area according to a particular embodiment may be a static circle around a business location. Providing a list of businesses and their locations I
Fences obtained using an offline index database like nfoUSA (www.infousa.com) or specified by marketers using pre-defined boundaries such as neighborhood boundaries, school zones, parcel boundaries Areas, defined areas according to particular embodiments, can also be dynamically calculated and can have any shape that changes with the time of day, day of the week, or other variables. They are co-pending "Method and Apparatus f
No. 13 / 867,025, filed Apr. 19, 2013, entitled "or Dynamic Fencing," and is incorporated herein by reference.
In particular embodiments, the defined area includes locations calculated by boundary definition module 310 using business meta-information and / or geographical information. As shown in FIG. 3, the boundary definition module 310 has access to a (POI) directory (eg, InfoUSA) that provides a list of POIs and their corresponding brand names, addresses, and geographical locations. The boundary definition module 310 also has access to map data 380 that provides information about the perimeter of the POI in the POI directory. The boundary definition module 310 generates one or more locations in the form of a set of geographic coordinates that define the perimeter of the one or more locations, for example, based on the POI information.
In particular embodiments, the boundary definition module 310 takes into account map data (eg, open street map) around the POI to generate or define one or more locations for each of the plurality of POIs. For example, assuming that the user's intent to visit a given POI can be derived from the distance between the user and the POI, as shown in Figure 4A, a simple geofence of the Costco Almaden store would be There will be a circle 402 around the 401. But,
As shown in Figure 4A, a circular fence surrounds the main highway, the residential area, and the area opposite the main highway. Advertising delivered to mobile devices in these areas means that people living near the store, people traveling on the highway, and people on the other side of the highway are already familiar with what the store offers. Ads delivered to mobile devices in these regions are largely ignored, perhaps because they may not respond to mobile ads associated with the store.
Thus, instead of a geofence based radius around the business location centroid, the boundary definition module 310 according to certain embodiments uses map data to define locations of greater interest to mobile advertisers. As shown in FIG. 4B, one or more polygons may be defined to suit the geographic composition and perimeter of the store, such as the first polygon 410 around the store's building, the first polygon around the building and its parking lot. Such as a second polygon 420 and / or a third polygon 430 around a shopping or business area containing stores and other stores.
In certain embodiments, mobile advertisers may offer different types of locations to POIs so that they may offer different advertisements or different prices for advertisements delivered to mobile devices that have triggered these different types of locations. Can be defined. For example, the first around the store building
Advertising requests related to mobile devices placed inside Polygon 410 in the market are more valuable to store owners or competing businesses, and are therefore advertisements for mobile devices in the shopping area (Polygon 430) but not in the store. The bid price may be set higher than the request. Alternatively, polygon 430 may be priced higher by the store owner to attract mobile users within the business area than polygon 410, which indicates that the mobile user is already in the store. In particular embodiments, these three types of locations are defined by extracting building, parking, and land use polygons from local and national GIS systems. In certain embodiments, some or all of the locations may be manually defined with the help of computer annotation tools to align the geofence with the perimeter boundary information that encloses the actual building and expected business. Refer to some external maps or / and satellite data to ensure.
In particular embodiments, different types of business-related locations provided to mobile advertisers include, for example, (1) a business center (BC) represented by polygons corresponding to the perimeter of a building (eg, FIG. 4B). The first polygon 410). (2) A business premises (BP) represented by polygons corresponding to the perimeter of the business building and adjacent parking lot (eg, second polygon 420 in Figure 4B). (3) Includes a business area (BR) or area (eg, third polygon 430 in FIG. 4B) represented by a polygon corresponding to the perimeter of a shopping center or business or commercial area in which this business resides. When the business center is triggered, it can be deduced that the user is actually interested in the business by visiting. Business premise triggers indicate a willingness to visit a business, but they are not as strong as business center triggers. If the user triggers a business area, the intent is considered valid, but weaker than triggering a business premises.
The spatial index generation module 320 generates a spatial index representing the area defined by the boundary definition module 310 to create a geofence for storage in the geofence database 350. Geofence database 350 is a spatial database that assists in the processing of spatial queries, calculating the distance between two points, or determining if a point is within the spatial region of interest. The spatial index generation module may be a conventional spatial indexing method, and / or a “Method and Apparatus for Ge” filed April 19, 2013.
The indexing method described in US patent application Ser. No. 13 / 867,029, entitled “ographic Document Retrieval”, which is incorporated herein by reference, may be used. FIG. 4C illustrates an example of a geofence stored in database 350, according to certain embodiments. As shown, Almaden's store Costco has three different types of locations.
US / CA / Almaden / BC is a spatial index a1, a2, ..., ai with polygons around the store
It is a business center (BC) represented by. The location US / CA / Almaden / BP is a polygon around the large premises of the store, including its parking lot, and is represented by spatial indexes b1, b2, ..., bj. The location US / CA / Almaden / BR is a polygon around a shopping center including shops and other shops, and is represented by spatial indexes c1, c2, ..., ck. Figure 4C also shows store T
There are three types of locations in .J. Maxx and at least one business center location associated with the store's Trader Joe's. As shown in FIG. 4C, each geofence entry in database 350 includes a spatial index associated with each location (and other information about each location), such as the name / brand associated with the location, the location Category, location identifier that identifies a specific region (eg, city, district, etc.), location type, and / or one or more document IDs that identify one or more advertising documents for a name / brand or location, etc. Is.
The geofence definition system 300 further extracts map data for highways near the defined geofence and overlays the map data on top of the geofence to create an extended geofence map overlay module 330. Can be included. For example, as shown in FIG. 5A, the boundary definition module 310 may include a business 5 such as a restaurant.
Generate Geofence 500 for 01. The GeoFence 500 in this example is aimed at attracting mobile users visiting business from other businesses, or attracting mobile users working in nearby office complexes, because the business 501's mobile advertising campaign is aimed at restaurants 501. And a polygon that encompasses other companies around restaurant 501. But,
The advertising campaign wants to exclude mobile users on Geofence 500 highways 512, 514, and 516. The reason is that these mobile users are moving fast and are unlikely to respond to restaurant mobile ads by returning to the restaurant.
Therefore, in a particular embodiment, the map overlay module 330 creates a virtual rectangle 503 that includes the geofence 500. The rectangle 503 is the smallest rectangle that includes the entire geofence 500, as shown in FIG. 5B. The map overlay module 310 then causes the virtual rectangle 503.
The map data related to the main roads overlapping with, for example, roads 512, 514, and 516 are searched, and the map data are converted into line segments. As shown in FIG. 5B, the portions of the main roads 512, 514, 516 overlapping the virtual rectangle 503 are converted into line segments AB, CD, DE, EF, FG, HI. Geo fence
The 500 together with the line segment forms an extended geofence for the restaurant 501 and can be used to assess whether the mobile user associated with the ad request is a highway traveler.
Instead of, or in addition to, line segments drawn along or near the median of highways, highways use, for example, line segment segments drawn along the opposite edge of the road. It can also be represented by a road zone. As shown in Figure 5D, the extended geofence for business 505 is a circle 5 drawn around business 505 and lines 532, 533, 542 and 543.
Including 06. Lines 532 and 533 are drawn along the edge of Hwy237, along the edges of line Highway Hwy237 on two opposite sides of median strip 535 of highway 237, whereas
Lines 542 and 543 run along the edge of highway 82 and median 545 of highway Hwy82.
The two opposite sides are drawn. Therefore, mobile devices located in the highway road zone are considered to be moving along the main road. Also, depending on which side of the freeway the mobile device is located, its distance from the freeway can be measured from the edge of the freeway on the same side.
Figures 4A-5D are useful for location-based advertising where businesses occupy different geographic areas.
An example of a two-dimensional (2D) geofence is shown. They are less suitable when different types of businesses are stacked on top of each other in a skyscraper such as that shown in 6A. For example, FIG. 6B
6A is triggered by user position 601 on the 10th floor of the skyscraper shown in FIG. 6A.
2D Polygon Geofence 600 can be used to select ads for a particular business that occupies a particular floor of the skyscraper when multiple businesses within the skyscraper target the same geographical fence 600. Not easy to use.
In certain embodiments, the geofence definition system 300 further includes a 3D expansion module 340 that provides an enhanced geofencing solution to targeted 3D (3-D) locations. As an alternative to, or in addition to, the 2D polygon geofence of FIG. Reflects single-floor, multi-floor, and / or aerial spaces or volumes in the surroundings, respectively.
In certain embodiments, a 3D geofence is a volume (or campaign space) that is enclosed by a digital fence, including, for example, real-world objects (eg, parts of buildings, underground spaces, summits, etc.). warp around) A three-dimensional polygon fence or the like, which may be a volume / space that can be specified by a marketer, as shown in FIG. 6C, such as a floor of a high-rise shopping mall. For example, simple 3
The D Geofence may be represented by a 2D stamp (eg its projection on the ground), 2
D stamps include 2-D polygons or 2-D areas of arbitrary shape and altitude sections (for example, from the 3rd floor to the 5th floor of a building), all of which move according to the time of day, day of the week, time, etc. Can be objective. For example, it may be included or excluded dynamically by an advertising campaign or otherwise according to the specifications of the building section campaign.
In certain embodiments, the 3D expansion module 340 determines, for each POI for which a geofence is generated, whether the POI is suitable for 3D geofencing. Such a decision may be based on whether the POI is on a particular floor of a multi-storey building, or whether the advertising campaign for the POI required 3D geofencing. In certain embodiments, 3D geofencing may be desired even for POIs not located in skyscrapers. For example, an operator may want to target mobile users in flight from City A to City B. As shown in FIG. 6D, the three-dimensional geofence may include a virtual tube 650 extending along a portion or length of the flight path 660 of one or more flights flying from city A to city B. Airplanes within flight path 660 trigger 3D Geofences 650 instead of, or in addition to, 2D Geofences 680 for ground businesses below the aircraft. The direction of flight is derived from multiple ad requests from the same mobile device, providing better advertising based on which of the two end cities in the flight path is the mobile user's destination. be able to.
FIG. 7 is a request processing system provided by a computer / server system 120 for processing mobile advertisement requests received from network 100 according to certain embodiments.
FIG. As shown in FIG. 7, the processor in the computer / server system 120
202 is an advertisement request processing software program 701 loaded in the main memory 204.
A request processing system 700 is provided that includes a validation module 710, a location module 720, a geofencing module 730, and an annotation module 740. A system 700 utilizing multiple databases for storing data used and / or generated by the request processing software program 701 includes a database 750 for storing geofences generated by a geofence definition, a system 700 for defining a geofence. Database 750 that stores the generated Geofence, database 760 that stores historical / statistical data, database 770 that stores business value information, WiFi
It includes a database 780 that stores the IP regions corresponding to each IP address in the hotspot 135 and the set of cellular towers 101a. Any or all of these databases may be located on storage 210 or on other servers / computers 120 and / or NAS 121 within network 100, and process 202 may be via network interface device 208. You can access these databases.
FIG. 8A illustrates a method 800 performed by request processing system 700 in accordance with certain embodiments.
It is a flowchart showing. As shown in FIG. 8A, the system 700 receives an advertisement request via a connection 208, 208a that connects to a network (eg, the Internet) (810).
). The ad request is from a web service provider that the mobile user has initiated interaction with using the mobile device 130 via one or more web services or applications provided by the mobile publisher or web service provider. Can come Advertisement requests are made on the supply side platform (SS
P) may be initiated by a software development kit (SDK). The ad request may be provided, for example, by an ad broker, ad exchange, or any ad service provider. The ad request is, in addition to other information, the latitude and longitude coordinates (LL), IP address (IP), zip code (ZC), as you can see in Figures 9A-9C.
And / or includes location information for a mobile device that includes multiple location components such as a city state name (CS). The ad request can also include altitude coordinates that can be used to indicate the altitude of the mobile device.
In particular embodiments, validation module 710 validates location information by checking the validity and consistency of location components and excluding any invalid location components (820). Generally, the LL is usually considered to be the most useful location component. However, if the user does not want to know their location information, the mobile application typically uses a coarse location such as an IP address, ZC (eg, the one entered by the user during registration), or CS. Provide data only. Therefore, mobile applications and publishers frequently provide LLs derived from geocoding software that transforms ZC, CS and other points of interest into one representative LL. In one embodiment, such representative LLs are classified as "bad LLs." A bad LL is, for example:
1. ZC / CS Centroid 2. Any fixed point on the map (eg (0,0) or any position)
In a particular embodiment, the validation module 710 has been validated as “S
By using the technique disclosed in the commonly owned U.S. patent application entitled "ystem and Method for Deriving Probabilistic Mobile User Locations", the bad LL is excluded and the location data with bad LL is Not be provided to the stage processing of.
The location module 720 estimates (830) the location of the mobile device from the advertisement request and generates location data representing the mobile device location, such as geographic coordinates or one or more estimated areas. Geofence module 730 queries geofence database 750 with the location data to determine whether the location data triggers one or more predetermined locations in database 750 (840). Geofence module 730, as discussed in further detail below,
Determine if any of the triggered locations should be excluded or discarded (850). Annotation module 740 attaches (860) relevant information to the ad request at the triggered location, as described in further detail below. Requests with related information may reside on the same computer / server system 120 or on different computer / server systems 120 within network 100, as described below in Ad Delivery System 1900.
Etc. are provided to the advertisement distribution system. The ad delivery system can be an ad server, ad exchange or marketplace. The system 700 sends an ad request with relevant information to the ad delivery system via the network interface device 208 if the ad delivery system is on a different computer / server system.
Figure 8B shows a location module (720) to generate location data (830).
8 is a flow chart illustrating a location process 830 performed by. As shown in FIG. 8B, the location module determines whether the validated location component includes a set of geographical coordinates (eg, LL) and whether the set of LLs is valid or geographically accurate LL. Determine whether (821). LL set valid or geographically accurate L
If determined to be L (ie, true LL), the location module 720 uses the LL as location data to represent the estimated mobile device location. On the other hand, if the verified location component does not include the set of LLs, or if the set of LLs is not true, location module 720 determines whether the verified location component includes an IP address (823). If the verified location component contains an IP address, the location module determines (824) whether the IP address is in the IP region database 780. IP address is IP region database
If it is located at 780, the location module is in the (826) IP region database 780.
Generate location data using a derived IP region associated with an IP address. The location data may include geographic coordinates representing the IP region itself or its central location, using some function of the inverse of the size of the IP region as a confidence measure. On the other hand, if the location data does not include an IP address, or if the IP address is not found or associated with a derived IP region in the IP region database, then the location engine uses another location component (825
Generate IP for location data or use an external IP vendor database
To other location components and then using the other location components (825) to generate location data (826). In a particular embodiment, April 1, 2013
As described in commonly owned US patent application Ser. No. 13 / 867,021 entitled “Method and Apparatus for Probabilistic User Location” filed on 9th, incorporated herein by reference in its entirety. , Location data generated using other location components includes one or more weighted estimation areas.
FIG. 8C is a flowchart illustrating a geo-fencing process 840 performed by geo-fencing module 730 to determine if location data triggers one or more predetermined locations in database 750 (840). . As shown in FIG. 8C, the geo-fencing module 730 allows the mobile device 130 to be placed in a high altitude location close to a geographic area where a 3D geofence is more appropriate (eg, a commercial area with skyscrapers). It can be determined whether the location data indicates that there is (84
1)). If true, geofencing module 730 attempts to find a 3D geofence in database 750. The geofence may contain or overlap the estimated location of the mobile device represented by the location data.
If not true, the geo-fencing module may try to find the two-dimensional geo-fence in the database 750 and may include or overlap the estimated location of the mobile device represented by the location data. 2-D or 3-D geofences discovered in this way are said to be triggered by location data.
FIG. 8D is a flow chart illustrating a process 850 for determining whether to exclude or discard any of the triggered geofences according to certain embodiments. For example, as shown in FIG. 8D, the geo-fencing module 730 determines if any of the triggered geo-fences overlap the highway (851) and the mobile device 130 is driving on one of the highways. It can be further determined whether or not there is (852). This can be set by the mobile device, for example, within the boundaries set for any one of the one or more highways, or within a predetermined distance from any of the one or more highways. This is possible by determining whether the location data indicates that it is being done.
In particular embodiments, further steps are taken to verify that the mobile device is driving on a highway. For example, information such as location data and time stamps associated with the current ad request is stored and used with location data and time stamps of subsequent requests associated with the same device to determine the speed of the mobile device. A triggered geofence that overlaps a highway can be excluded or discarded if it is determined that the mobile device is driving on the highway.
Alternatively, if the ad campaign actually targets a mobile device traveling on a highway, then another geofence for that ad campaign is attached to the ad request.
In certain embodiments, as shown in FIG. 9A, an advertisement request 901 received from the Internet by request processing system 700 includes other information and location information, for example, associated with a mobile device and / or mobile device. Information about the mobile user, a timestamp indicating the time (eg, days, hours, minutes, etc.) of the ad request request, one or more keywords suggesting the type of ad returned to the mobile device, and / or the mobile user, mobile. Other information relevant to the device and / or the sender of the ad request. In a particular embodiment, the location module 720 is
As shown in FIG. 9B, the modified ad request 902 is obtained by obtaining location data from the ad request and replacing the location information in the ad request with the location data.
To generate. The location module 720 can further transform the location data into a spatial index that has the same meaning as the location data for ease of use by the geo-fencing module 730.
In certain embodiments, if the location data triggers a predefined location or geofence, as shown in FIG. Location information and advertising requests in 9
Attach relevant information to the ad request 901 by replacing the location data in 02 with the triggered location. In some cases, location data may trigger multiple locations. For example, as shown in Figure 4B, an ad request that triggers BC Place 410 in a Costco Almaden store might be a BR Place 43 in any store in the same business area.
Trigger 0. Therefore, the ad request would include the BC location of the Costco Almaden store, and
You can attach relevant information to BR locations in one or more other stores in the same business area. Figure 9
As shown in C, each of the one or more locations or geofences includes either or both a business name and a brand name with which the location is associated. Some businesses only need one because the business name and brand name are the same. Each of the one or more locations is a category of products or services related to the business / brand name (eg, grocery, commodity, park / recreation, sports, home improvement, etc.) and location of location (eg, country / state / City), and location type (eg BC, BP, or BR),
Some or all of them may be included in the ad request 910 with relevant information. In certain embodiments, the location or geofence may have a recommended or threshold price for sending ads to mobile devices or for bidding ads sent to mobile devices, as described in further detail below. including.
In certain embodiments, the trigger accuracy is calculated and its location is provided to give the mobile advertiser another indicator of whether to bid on the supply and how to determine the bid price accordingly. Attached to. Trigger accuracy is the confidence in the mobile device's estimated position, and / or the relative proximity of the mobile device from the centroid of the location, or the relative proximity from the nearest edge of the location, or the estimated area of the mobile device. May be measured from the ratio of the portion overlapping with the location. Therefore, an ad request associated with a mobile device that is known to be very close to the edge of the location, or an ad request associated with a mobile device in which one or more potential areas have little overlap with the location , Close to the centroid of the place,
Alternatively, the one or more potential areas may be priced differently than an advertisement request associated with a mobile device that is said to substantially overlap the location.
FIG. 10A is an illustration of a real-time advertising event visualization system 1000 provided by a computer / server system 120 according to some embodiments. In certain embodiments, the real-time ad event visualization system 1000 provides a map-based system for visualizing events based on the real-time location of a geofence or location triggered by a mobile ad request, so that people can To enter, stay in, or leave a geographic location of interest. As used herein, the term “store” refers to a place of business or commerce, or place of doing a particular activity at a very particular geographical location, such as a shopping mall, a brick in a mall, And mortar, office building, park, gym, school,
It is a place like a theater or a restaurant. As shown in FIG. 10A, the processor 202 in the computer / server system 120, when executing the real-time visualization software program 1001 loaded in the main memory 204, has a filter / aggregation module 1010, an application server module 1020, and a visualization module 1030. including. The system 1000 uses multiple databases to store the data used and / or generated by the real-time visualization software program 1001, as well as the filter / aggregation module 10.
Database module 1050, which stores the aggregated data generated by
a database 1060 that stores an oint of interest directory and a database 1070 that stores map data. Storage for any or all of these databases
Located within 210 or within other servers / computers 120 and / or NAS 121 within network 100, process 202 may access network 100 via network interface device 208.
FIG. 10B illustrates a real-time advertising event visualization system 1000 that interacts with other systems / services locally (ie, within the same computer / server system 120) or network (eg, Internet 110 or local area network 111).
FIG. As shown in FIG. 10B, the ad event visualization system 1000 includes a real-time computational pipeline in which an ad request processing system, such as the ad request processing system 700 discussed above, may (Eg, ad request 901 shown in FIG. 901) is processed to determine whether the ad request triggers any of the geofences stored in the geofence database (eg, database 750). The ad request processing system 700 is the same computer / server 1 that also includes a real-time ad event visualization system 1000.
20 or may be provided by different computers / servers 120 in a local area network or wide area network. The ad request processing system 700 provides annotated ad requests 910 to the real-time ad event visualization system 1000 that include location data and / or information such as triggered locations or geofences. Alternatively, the ad request processing system 700 may send the modified ad request 902 (whether or not it has triggered the location, or other information such as information about the geofence) to the real-time ad event visualization system 1000. May be provided.
In certain embodiments, the filter / aggregation module 1010, which is also in the real-time computation pipeline, filters processed ad requests provided by the ad processing system 700 to provide real-time location-based events.
nt) is detected. For example, the processed ad request 902 or 910 may be filtered out based on relevant mobile user characteristics such as age, gender, and the like. As another example, if a mobile user happens to be located in two or more overlapping geofences associated with multiple stores at the same time, multiple geographic information or locations may be provided. In this case, you can compare data related to multiple geofences or locations to determine which of multiple stores mobile users are more interested in and only one of the geofences or locations is Retained, other geofences or locations excluded. For example, as shown in Figure 11,
An ad request can be associated with a mobile user 130 within the overlapping area of two Geofences 1111 and 1112 for two different businesses. The ad request system 700 provides the user location and one or more geofences as triggered geofences or locations, and the filter / aggregation module 1010 includes a central point or centroid 110
1 or 1102 selects a geofence closer to the mobile user 130 and records the presence of the mobile user within the selected geofence as a detected real-time location-based event. Alternatively, the filter / aggregation module 1010 may register both triggered fences as separate real-time location based events.
The filter / aggregation module 1010 also uses other information about the triggered location, such as brand name, category, location type, trigger accuracy, etc., to identify one or more of the multiple triggered locations. You can select the triggered location. In particular embodiments, a probability may be provided that associates one or more target areas as a geofence or location. The filter / aggregation module 1010 can select the target region with the highest probability as associated with the detected real-time location-based event. In another embodiment, the filter / aggregation module 1010 can perform a coin toss using probabilities associated with target regions as weighting factors to select target regions for real-time location-based events. In a further embodiment, in order to select a target area for real-time location-based events,
`` Method and Apparatus for Geographical Document Retrie filed on April 19, 2013
The technique described in commonly owned US patent application Ser. No. 13 / 867,029 entitled "val" may be used.
The filter / aggregation module 1010 is further configured to aggregate historical / statistical data associated with detected real-time location-based events and store the aggregated historical / statistical data in the database 1050. For example, aggregated historical / statistical data can be used by mobile users to select specific stores, specific brands, or specific periods of time, such as a day, a week, or a month, before real-time location-based events occur. , Affinity data that includes the number of visits to a particular business category and the number of visits by mobile users to a store, brand, category associated with a particular store, brand, business category, and so on. For example, each time a mobile user in a business detects a real-time location-based event, the count increases by one count for the total number of real-time location-based events for that business / brand. At the same time, the count for the total number of real-time location-based events for each of the one or more categories to which the business / brand belongs also increases by one count.
In a particular embodiment, the filter / aggregation module 1010 also tracks digital store (in order to track the number of mobile users remaining in or exiting a particular store).
For example, the real-time location-based event is temporarily stored in the main memory 204, the static memory 206, or the storage device 210). FIG. 12 shows some examples of real-time location-based events stored in digital storage. For example, if a current real-time location-based event for a particular business is detected within a predetermined period (eg, 1 hour) after the occurrence of a previous real-time location-based event associated with the same mobile device, then the mobile device's The user is considered to have left the previous business. In this case, the user exit (Us
er Exit) event is recorded. The number of mobile users remaining in a business can be estimated by subtracting the number of user exit events associated with the same business in the same time period from the number of real-time location-based events associated with a given business in a given time period. It is also possible to display this number at the request of the operator. In some embodiments, the filtering / aggregation module may determine that one or more mobile devices that triggered a geofence for a given business are then outside the geofence (as in another geofence). If not, you can estimate the number of mobile users remaining in your business.
In certain embodiments, the current real-time location-based event for a given business is within a predetermined time period (eg, 1 hour) after the occurrence of a previous real-time location-based event associated with the same mobile device at the same business location. If detected, the current real-time location-based event is considered to be the same as the real-time location-based event. This is because the mobile device user may simply stay in a particular business for a while during a single visit. In such cases,
We do not aggregate historical / statistical data related to this business.
FIG. 10B shows a real-time computing pipeline that utilizes an index database such as InfoUSA (www.infousa.com), which is a standard industry classification (SiC
) Provide a list of businesses and their locations in the code, or a region specified by the marketer, such as a city, state, mall or shop, tourist attraction or region associated with a particular zip code, as well as a specific implementation It can be used in place of, or in addition to, the POI directory in database 1070.
The application server module 1020 is a visualization module 1030 or a corresponding client installed on one or more client computer / server systems 120 in the network 100 via various protocols such as HTTP. Interact with the visualization application 1031. Application server 1020 is configured to bridge the real-time computing pipeline in system 1000 to client systems. Application server 1020 also queries the data aggregated from storage 210. Visualization module 10 within the client system to maintain the data stream while maximizing the visual appeal of real-time location-based events.
30 or corresponding visualization application 1031 may include custom logic that utilizes map data in database 1070 and / or mapping techniques provided by another computer / server system 120. The application server 1020 organizes and processes data related to real-time location-based events, providing visualization module 1030 and / or historical / statistical data aggregated in response to the same request from the client system, thus , Visualization module 1030 and /
Or the client system is an input device within the system 1000 or client system
In response to an operator's input, such as via input device 108 in system 1000 or client system, a real-time location-based event along with selected aggregated historical / statistical data is displayed on display device 107 of system 1000 or on the client system. To be able to display on the display device of.
In a particular embodiment, the center location of the selected location is used as the location of the detected real-time event. When displayed by the system 1000 or client system, as shown in FIG. 13A, a real-time location-based event can cause a dot on the map (eg, a map of the United States if the operator specifies) to blink. Each time a real-time location-based event is detected, a dot will appear at the location associated with that real-time location-based event. Alternatively, if a position already had a dot some time ago due to a past real-time location-based event, the dot flashes to indicate a new real-time location-based event.
Different colored dots can be used to represent different businesses, brands, or categories, as shown in FIG. 13A, where different patterns within the dots indicate different colors. Area 1310 on the screen is, for example, a period from when the client application was started, or based on default settings or operator specifications (eg, in the last 10 minutes).
Used to display the total number of real-time location-based events. Therefore, this total is the number of real-time events that change when a new real-time location-based event is detected. Another area 1320 on the screen can be used primarily for displaying historical / statistical data. In particular embodiments, various historical / statistical data may be displayed under different tabs that may be selected by, for example, mouse clicking or keyboard input (not shown).
For example, each time a client application 1131 is launched, a signal is sent from the associated client system to the application server 1120,
1120 begins pushing real-time location-based events to client systems. The operator on the client / server side can select history / statistical data to be displayed on the screen individually or simultaneously. For example, history / statistics can be displayed under any one of a number of tabs, such as a stream tab, a brand tab, a category tab, and an affinity tab. The Streams tab can be selected by default when launching a client application. Below the Streams tab, the business / brand / category name associated with the real-time location-based event is displayed, as shown in FIG. These names change when a new real-time location-based event is detected.
Below the brand tab, the brand name is displayed, as shown in FIG. 13B. The client-side operator can scroll down to see all brand names that support real-time location-based events. When an operator selects a brand name, for example by mouse clicking, historical / statistical data associated with that brand may appear. As shown in FIG. 13B, the Foster City karaoke brand (Foster City
If Karaoke is selected, the number 23 next to the brand name indicates the number of real-time location-based events since the application started. Under the brand name, the day before,
You can also view other historical / statistical data such as the number of mobile user visits to this brand over the last 7 days and the last 30 days.
Similarly, the category name is displayed under the category tab. The client-side operator can scroll down to see all category names that correspond to real-time location-based events. When an operator selects a category name, for example by mouse clicking, historical / statistical data associated with that category may appear. If you select a category name, the number next to the brand name indicates the number of real-time location-based events since the application started. Under the category name, other history / such as the number of visits to this category by mobile users on the previous day, last 7 days, last 30 days /
You can also display statistical data. In a particular embodiment, when a category is selected, only location-based events associated with the selected category are displayed on the map, and new events within that category occur when the location-based event occurs in real time. Is added.
In particular embodiments, the historical / statistical data also includes affinity data, such as a count of location-based events associated with the business having one or more characteristics that are similar to the selected business characteristic. Mobile advertisers can use affinity data to measure how often mobile users visit a particular business / brand relative to other businesses / brands within the same category.
As another example of displaying historical / statistical data, when the Affinity tab is selected, a small area under the Affinity tab is provided to select the brand / business name for which affinity information is requested. When a brand / business name is provided or selected, the historical / statistical data associated with the selected brand / business will be displayed in other brands of the same category.
/ Displayed with historical / statistical data associated with the business. As shown in FIG.13C, if a particular brand is selected within that area, or if the operator zooms in on the business / store location of that particular brand, then one or more associated with that particular brand. You can also display a popup window 1330 that displays brand history / stats along with category history / stats.
In certain embodiments, an operator may select a geographic region such as a country, state, city or shopping mall to view real-time location-based events that occur in the geographic region. For example, FIG. 13D illustrates a real-time location-based event in California, the total number of real-time location-based events in California since the client application started in screen area 1310, and a screen area 1320 that can be displayed in screen area 1320. Shows aggregated / historical / statistical data related to real-time location-based events.
FIG. 14 is provided by computer / server system 120 according to certain embodiments.
3 is an explanatory diagram of an IP region system 1400. FIG. As mentioned above, an IP region can be used as an estimated location when the request has an IP address but no exact geographic coordinates. The IP region system 1400 derives the IP region corresponding to each IP address using the advertisement request including the IP address received over a certain period (for example, several days). As shown in FIG. 14, the processor 202 of the computer / server system 120 is an IP region region software program loaded in main memory 204.
Execution of 1401 provides an IP region generation module 1440 that includes a validation module 1410, a grouping module 1420, a centroid generation module 1430, and an IP region generation module 1440. The system 1400 utilizes a plurality of databases that store data used and / or generated by the IP region software program 1401, which databases 1450 store IP regions generated by the centroid IP region generation module 1440. , Centroid generation module 14
The database 1460 stores the centroid generated by 30, the database 1470 stores the received advertisement request, and the database 1480 stores the POI (Point of Interest) directory. Any or all of these databases may be stored 21
0, or other servers / computers 120 and / or NAS 121 within network 100, process 202 can access network 100 via network interface device 208.
FIG. 15 is a flowchart illustrating a method 1500 performed by IP region system 1400 to derive an IP region for each IP address according to certain embodiments. As shown in FIG. 15, when ad request traffic arrives, the IP region system stores at least the location information of the ad request in the database 1450 (1510). Fixed time (
After a few days, for example, the IP region system 1400 executes the method 1500 to derive the IP region from the stored location information. The validation module 1410 ensures that each set of LLs is a true LL.
To determine if it is (ie, represents the actual mobile device location)
Examine the LL in the stored location information (1520). Based on the determination, the grouping module 1420 groups (1530) the requests or their respective location information into different traffic groups as follows:
1.T (IP, TLL)-Each request in this group has an IP and a valid geographically accurate LL.
2. T (IP, DLL_Static)-Each request in this group has a derived LL (corresponding to an IP and a static centroid derived from a geographical mapping (eg city center) or an IP vendor mapping). derived LL).
3.T (IP, DLL_Dynamic)-Each request in this group has an IP and a derivative LL that is not a static centroid.
4.T (NoIP, TLL)-Each request in this group has a valid geographically correct LL, but no IP.
5.T (NoIP, DLL_Static)-Each request in this group has a derived LL corresponding to a static centroid, but no IP.
6.T (NoIP, DLL_Dynamic)-Each request in this group has a derivative LL that is not a static centroid.
7. T (IP, NoLL)-Each request in this group has an IP but no LL.
In a particular embodiment, the grouping module 1420 determines the location information if the location information has an IP address and the LL of the location information corresponds to the LL of the static centroid stored in the centroid database. Put it in the T (IP, DLL_Static) group. In particular embodiments, static centroids associated with well-known geographical areas such as cities, areas associated with postal codes, etc. are stored in the centroid database. Request LL for static centroid
If it corresponds to one, then this LL is likely not the true LL, but was compiled by the LL mobile publisher referencing the city of the mobile user.
In a particular embodiment, the grouping module 1420 determines that the location information has an IP address and the location information LL does not correspond to any of the static centroids in the centroid database, but the dynamic centroid Corresponds to LL (ie, the centroid that occurs very often at this IP address exceeds the threshold within a certain period of time-not covered by a known static IP centroid, but IP to LL , Indicating that it is a database of another IP vendor that is used by the publisher to derive), and place the location information in the T (IP, DLL_Dynamic) group.
In a particular embodiment, the grouping module 1420, if the location information does not have an IP address and the location information LL corresponds to a static centroid LL stored in the centroid database, places the location information in T ( NoIP, DLL_Static) Add to group. In particular embodiments, static centroids associated with well-known geographic areas such as cities, areas associated with postal codes, etc. are stored in the centroid database. If the LL in the request corresponds to one of the static centroids, then this LL is likely not the true LL, but was assembled by the LL mobile publisher deriving it from its IP address.
In a particular embodiment, the grouping module 1420 determines that the location information does not have an IP address and the LL of the location information does not correspond to any of the static centroids in the centroid database, but Corresponds to LL (ie, at this IP address, centroids that occur very often in a given time period, or centroids above a given threshold in a given time period, used by publishers to derive an LL from an IP Show database of another IP vendor (not covered by known static IP centroids), put the location information in T (NoIP, DLL_Dynamic) group
In certain embodiments, the grouping module 1420 determines that the location information has an IP address and the location information LL does not correspond to any of the static centroids in the centroid database, or the dynamic centroid database 1460. If it does not correspond to any of the dynamic centroids in, the location information is put into the T (IP, TLL) group. Similarly, the grouping module 1420 determines that the location information does not have an IP address and the LL in that location information does not correspond to any of the static centroids in the centroid database, or in the dynamic centroid database 1460. If it does not correspond to any of the dynamic centroids, the position information is put in the T (NoIP, TLL) group.
In certain embodiments, the centroid module 1420 does not actually find any of the location information in the T (IP, TLL) group even if the derived LL is not found in the dynamic centroid database 1460 or the IP region database 1450. (1540) to determine whether it contains a derivative LL of the and generate new dynamic centroids corresponding to these potential derivative LLs. For example, if the number of first requests made by the same IP and the same LL (or LLs that are very close to each other) in a given amount of time is unusually large, then this same LL or a neighboring LL can It is unlikely that mobile users will be in the same place in such a short period of time, so it can actually be a derivative LL for IP addresses. The centroid module 1420 can check the POI database to see if the IP address is associated with a POI that accommodates many mobile users. Otherwise, the centroid module 1420 can use these LLs to derive a dynamic centroid (1540) and store this LL with the IP address in the dynamic centroid database 1460. The IP region system 1400 also sends the first request number with this IP address and the same LL (or adjacent LLs) (first
number of request) T (IP, DLL_Dynami)
c) Put in a group.
As another example, if there is no IP and the number of second requests made by the same LL (or a neighboring LL) in a certain period of time is abnormally large, this same LL (or a neighboring LL) is Many mobile users are unlikely to be on the same LL in such a short time, so they are actually derivative LLs. The centroid module 1420 considers this LL (or the adjacent LL) as a dynamic centroid,
This LL can be stored in the dynamic centroid database 1460. Also, the grouping module 1410 has a second LL that does not have an IP address and has the same LL (or closely spaced LLs).
It is also possible to take out the number of requests of T from the T (NoIP, TLL) group and put them in the (NoIP, DLL_Dynamic) group.
IP region generation module for each IP address in the T (IP, TLL) group
The 1440 uses the TLL associated with this IP address in the T (IP, TLL) group to generate an IP region (1550). For example, as shown in Figure 16, a facility 1600 (eg, a city library)
Used to derive an IP region 1610 using a TLL1601 associated with the WiFi device's IP address, which IP region is derived from the range defined by the TLL1601 and the T (IP, TLL) group, the central The points are polygons of Centroid 1611. An IP region can be represented by the following set of points.
IP Region = (P1, P2, ..., Pm)
The point Pm is expressed by the following formula
Pm = (Lattitudem, Longitudem)
Here, point 1611 is also stored as a centroid associated with IP region 1610. By representing the area as a set of points, the resolution of the area can be set to an arbitrary level according to the number of points. For example, a region with three points may be used to encode a triangular region, four points may be used to encode a rectangular region, etc.
Therefore, the IP region is generated from the advertisement request that includes the IP address along with the GPS-based LL. Dynamic LL centroids and dynamic IP centroids are part of the system for capturing and eliminating bad LLs and therefore are not used to build IP regions. In a particular embodiment, the particular true LL is not used to derive the dynamic LL centroid.
For example, if an LL occurs at a certain frequency only during the daytime, not at night, then it is not considered to be about a dynamic LL centroid derivation. This is because the router's LL can be a valid POI like library to get from. However, at night when the user is unlikely to actually be present, if an LL occurs more than a certain frequency, it is assumed to be a derived LL and it is eligible to use the dynamic LL centroid derivation.
In a particular embodiment, as shown in FIG. 17, if a facility, such as an airport 1700, is large, an IP region 1710 derived from a TLL1701 with a centroid 1711 spans the entire facility linked to the same IP address. Cannot be represented. Because the obtained TLL is concentrated in a small area,
Another reason is that the TLL1702 is excluded as an abnormal value when deriving the centroid 1711 and the IP region 1710. Therefore, the IP Region engine looks up the POI database to see if the calculated IP region is smaller than the POI area stored in the POI database, and if so, it will find the POI area in the IP region database. Store as an IP region of the IP address of.
In certain other embodiments, an IP region may be as large as a zip code when the associated IP address corresponds to the cellular IP address of a cellular tower. Therefore, the IP range is as small as less than 50 meters,
It may be large enough to cover a wide range.
IP Region System 1400 is an IP generated by the IP Region Generation Module 1440.
Store the region in database 1450. FIG. 18 shows some examples of IP regions stored as a spatial index in the database 1450 along with other information such as associated IP addresses and their respective centroids. When an ad request comes in that contains an IP address but not a true LL, it will use the IP address to IP region database 1
For 450, if a match is found, the centroid of the IP region may be used as the estimated location of the ad request, or the entire IP region may be used as the estimated region of the mobile device associated with the ad request. obtain.
FIG. 19 is an illustration of an ad server system 1900 provided by the computer / server system 120 according to certain embodiments. As shown in FIG. 19, the processor 202 of the computer / server system 120, when executing the ad delivery software program 1901 loaded in the main memory 204, includes a matching module 1920, a ranking module 1920, one or more ad delivery modules. An ad server system 1900 is provided that includes either or both of 1930 and an advertising transaction interface. The system 1900 utilizes a number of databases that store data used and / or generated by the ad server software program 1901 and an ad campaign database 1950 that stores ad campaign parameters and ad documents for delivery to mobile devices. , A database 1960 for storing mobile user intent profiles, a database 1970 for storing historical / statistical data, and a retargeting database (retargetin
g database) 1980 and. Some or all of these databases may be stored 210
Another server / computer 120 and / or NAS located or on network 100
Can be placed at 121. The process 202 can access the network 100 via the network interface device 208. In the advertisement server system, the conventional advertisement server function is further disclosed in addition to the novel features in the specification.
In certain embodiments, the ROI of an advertising campaign for a brand or store
) Devices related to mobile users who visit the brand or store to improve
The ID is stored in the retargeting database 1980. Retargeting database
1980 is performed when a subsequent ad request associated with the same or similar mobile users is processed. If the request is from a user whose device ID is found in the retargeting database, the advertising document associated with the brand or store can be selected for delivery to the user. The ad may be an ad for the particular store, such as to attract mobile users to return to the particular store. Or, if a competitor or any store in the same category of a particular store is in the vicinity of any mobile user, the ad will attract mobile users from competitor stores or other stores in the same category of the particular store. May be an advertisement for. In this way, more relevant ads are served to mobile users and the ROI of the ad campaign is increased. In a particular embodiment, referring to FIG. 20A, the retargeting database 198
The 0 contains, for each brand or store named for retargeting as part of an advertising campaign, a plurality of mobile user identifiers associated with mobile users visiting the brand or store. The timestamp of each visit can also be included so that old data can be discarded or ignored. The retargeting factor is calculated on a per-event basis and decays over time so that older events become less important.
To build a retargeting database, you can create a specific store / brand (and / or other stores / brands in the same category as the specific store) where your ad campaign is running.
Mobile device ID (or hashed version of the same) associated with the mobile user visiting the store / brand of interest). Document request is an ad request processing system
The associated mobile device will be processed by the 700
Is at one or more of the brands (ie location-based events),
Each time it is found to be at or near it, the associated mobile device ID is stored along with one or more stores / brands and / or one or more categories associated with them. The POI database can be referenced to determine one or more store categories of stores of interest. FIG. 20B shows an example of a location based event showing some requests indicating that the associated mobile user event is happening at stores B1, B2, and B3. If store B1 is the store of interest, event number 2, along with store B1 and / or its associated category or categories.
Device IDs associated with 3,5, ..., and 9975 are stored in the retargeting database. As shown in FIG. 20B, two or more stores are associated with the same user or device ID, which indicates that the user is visiting various stores. Also, two or more categories can be associated with one store.
The time stamp in the event database is important because events associated with the same mobile user that occur at the same location within a given time range simply mean one long-term visit. Also, if the duration lasts several hours in a row over a number of consecutive days, the related event may simply mean that the mobile user is an employee in a particular business, not a customer, and these events Are excluded and do not contribute to entries in the retargeting database. A retargeting factor may be calculated for each location-based event based on, for example, the fence type of the triggered fence, and / or other factors. As shown in FIG. 20B, a retargeting factor may be calculated for each location-based event based on, for example, the fence type of the triggered fence and / or other factors. BR fence type retargeting factor is smaller than BP fence type retargeting factor,
The BP fence type retargeting factor is less than the BC fence type retargeting factor. For example, non-privately protected International Mobile Equipment
You can use Apple IDFA and / or Google Advertising ID as your user ID instead of your Identity (IMEI) number.
Database 1960 stores mobile user intent profiles for multiple mobile users. In particular embodiments, each mobile user intent profile is created from location-based events associated with mobile devices carried by the respective mobile user. Location-based events provide a list of points of interest (POI) that each mobile user has visited over the course of a week and a month. These user intent profiles are used as a tool for mobile advertisers to retune their campaigns and target them based on user behavior. Generating a user intent profile does not necessarily consume real-time computing power because it is performed after a certain amount of time has elapsed or after a certain amount of location-based events have accumulated in the database.
The user intent profile is derived from location-based events collected over a period of time, as shown in Figure 20B. Also, the time stamps in the event database are important because events associated with the same mobile user that occur within the same location and time range represent a single long-term visit, and also for several consecutive days. For several hours in a row at, the associated event may mean that the mobile user is an employee of a particular business rather than a customer. These events may be excluded when the user intent profile is derived.
To derive the user intent profile for a particular user, most or all of the events associated with the mobile user (or his / her device ID) are inspected, from which the intent profile for the particular user is derived. .. The intent profile can include, for example, the categories of stores / businesses visited by a particular mobile user, the number of events in each category. The intent profile can also weight each visit. For example, extended stays in business may mean increased interest for mobile users and should be considered in user intent profiles. Also, because old data may be less important than new data, you can add a damping factor of 0 <w <1 to the event based on each timestamp.
In a particular embodiment, the intent profile database 1960 has a key of UID or U.
It can be built on top of a key-value store like Redis, which is the derivation / hash value of the ID and whose value is the intent model data for this UID. One implementation of the intent model is an interest weight or affiliation wei map (affiliation wei) that associates an intent score for each category or brand name.
ghts map). The intent score can be updated with the following time decay function.
new_score = old_score * w + 1
0 <w <1.
At the user level, each user's intent profile can be represented as a vector of intent scores: Intent_score = (s_1, s_2, ..., s_n) where s_i is the i-th category and / or brand. Represents the corresponding intent score.
In particular embodiments, users are grouped into segments based on their intent profile in database 1960. The grouping process is performed based on the vector of intent scores using a clustering algorithm such as the Kmeans algorithm. Once user segments are defined, ad delivery is determined for each segment individually.
In particular embodiments, ad server system 1900 may be the same computer / server system 120 that provides ad server system 1900, or another computer in network 100.
/ Receive ad request 910 with relevant information from request processing system 700, which may be provided by server system 120. Matching module 1920 compares the characteristics of request 910 with associated information to the requirements of a number of ad documents stored in the campaign database, one in campaign database 1950 to find one or more matching ad documents. Or search for multiple matching ads. For example, as shown in FIG. 20C, where each row represents a set of matching criteria for an advertising document, a store Costco may have three sets of matching criteria, each corresponding to a different type of location and / or different trigger accuracy. . They may also belong to different categories of goods / services and require different demand attributes such as different ages of mobile users, different days of the week, and / or different times of the day. Advertisers or sellers can offer different prices for requests that meet a set of these various criteria. For example, an advertiser or merchant may charge $ 30 for advertising a request from a user aged 20-50 who triggered a BC location.
You might offer a CPM, while requesting a $ 10 CPM for a request from a user of the same age group that triggered a BP location.
When multiple matching ad documents are found, the ranking module 1920 will determine the type of business with which the ad documents are associated, the price provided to deliver each matching ad document, the mobile user intent profile in the database,
Historical / statistical data in database 1970 and / or retargeting database 1980
The matched advertising documents are ranked according to preset algorithms that are configured to optimize or improve advertising efficiency based on the information in. For example, an ad request may trigger both Costco's BR location and TJ Max's BR location. The ranking module 1920 can look up the demand attributes and bid prices for each of these two advertising documents. For example, if the mobile user associated with the ad request is a 20 year old man and the request is submitted on Monday during lunch break,
Historical / statistical data suggests that men in their twenties are less likely to visit TJ Max at lunch time, so mobile users may be more interested in fast food offered by Cosco than shopping at TJ Max. Therefore, in these situations, even though Costco's Ad 01233 in the BR location is much cheaper than TJ Max's Ad 02457, Ad 01233 can expect a positive reaction to mobile users' ads. To be selected. On the other hand, if the mobile user associated with the ad request is a 50-year-old woman and the request was submitted on Saturday afternoon, we can infer that the mobile user is likely to head to the department store and Ad 0
2457 is selected over Ad 01233.
In certain embodiments, the ranking module 1920 may determine historical / statistical data, mobile user profiles, and mobile user profiles to determine a mobile user's propensity to respond positively to any of one or more matching advertising documents. Selecting an ad document from one or more matching ad documents by / or searching a retargeting database. Historical / statistical data, mobile user profiles, and / or retargeting databases may be derived from previously fulfilled ad requests and mobile user responses, as described in further detail below. For example, FIG. 21 lists location information, request time, ad category, and mobile user response for each ad request associated with the mobile user over a six month period. While we can derive a user intent profile from these historical data that mobile users tend to be more responsive by clicking on ads in the C2 category or visiting stores in the C2 category. Most ads in the CI category are ignored. Therefore, the ranking module 1920 prioritizes advertising documents in the C2 category over advertising documents in the C1 category. Similarly, from time to time, historical data tends to make users more aggressive in advertising when they are in BP-type locations that cover different business / category parking lots, perhaps while waiting for others. It may indicate that there is. Such a preference for a particular type of location is also considered by the ranking module 1920 to select advertising documents for delivery to mobile users.
Use statistical data associated with each and every matched ad document, instead of or in addition to using historical data, to assist in the selection of ad documents for delivery to mobile users. You can Statistical data related to advertising documents may be collected from mobile users who have actively responded to the same or similar advertising documents by visiting the same or similar advertising documents store (located in BC / BP of the store). Yes, those visits are also made a valid response for this purpose. Over time, responses from mobile users can be grouped into different user types such as age, gender, education level, annual income range, and / or device make / model, mobile user characteristics. Distributions across these groups can be used to determine if current mobile users tend to be more responsive to advertising documents. For example, advertising document statistics show that in BR-type locations, women aged 20-40 with income levels of $ 50-100,000 and college education have a strong tendency to respond positively to certain types of advertising documents. It is shown that. Thus, if the advertisement request 910 includes attributes that match the bold attributes of FIG. 22, the advertisement document will be
If no other factor suggests otherwise, it will prevail.
In particular embodiments, ranking module 1920 employs an algorithm such as method 2300 shown in FIG. Consider multiple factors for selecting an advertising document for delivery to mobile device 130. As shown in FIG. 23, the method 2300, for each of the matching ad documents, the first selection of matching ad documents based on the requested attributes such as the triggered location, mobile user age, gender, education level, etc. Selection factor
(2310). If a database 1960 is provided and a mobile user's user profile is available, the method determines a second selection factor for matching advertising documents based on the user profile or historical data associated with the mobile user. Further includes (2320). If a database 1970 is provided and statistical results associated with the matching advertising document are available, the method determines a third selectivity factor for the matching advertising document based on the statistical results associated with the advertising document ( 2330). If a database 1980 is provided and contains information related to advertising documents, the method may include retargeting database 1980.
The method further comprises determining a second selection factor (2340) for the matching advertising document based on information related to the advertising document in. Calculating a final selection factor by aggregating the first, second and third selection factors and the bid price associated with the advertising document (2350). After the final selection factors for all matching ad documents have been calculated, the matching ad document with the highest selection factor is selected (2360) and delivered to the mobile device associated with ad request 901.
For example, if an ad request related to a 30-year-old male mobile user comes in during lunchtime on weekdays and its associated version matches all of the ad documents shown in Figure 20C, the category "Fast Food" Advertising documents that have "
It is possible to provide a higher first selection coefficient than an advertising document having "electronics". An advertisement document having the category "electronics" can be given a higher first selection coefficient (SF1) than an advertisement document having the category "general product". The advertising document “department store” of the category “general product” can be given a higher first selection coefficient than the advertising document of the category. Here, if the mobile user has a history of preference for electronic advertising, the category "
Advertising documents with "electronics" can be given a higher second selection factor (SF2) than the rest of the advertisement.
In addition, if the statistical results indicate that mobile users are likely to respond to ads in the "electronics" and "generic products" categories, then "electronics"
And ad documents in the “general product” category have a third selection factor (SF3
) Can be given. In addition, the Retargeting Database 1980 is consulted to see if mobile users have recently entered any of the business locations associated with advertising documents, and the fourth selection factor (SF4) is based on retargeting information. Given to matched ads. Finally, the first, second, and third selection factors for each ad document are aggregated with the bid price of the ad document by weighted summation, multiplication, or a combination thereof, or other algorithm to produce a final selection factor. Yes (FSF).
For example, in one embodiment, as shown in FIG. 24, FSF = (
SF1 + SF2 + SF3) * P simple expressions can be used. P is the bid price of the advertisement document.
Thus, in this example, advertisement 01231 is selected as the advertisement document for transmission to the requestor for delivery to mobile device 130. In certain embodiments, the ad delivery module 1930 retrieves the selected ad request from the campaign database 1950, receives a data packet from the ad document, and sends the data packet to the requester via the network interface device 208.
In a particular embodiment, as shown in FIG. 25, the ad server system 1900 receives a request 910 with relevant information from the ad annotation module 204 and operates one or more computers / servers operating an ad exchange or ad marketplace. The marketplace interface module 1940 is further provided for sending the request 910 with relevant information to the 120 in one or more data packets via a packet-based network such as the Internet 110. The ad request 910 with associated information is sent to the ad exchange for bidding by the mobile advertiser via a respective computer / server system 120, each of which provides a front-end server and a bid calculator and can access the campaign database. Or posted by the advertising marketplace. The front end server monitors the ad request requests posted on the ad exchange and sends the bids generated by the bid calculator. The bid calculator uses conventional or proprietary algorithms, such as those described above, to calculate the bid price for the ad request posted on the ad exchange and generate a bid for transmission by the front-end server.
In a particular embodiment, the marketplace interface module 1940 may determine a minimum bid for the associated request and attach it to the associated request 910 before sending it to the bidders. Marketplace interface module 1940 is further configured to receive bids from bidders and / or ad exchanges. Each bid may include information such as bidder ID, request ID, bid price, and so on. The marketplace interface module 1940 forwards the received bids within a preset time period after sending the ad request with associated information 910 to the ad serving module, which, as described above, at the ad serving module, respectively. Ad requests from bids and / or matching ads from the campaign database based on their price and performance projections 9
You can select the advertisement corresponding to 01.
In a particular embodiment, the ad request with associated information 901 is an ad ad server system 1
Filled by another mobile advertiser who submitted the winning bid for Ad Request 910 instead of 900. The bid calculator of the other mobile advertiser's computer / server system 120 is configured to utilize the information provided in the ad with related information request 910 in calculating the bid price. For example, as shown in FIG. 26, in certain embodiments, another mobile advertiser's computer / server 120 is configured to receive a related request 910 from the ad exchange (2602) and the related information advertisement Whether to bid for request 910 is determined by examining (2604) the attributes and location in the ad with related information request for preset campaign criteria similar to those shown in FIG. 20C. For example,
The target store's advertising campaign specifies a location, such as a Walmart building or parking lot, and in Request 910 with related information Business / Branded Walmart and Location / Type US /
If CA / (Mountain View) / BP locations are attached, the decision to bid is made (
2606). The bid calculator can then use the same or similar process as described with reference to Figures 23 and 24. Generate a bid (2608) (eg, $ 0.15 CPC) for the ad document delivered in response to the ad request.
In certain embodiments, as shown in FIG. 9C, the ad request may attach relevant information to more than one location, and the bid calculator may include more than one of those locations when calculating the bid price. Can be considered. For example, annotate your ad request with a business / brand name targeting US / CA / Mountain View / BR and business / brand name Walmart and US / CA / Moun.
With tain View / BP in place, the bid calculator places the bid price for the target ad because the mobile ad is near two competing stores and is likely to be redirected from one store to another depending on the mobile ad. For example, you can raise the CPC to $ 0.20.
Thus, the method and apparatus according to certain embodiments enables location markets. In this market, goods or supplies are mobile requests that are properly tagged with mobile user's user intent indications represented by where the mobile user is located. Buyers are interested in delivering ads based on location and are advertisers who can bid on locations. The marketplace can determine the winning bidder based on bid prices and location-based performance assessments that determine market price efficiency. Therefore, the marketplace can be used to provide maximum benefit to both advertisers and publishers.
FIG. 27 is an illustration of a Store Visit Lift (SVL) system 2700 provided by a computer / server system 120 according to certain embodiments. As shown in Figure 27, the computer /
When the processor 202 in the server system 120 executes the SVL software program 2701 loaded in the main memory 204, it executes the group selection module 2710, the advertisement server module 2720, the advertisement request processing module 2730, and the analysis module 2740. Including Ad Request Processing Module System 2700 utilizes multiple databases to store data used and / or generated by SVL software program 2701, database 2750 to store location-based events, database to store historical / statistical data 2760, POI directory 2770, and database 2780 for map data. Any or all of these databases may be located on storage 210 or on another server / computer 120 and / or NAS 121 within network 100.
FIG. 28 is a flowchart illustrating a method 2800 of increasing store visit response to location-based mobile advertisements, according to an embodiment of the disclosure. The ad server 2720 delivers the first digital ad document (ad) over the packet-based network to the first group of mobile devices selected by the group selection module 2710 (2810).
. In one embodiment, the group selection module 2710 uses several technologies such as panel-based, request-based and software development kit (SDK) to provide mobile user location information such as location information, age, gender, and education. User information, IMEI (In
Mobile Device I in the form of ternational Mobile Station Station Equipment Identity)
Select a first group of mobile devices for the purpose of collecting mobile device information such as D, the make and model of the mobile device associated with the mobile user who may trigger certain location-based events.
If panel-based technology is used, the first group of mobile devices will be associated with a pre-selected panel of mobile users having a given age, gender, education level, income level, and / or model make and model. Mobile device. In certain embodiments, the preselected mobile user's panel voluntarily installs an application program (app) on the mobile device and periodically provides its location data to one or more mobile publishers 102. The panel allows the publisher to share location data with the SVL system 2700 and include location data in the request.
Method 2800 further includes receiving (2820) a first set of mobile device data associated with a first group of mobile devices. The first set of mobile devices can come as a result of mobile publishers sharing location data associated with the user's panel. In a particular embodiment, a software development kit (SDK) is provided to and installed on the publisher. The SDK applies logic that controls the timing of location data retrieved from the mobile device. Therefore, the mobile device does not need to continuously transmit its location data to maintain battery life. The location data in this panel-based approach and / or SDK-based approach is typically a valid or accurate LL, allowing more accurate determination of the mobile user's location with respect to the location of the business of interest.
If a panel of mobile users is not available, the first group of mobile users will be of the mobile user population with a general distribution such as age, gender, education level, income level, and / or mobile device manufacturer and model. The corresponding distributions can be randomly chosen to be representative. The first set of mobile device data is sent when interacting with a mobile publisher as part of a request for a document associated with at least some of the first group of mobile devices. The ad request processing module 2730, for each request, generates a location or inferred location from these location data, as well as incoming requests, and determines if that request triggers any geofences or predefined locations. decide.
The first set of mobile device data is stored in request database 2750. FIG. 30 illustrates an example of the first set of mobile device data according to particular embodiments. The first set of mobile device data may be data received, for example, within 24 hours or 7 days after the first digital advertisement has been sent. Group selection module 2710 is the first
A second set of mobile device data of the first set of mobile device data that includes location information indicating a response to the digital advertisement of (2830). For example,
As shown in FIG. 30, when the first digital advertisement is to send more traffic to store B1, the group selection module 2710 causes the data group Nos. 2, 3, 5, ...,
To be the second set of mobile device data by selecting from the first set of mobile device data that these mobile device data are associated within 24 hours of the first digital advertisement being sent. This is to show that the mobile user visited store B1.
In some embodiments, the mobile device data stored in the request database does not include a business name and the analyzer module 2740 determines that any of the location information in the first set of mobile device data is associated with the first digital advertisement. Determine whether to include geographic coordinates that correspond to one or more geographic areas. For example, the first digital advertisement is LL (4
5.35,110.75) is intended to send more traffic to stores located at (35.110.75), the group selection module 2710 selects a group of mobile device data containing position coordinates within a range (45.35,110.75). ), As shown in FIG. 30, the data group numbers 2, 3, 5, ...
, 9975, such as the location coordinates associated with the mobile device, can be used as a second set of mobile device data.
The analyzer module 2740 also uses the second mobile device dataset to generate statistical results (2840). Statistical results include one set of demographics, such as age, gender, education level, annual income, or other device-level attributes, or mobile device manufacturer and model, operating system, carrier, time of day, and day of the week. Performance trends associated with one or more may be included. As shown in Figure 31, after graduating from university, the annual salary is $ 50K ~ $ 100K
Shows that female mobile users in their twenties to 39 years are more responsive to the first digital advertisement. These statistical results can then be used by the ad server system 1900 to select ad documents in response to subsequent requests. For example, if the following request comes from a female, 27-year-old college-educated mobile user near store B1, ad server system 1900 will respond to the request with the first digital advertisement for store B1. The priority is because the statistical results indicate that such mobile users are likely to respond to the advertisement. On the other hand, in the case of a subsequent request from a 35-year-old male mobile user who is a high school graduate near store B1, the advertisement server system 1900 can select a different digital advertisement for another store B2. This is because the statistical results show that this mobile user is unlikely to respond to the advertisement in store B1.
In certain embodiments, some or all of systems 300, 700, 1000, 1400, 1900, and 2700 are one computer / server 120 or multiple computers coupled to each other via a local and / or wide area network. / Provided by server 120.
A method performed by a computer system coupled to a packet-based network for processing an ad request, comprising:
Receiving an advertisement request associated with a mobile device from the packet-based network,
Estimating the location of the mobile device based on information in the advertisement request,
Determining whether the estimated location of the mobile device triggers one or more predefined locations in a geofence database stored in storage.
Generating an ad request with relevant information that includes one or more triggered locations,
The one or more triggered locations include at least one of a category, a brand name, and a location identifier, and a location represented by a location type.
The method of claim 1, wherein the location type is selected from the group consisting of business center, business premises and business area.
Searching the ad database for one or more matching ads that match the request with relevant information, select an ad from the one or more matching ads, and direct the selected ads to the packet-based network. The method of claim 1, further comprising transmitting.
Each matching ad of each of the one or more matching ads is associated with a respective location that matches each of the one or more triggered locations in the request with associated information. The method according to item 3.
The ad request includes an identifier that identifies the mobile device or mobile user, and selecting an ad from the one or more matching ads is associated with the identifier of the mobile user in a mobile user intent profile database. 4. The method of claim 3, including referencing a stored mobile user intent profile.
Selecting an ad from the one or more matching ads refers to a retargeting database that stores information about mobile users who have visited a geographic location corresponding to one of the triggered locations. The method of claim 3, comprising:
The method of claim 3, wherein selecting an ad from the one or more matching ads comprises referencing statistical data associated with at least one of the one or more triggered locations.
The method of claim 1, wherein the request with relevant information further comprises a price for each of one or more locations, and further comprising sending an advertisement request with relevant information to the packet-based network.
For one of the one or more triggered locations in the request with relevant information,
9. The method of claim 8, further comprising receiving a bid that includes a bidder identifier, a request identifier, and a bid price.
Searching the ad database for one or more matching ads that match the request with relevant information;
Selecting an ad from the one or more matching ads,
Determining whether to accept the bid based on a bid and a price associated with one or more matching ads,
Estimating the location of the mobile device includes
Determining whether the ad request includes a set of geographic coordinates that meet a set of predefined criteria,
Responsive to a set of geographic coordinates of an ad request that does not match a predefined set, determining whether the ad request includes an IP address and utilizing the IP address to query an IP region database,
In response to finding a matching IP address in the IP region database,
Utilizing the geographic coordinates associated with the matching IP address in an IP region database as an estimated location of the mobile device,
The method of claim 11, further comprising trusting the first request based on the geographic coordinates associated with the matching IP address.
13. The method of claim 12, wherein the geographic coordinates are associated with a geographic area and the confidence depends on a size of the geographic area.
A system coupled to a packet-based network for processing an ad request associated with a mobile device received from the packet-based network, the system comprising:
A location module that estimates the location of the mobile device based on information in the advertisement request,
A geo-fencing module that determines whether the estimated location of the mobile device triggers one or more pre-defined locations in a geo-fence database stored in storage,
And an annotation module that generates an ad request with relevant information including one or more triggered locations,
The system, wherein the one or more triggered locations are locations represented by at least one of a category, a brand name, a location identifier, and a location type.
15. The system of claim 14, wherein the location type is selected from the group consisting of business center, business premises, and business area.
A matching module that searches an ad database for one or more matching ads matching the request with related information;
A ranking module that selects an advertisement from the one or more matching advertisements and sends the selected advertisement to the packet-based network;
The advertisement request includes an identifier that identifies the mobile device or its mobile user, and the ranking module refers to the mobile user intent profile associated with the identifier in a mobile user intent profile database to obtain the 1 17. The system of claim 16, selecting an ad from one or more matching ads.
The ranking module selects an ad from the one or more matching ads by referencing a retargeting database that stores information about mobile users who have visited a geographic location corresponding to one of the triggered locations. The system of claim 16, wherein the system comprises:
The ranking module includes at least one of the one or more triggered locations.
17. The system of claim 16, selecting an ad from the one or more matching ads by referencing statistical data associated with one.
Further comprising an ad marketplace interface for sending the ad-related request to the packet-based network and receiving a bid for one of the one or more triggered locations of the related-request. 15. The system of claim 14, wherein includes a bidder identifier, a request identifier, and a bid price.
JP2019227253A 2014-05-19 2019-12-17 Systems and methods for marketing mobile advertising Pending JP2020064644A (en)
JP2020064644A true JP2020064644A (en) 2020-04-23
JP2017513598A Active JP6386170B2 (en) 2014-05-19 2015-05-19 Systems and methods for mobile advertising supply on marketing
JP2018071737A Active JP6559287B2 (en) 2014-05-19 2018-04-03 Systems and methods for mobile advertising supply on marketing
JP2018071731A Active JP6553237B2 (en) 2014-05-19 2018-04-03 Systems and methods for mobile advertising supply on marketing
JP2018148382A Active JP6636106B2 (en) 2014-05-19 2018-08-07 Systems and Methods for Mobile Advertising in Marketing
JP2019131465A Pending JP2019220193A (en) 2014-05-19 2019-07-16 System and method related to mobile advertisement supply on marketing
JP2019227253A Pending JP2020064644A (en) 2014-05-19 2019-12-17 Systems and methods for marketing mobile advertising
JP (6) JP6386170B2 (en)
US10547971B2 (en) 2015-11-04 2020-01-28 xAd, Inc. Systems and methods for creating and using geo-blocks for location-based information service
US20170228785A1 (en) * 2016-02-04 2017-08-10 FANTEQ Corp. Method and System That Manages Geo-Fence Objects Using Automated Auctioning
US10650416B1 (en) * 2017-02-17 2020-05-12 Sprint Communications Company L.P. Live production interface and response testing
JPWO2019012707A1 (en) * 2017-07-14 2020-03-19 富士通株式会社 Information processing apparatus, information providing method, and information providing system
CA2682574C (en) * 2007-03-30 2017-07-11 Google Inc. Determining advertising conversion
US10679251B2 (en) * 2009-06-18 2020-06-09 Microsoft Technology Licensing, Llc Controlling ad delivery to mobile clients
2018-08-07 JP JP2018148382A patent/JP6636106B2/en active Active
2019-12-17 JP JP2019227253A patent/JP2020064644A/en active Pending
WO2015179447A1 (en) 2015-11-26
JP6636106B2 (en) 2020-01-29
US20180199152A1 (en) 2018-07-12 Method and Apparatus for Dynamic Geo-Fencing
JP2018077853A (en) 2018-05-17 Interactive advisory system for prioritizing content
2020-01-14 A621 Written request for application examination