# Patent

## Title
Business finder for locating local businesses to contact

## Abstract

Marketing techniques are disclosed that allow companies to efficiently identify target businesses to solicit for purchase of advertising products. One embodiment includes a map-based interface for selecting a neighborhood and locating any businesses known to a company selling advertising products in that area, with the intent of allowing a company representative to select a set of those businesses to contact regarding the company's advertising products. The map displays business listings as markers on the map, with color-coding used to indicate listings the representative has already contacted, and listings that some other representative has contacted.

## Background
RELATED APPLICATIONS
This application is a continuation of U.S. application Ser. No. 11/940,181, filed Nov. 14, 2007, which claims the benefit of U.S. Provisional Application No. 60/865,804 filed Nov. 14, 2006, each of which is incorporated by reference in its entirety.


TECHNICAL FIELD
The invention relates to product marketing, and more particularly, to techniques for locating local businesses to target for advertising products.
BACKGROUND ART
An issue with marketing a product is identifying target businesses to solicit to purchase the product. It is difficult to track which businesses within a particular area have already been solicited, particularly when multiple sales people are active in the same area. Without accurate record-keeping and coordination, many inefficiencies result, including duplicative contacts with some businesses and uneven coverage of some areas. In instances where businesses are unintentionally revisited, time and money is lost. In areas that are under-served by a sales force, valuable business opportunities and potential customers are lost. In some cases, a sales person may not be aware of particular unsolicited businesses in the local area. Thus, they may end up traveling more extensively than would be required to visit the unsolicited local businesses, which again results in the inefficient use of the sales force.
SUMMARY
One embodiment of the present invention provides a computer implemented methodology for identifying target businesses to solicit for purchase of advertising products. The present invention beneficially aids in the coordination of solicitation of businesses within a target area between various representatives in the target area. The method includes presenting a user with a digital map, receiving a request for business listings from the user, based on movement of the map to a target solicitation area, generating a list of business listings responsive to the request, and displaying the list to the user. Each listing can then be displayed on the map with a corresponding marker that indicates the listings availability for solicitation of advertising products. In one particular case, the digital map includes a centered crosshair, and the request is generated when the center of the map is shifted. Examples of shifting the center of the map may include panning, dragging, go-to action, or any other such map moving techniques. In another particular case, up to N business results are reflected on the map in a widening radius around the centered crosshair, where N in one embodiment is from 2 to 200. In another particular case, results of the request are bounded by a visible area of the map. In another particular case, when results of the request are returned to a requesting client of the user, a row with details for each business reflected in the results is displayed in a list proximate the map. In one such case, and in response to the user moving a cursor over a displayed marker, a label is displayed alongside that marker with the name of the business, and a scroll position of the list proximate the map is shifted so that the corresponding business appears in the center of the visible list. In another particular case, the markers are color-coded to indicate availability of the corresponding business for solicitation. In another particular case, clicking a marker will star the corresponding listing to indicate user interest in that business listing. In one such case, starred listings persist across multiple map searches. In another such case, a user can select to display starred listings in place of the business list. When starred listings are displayed, a control can also be displayed that allows the user to bulk-create pre-filled listing drafts for all starred businesses.
Another embodiment of the present invention provides one or more machine readable mediums encoded with instructions, that when executed by one or more processors, cause the processor to carry out a process for identifying target businesses to solicit for purchase of advertising products. Machine readable mediums may comprise one or more compact disks, diskettes, servers, memory sticks, or hard drives, etc. This process can be, for example, similar to or a variation of the previously described method.
Another embodiment of the present invention provides a system for identifying target businesses to solicit for purchase of advertising products. The system functionality such as that of the previously described method or a variation thereof can be implemented with a number of means, such as software which can comprise executable instructions encoded on one or more computer-readable mediums, hardware such as gate level logic or one or more ASICs, firmware such as one or more microcontrollers with I/O capability and embedded routines for carrying out the functionality described herein, or some combination thereof. The system can be implemented in a client-server environment, with some extrusion detection functionality carried out, for example, at the server and some at the client, or all at the client. The client can be configured as heavy or light as desired, as will be apparent in light of this disclosure.
The features and advantages described herein are not all-inclusive and, in particular, many additional features and advantages will be apparent to one of ordinary skill in the art in view of the figures and description. Moreover, it should be noted that the language used in the specification has been principally selected for readability and instructional purposes, and not to limit the scope of the inventive subject matter.



BRIEF DESCRIPTION OF THE DRAWINGS
FIG. 1 illustrates a system configured for finding target businesses to solicit regarding a company's products, in accordance with an embodiment of the present invention.
FIG. 2 illustrates a user interface of the system shown in FIG. 1 and example search results, in accordance with an embodiment of the present invention.



DETAILED DESCRIPTION OF THE INVENTION
Marketing techniques are disclosed that allow companies or their representatives selling advertising products to efficiently identify target businesses to solicit for purchase of those advertising products. The techniques include, for example, a map-based interface for selecting a neighborhood or other specific geographic area and locating businesses in that area, with the intent of allowing a user or company “representative” to select a set of those businesses to contact regarding the company's advertising products. The contact may include a visit to the target business to gather a rich set of data associated with that target business such as a photograph of the storefront, hours of operation, payment types accepted, and any notable specialties or unusual services. The contact may also be to solicit that target business for the purchase of advertising products such as Google AdWords or other online advertising product in the form of a highly customized mailer or other such marketing collateral that includes the rich collected data. The map displays business listings as markers on the map, with color-coding used to indicate listings the representative has already contacted, and listings that some other representative has contacted.
The rich data collected by the representatives can be used to augment or otherwise improve the business listing data display on various online search systems by entering that collected data into the database of such systems. Example search systems that can employ the techniques include Google Search, Google Local, Google Maps, Google Earth, and other Google search/map systems. Other search and/or map systems can also implement the techniques described herein, such as Microsoft, Yahoo!, Mapquest.com, AOL, and ASK.com search and/or map systems, as will be apparent in light of this disclosure. In addition, other non-search applications where effective marketing material is desirable can also employ the techniques. Non-search applications may include yellow-page ad products, on-line bulletin board ad products, and cross-selling ad products such as when a consumer is shopping for a particular item and receives ads directed to related items or simply other good/services that may be of interest to the user. As previously indicated, the collected data may include, for example, information such as hours of operation, payment types accepted, and storefront photos, popular menu items and/or specialties, pricing data, and other useful information about the business. Such data which can be used in addition to typical listing data such as business name, street address, and telephone number provides a richness that is currently missing from conventional online search/map system result displays. The representatives are free to cover their neighborhoods or other available target areas however they choose in their search for available listings of target businesses to augment in this fashion.
A potential issue with a free-form exploration approach is that giving a representative the task of talking to businesses in their neighborhood may result in scattershot, uneven coverage of the area. For instance, representatives may be more inclined to talk to businesses that they know and frequent, like restaurants and shops, and pass over businesses that they visit infrequently or not at all, like doctors, attorneys, accountants, auto repair shops, hobby shops and specialty stores, etc. The business finding techniques described herein can be used to avoid such issues and improve the business listing data and AdWords penetration or other such ad product for all businesses, not just the popular ones. This is accomplished by allowing a representative to get a broad view of the businesses that are available in a target area, using a digital maps-based approach such as Google Maps, Google Local, or other mapping system, such as a Microsoft Virtual Earth, Mapquest.com, or Yahoo! Maps. By panning, dragging or otherwise directing the map to a new location, and in accordance with one embodiment of the present invention, the representative can locate target businesses in the visible bounds of the map, radiating out from the center point. Listings that the representative indicates interest in can be automatically saved as pre-filled ‘draft’ listing entries, allowing the representative to concentrate on collecting and entering the rich data that is above and beyond business name and address.
Another benefit provided by the business finding techniques described herein is a lightweight reservation system that helps give a representative a better sense of how well a targeted area has already been covered by other representatives. In accordance with one embodiment, representatives are not eligible to enter business listing data for businesses for which another representative has already submitted approved augmented data. In one such embodiment, a client-side listing process module 105 displays these unavailable listings on the map as well as those that may become potentially unavailable soon because of drafts that another representative has created, so that the inquiring representative can get a sense of whether his/her business visits in that area are likely to be productive or not. By marking an interest in available businesses, the representative can effectively designate his/her targeted areas and discourage other representatives from contacting those businesses.
Another benefit provided by the business finding techniques described herein is a heat area map indicating the current coverage in a certain area. This allows representatives to have an idea of what areas have been predominately covered and which areas still need to be visited.
In addition, filtering tools are provided that allow a representative to restrict the found businesses by a particular street or other discrete map area, with the intent that a representative would then have an additional tool for planning a door-to-door coverage route for his/her visits.
System Architecture
FIG. 1 illustrates a system 100 configured for finding target businesses to solicit regarding a company's products, in accordance with an embodiment of the present invention. The company's products may include, for example, online search-based advertising products such as Google's AdWords pay-per-click ad product. However, other types of products can benefit from the system 100, as will be apparent in light of this disclosure. Further note that the system 100 can be used with online search-based advertising products other than Google's search systems such as Microsoft, Yahoo!, AOL, and ASK.com search systems. In a more general sense, the system 100 could be useful for any sort of entity or party that wants to view a set of businesses in a map-constrained area. The system 100 can be used, for example, by external sales-force based applications that are targeting businesses for product marketing.
As can be seen, the system 100 includes a map server system 107 that is communicatively coupled to one or more clients 103 via a network 101. A single client 103 is merely illustrated in order to simplify and clarify the present description, though in operation any number of clients 103 will be in communication with the map server system 107. Client 103 may be any type of device or system configured for computing, such as a personal computer or laptop, a mobile phone, a personal digital assistant, special purpose microcomputer, and so on. The client 103 includes a browser or any other suitable application that allows the user to interface and communicate with other devices and systems on the network 101. Examples of browsers include Microsoft's Internet Explorer browser, Netscape's Navigator browser, Mozilla's Firefox browser, Palm Source's Web Browser, or any other browsing or application software capable of communicating with network 101. Generally stated, the client 103 can be any device that allows a user to access the map server system 107 via the network 101. Other clients not shown may also be in communication with the map server system 107 via the network 101.
Each client 103 includes a listing process module 105. This module can be implemented in the client 103, for example, as a plug-in or other installed executable or a script file such as JavaScript or other suitable script language that is associated with a web page provided to the client 103 by the map server system 107. In accordance with one particular embodiment, the listing process module 105 operates to keep track of the query results and associated map objects. In more detail, a number of pieces of data are tracked in the user's browser using JavaScript which is one implementation of the listing process module 105. Here, the listing process module 105 tracks the set of listings that have been found by the map queries requested by a representative via a browser of a client 103. Each listing returned is tracked as a JavaScript Object Notation (JSON) object or other suitable data interchange format, stored in a master JavaScript array and indexed by an ID which is unique to each business listing. On receipt of listing data responsive to a query, the listing process module 105 annotates each listing with additional data relevant to the display, such as whether it is selected, what its calculated street name is, and what its display index is in the list of businesses. The listing process module 105 of this example embodiment also creates and references the map marker for that listing and the label overlay that will be displayed next to the listing when the cursor is placed over the map marker or when the listing is selected from the menu displaying the businesses in the vicinity. Other variables keep track of the set of street names that the user can filter against, the filtering state, and the overall number of searches that the user has performed. Additional JavaScript controls display of informational messages for the user, such as indications that a search is underway, that a go-to (‘fly to’) location has been located, that no businesses were found for an area, etc, can also be provided.
The network 101 may be any type of communications network, such as a local area network such as an intranet, wide area network for example the internet, or some combination thereof. Alternatively, the network 101 may be a direct connection between the client 103 and the map server system 107. In general, the client 103, network 101, and/or map server system 107 may be in communication via any type of wired or wireless connection, using a wide variety of communication protocols.
The map server system 107 operates in conjunction with the business finder module 109, and can be implemented with conventional or custom technology. The map server system 107 may include one or more servers operating under a load balancing scheme, with each server or a combination of servers configured to carryout one or more functions required to answer client 103 requests via the network 101. In one particular embodiment, the map server system 107 is implemented with digital mapping system functionality as discussed in the U.S. application Ser. Nos. 11/051,534 and 11/088,542, which describe tile-based mapping systems. Note, however, that the business finder techniques discussed herein can also be used with other mapping systems, such as vector-based and raster-based mapping systems.
The business finder module 109 is for finding businesses that match the representative's map criteria. In one such embodiment, input to the business finder module 109 includes the north, south, east, and west bounds of the map, the map's current zoom level, the search count of this search so the client can associate the results with the appropriate search, and the offset from the start of search results to include in this set. Given this data, the business finder module 109 assembles an appropriate local XML query for results and gets an initial set of results from the listing data database 111. This API can limit the number of results per local query, if so desired for example to 20 per query. If the set of results is far too large to be reasonable such as more than 5 million, then the business finder module 109 informs the user via the listing process module 105 that they must zoom in to see the listings. If the expected total size returned in the set of results is more than adequate for displaying a listing cap (e.g., listing cap of 200), then the server-side business finder module 109 loops to retrieve the next sets of results repeatedly until 200 listings or any other desired listing cap are retrieved. If not, the business finder module 109 sends via the map server system 107 the initial 20 results back to the client 103, and the client 103 loops back to make subsequent server queries until it runs out of results for the area or hits the listing cap of 200, for example.
The map server system 107, which includes a business finder module 109, is also in communication with a listing data database 111 that includes listing data associated with businesses such as business names, address, telephone number, storefront photographs, hours of operation, accepted payment types, etc. The listing data database 111 can be any type of computer-readable media such as a hard drive or any other tangible data storage device.
The listing data database 111 can be populated, for example, offline, or in real-time. As previously explained, business listing data can be uploaded or otherwise provided by a “representative” that has personally visited a business and photographed its storefront, and includes data such as the business name, street address, telephone number, storefront photographs, hours of operation, accepted payment types, popular menu items and/or specialties, pricing data, and other useful information about the business.
A data harvester 113 is in communication with the listing data database 111 and can be used to automatically seek and collect business data from online sources such as yellow page listings and/or storefront image databases indexed by street address included in the geographic area covered by the system 100. The data acquired by the data harvester 113 may also include other data such as map data and satellite images. The harvesting can be accomplished by any number of techniques including the use of web crawlers. The business data collected by the data harvester 113 is stored in the listing data database 111 once the appropriate data has been collected.
Note that other modules may be included in the system 100, and that illustrated modules may be rearranged. For instance, the data harvester 113 can be integrated into the map server system 107. Similarly, the business finder module 109 may be a stand alone module or server opposed to being integrated with the map server system. Other configurations will be apparent in light of this disclosure, and the present invention is not intended to be limited to any particular one.
User Interface
FIG. 2 illustrates a user interface of the system 100 shown in FIG. 1 and example search results, in accordance with an embodiment of the present invention. In one particular embodiment, the listing process module 105 includes or otherwise works in conjunction with a go-to (referred to as ‘fly to’ herein) location controller. This ‘fly to’ location controller allows the user to geocode an arbitrary address into the ‘fly to’ dialog box 203. For example “1039 El Camino Real, Menlo Park” was entered into the dialog box 203. Responsive to receiving the address in the ‘fly to’ dialog box 203, the location controller will center the map on the location specified by the representative which in this example is a business Su Hong. In one such embodiment, this feature is implemented as an AJAX call to the map server system 107, which contacts a geocoding service included in or otherwise accessible to the map server system 107 to determine whether enough information has been given to establish a latitude and longitude for the location. If a location is returned, the listing process module 105 (e.g., result handling JavaScript) automatically centers the map on the new location which is designated by a crosshair 231 and begins a query.
The listing map that is displayed by default as a result of the query can be, for example, an animated map as shown in FIG. 2. In one such case, the map can be interacted with using public Google Map v2 APIs (e.g., reference at http://www.google.com/apis/maps/documentation). In another embodiment the listing map that is displayed can be a satellite image of the area provided by Google Earth or any other mapping application by selecting the satellite button 227. In another embodiment the listing map that is displayed can be a hybrid of the satellite image and the map shown in FIG. 2. This can be accomplished by selecting the hybrid button 229. The various maps can be displayed by selecting buttons 225, 227 and 229 depending on the preference of the user.
The displayed map has event hooks attached so that starting a drag will move the crosshair 231 to a new location and will halt any current searches, and ending a drag will initiate a search for the new location once the location of the crosshair 231 is established. The listings that have been found on the map are displayed as small color coded dots 223 and 219 which represent a custom Google marker in the example embodiment shown in FIG. 2. The specific color of the dots is an indication of the status of the associated business. For example blue dots are listings that belong to the representative, green dots are available, orange dots are listings being looked at by other representatives, and red dots are listings that belong to other representatives. The markers beneficially aid representatives in the coordination of which businesses to solicit based on their availability, thus preventing overlapping coverage. The user has the ability to filter what types of listings are displayed on the map via the Show Me menu 213. In FIG. 2, “My Places” represented by a blue dot and “Available Places” represented by a green dot have been selected. The map indicates that no businesses belonging to the representative are within the given location due to the lack of blue dots on the map. However, the map indicates through green dots the available businesses to solicit around 1039 El Camino Real, Menlo Park in the example. The Show Me menu 213 allows the representative to view the current coverage of a particular area in the map.
In another particular embodiment, moving the cursor over these markers will display a label indicating business listing information alongside the dot with the name of the business (e.g., a custom Google overlay) and shift the scroll position of the business list 201 further described below so that the given business appears in the center of the visible list 201 designated by the crosshair 223. Clicking the marker 223 or 219 will star 217 that listing indicating potential interest in that location. In another particular embodiment, the set of listings that a representative has starred 233 is maintained separately from the list of found businesses 201 so that the starred listings 233 persist across multiple map searches. The number of starred listings 233 is tracked and displayed in an expandable tab below the list of businesses, as shown in FIG. 2. Clicking on this tab will display the starred listings 233 in place of the business list 201. When displayed, a control will also appear that allows the representative to bulk-create pre-filled listing drafts for all starred businesses. These drafts will be filled with the listing's business name, address information, phone number, ID, and latitude/longitude coordinates.
Other tabs, such as My businesses 205, Add a business 207, My payments 211, and My account 235 can also be provided, as shown in FIG. 2, so that the representative can better manage their solicitation tasks and monitor progress based on income generated as indicated in the My payments section 211, and acquired listings as indicated in the My businesses section 205. The Add a business section 207 allows the representative to enter a listing for evaluation by the business matcher system 100 as described herein, and the My account section 235 provides the representative with an overview of information associated with the account such as user preferences.
In another embodiment the listing map can be a heat map indicating the level of coverage in particular areas. For example in one embodiment highly covered areas can be designated red to indicate the majority of businesses have already been visited, orange can represent areas with moderate coverage and green indicates areas with little to no representative coverage. This feature can assist representatives in identifying which areas have been predominately covered and which areas still need to be visited.
In addition to displaying the map which includes the location of businesses represented by a color coded marker, a list of businesses 201 is displayed. The businesses within the list 201 are representative of in one embodiment at most two hundred businesses located within the target range defined by the dashed circle 221 indicating the boundary of the displayed list of businesses 201. The list of businesses 201 that have been found for the given area in response to a query can be implemented, for example, as an IFrame whose contents are populated using DHTML (dynamic HTML). The contents of the IFrame are initially blank. When a set of listings are returned by a query, the IFrame contents are created or updated to display these listings. In one such embodiment, a client-side function either included in the listing process module 105 or in an independent module is provided that converts an annotated JSON listing into the row HTML appropriate to that listing; each row is tagged with an ID so that it can be replaced as the listing's status is updated. In more detail, each row in the list 201 displays the color-coded dot 215 for that business indicating its availability to be contacted, the name, address, and phone number for the business, and a star 217 for indicating interest in that business. The list of businesses can be sorted, for example, by distance from the map center point, business name, street name, or availability status through an options pull-down menu 235. It can also be filtered by street name where the street name list is dynamically populated based on the search results and availability in the options pull-down menu 235. The rows can also have some additional JavaScript functionality attached to them. For instance, moving the cursor over a row will highlight that row and display the listing's label in the appropriate place on the map. Clicking on a row will toggle the row's selection status by selecting to star 217 that particular business if it is currently available. Likewise, sorting or filtering the listings can be entirely accomplished on the client 103, using JavaScript sort comparators and display filters.
Querying against the listing data database 111 for a duplicate for every listing processed could be prohibitively expensive, so one embodiment of the business finder system 100 uses a probabilistic duplicate detection algorithm included in the business finder module 109 to find others' listings, which determines the ultimate availability of a listing to be contacted by the current representative. In one such embodiment, the duplicate detector uses a Bloom filter to store the IDs of all listings that are either unavailable and have passed through the approval process or are currently being looked at indicating the listing has been submitted for approval or recently drafted. This filter can be, for example, populated at server start-up time and intended to be re-calculated every ten minutes. The representative's existing listings within the bounds of the map are overlaid over this set to indicate listings that already belong to the representative. With this data set up, the business search code of the business finder module 109 can quickly iterate through the list of returned listings and determine their availability appropriately.
In general, when a representative enters a business listing request via a map-based interface executing in conjunction with the representative's browser and client-side listing process module 105, it is put into a request by the client 103, and sent to the map server system 107 via the network 101. The map server system 107 then determines what is requested, engages the business finder module 109 to generate a list of business listings responsive to the query, and responds with those business listings. As previously explained, the business finder module 109 uses map data included in the user's request to identify corresponding business listing data included in the representative's current map view located in the listing data database 111. In more detail, and in accordance with one embodiment of the present invention, the representative is presented with a digital map with a centered crosshair. When the center of the map is shifted, a query is initiated to populate up to 200 business results in a widening radius around the point under the crosshair. Shifting of the center of the map can be accomplished by flying to a location or dragging the map or panning the map. The results of the query are bounded by the visible area of the map. When the results of the query are returned, a small color-coded dot is placed on the map at the location for each business, and a row with details of the business is displayed in the business list.
Users of the clients 103 in this example are referred to as representatives, as they can provide data to the business listing data database 111 and/or trigger the automatic development of marketing collateral intended to help sell advertising products to the corresponding businesses reflected in that listing data database 111. The customization aspect of the generated marketing collateral will help ensure that the response rate of targeted businesses is high enough to sustain the company selling the ad products, as well as the representative (who can be compensated by the company for providing valuable business listing data). As will be appreciated in light of this disclosure, different designs and layouts of a collateral piece can be explored and otherwise tested for effectiveness. For instance, the company can keep track of which variant of collateral is sent to each business, so that the relative effectiveness of different designs can be tracked.
The foregoing description of the embodiments of the invention has been presented for the purposes of illustration and description. It is not intended to be exhaustive or to limit the invention to the precise form disclosed. Many modifications and variations are possible in light of this disclosure. It is intended that the scope of the invention be limited not by this detailed description, but rather by the claims appended hereto.

## Claims

1. A computer-implemented method of a server for identifying businesses to solicit for purchase of online advertising from an advertising system, the method comprising:
storing a map database comprising map objects, each map object having a geographic location;
storing a listing database comprising listing data associated with a plurality of businesses, the listing data for each business including an address for each business and eligibility data indicating whether the business has been previously contacted to receive customized marketing collateral for soliciting the business to advertise online with the advertising system;
storing an image database comprising images of the plurality of businesses in the listing database;
generating, by the server using the map database, a digital map representing a geographical region, the digital map including map objects having a geographic location in the geographical region;
generating by the server using the map database and the listing database, a list of businesses having addresses located in the geographic region represented by the digital map;
determining, for each business included in the list, whether the business is eligible to receive a customized marketing collateral for soliciting the business to advertise online with the advertising system based on the eligibility data in the listing database, the customized marketing collateral including one or more images of the business selected from the image database and associated business data; and
transmitting the digital map and the list of businesses from the server to a client device of a user for display, each business represented on the digital map by a marker at a location on the digital map corresponding to an address of the business, and wherein the marker indicates whether the business has been determined to be eligible to receive the customized marketing collateral.

2. The method of claim 1, wherein the digital map includes a centered crosshair, further comprising receiving a request for a revised list of businesses that is generated responsive to the centered crosshair being shifted on the digital map.

3. The method of claim 2, wherein up to a threshold number of business listings are displayed on the digital map in a widening radius around the centered crosshair.

4. The method of claim 2, further comprising:
stopping any current search for a list of businesses; and
initiating a revised search for a list of businesses.

5. The method of claim 1, wherein the list of businesses is generated responsive to a request from the client device and wherein locations of the businesses in the list are displayed within a visible area of the digital map.

6. The method of claim 1, wherein the list of businesses transmitted to the client device of the user comprises details for each business that are displayed in a list proximate the digital map.

7. The method of claim 6, wherein the details for each business include a label with a name of the business that is displayed alongside the marker on the digital map at the location corresponding to the address of the business.

8. The method of claim 1, wherein the markers are color-coded to indicate eligibility to receive the customized marketing collateral from the user.

9. The method of claim 1, wherein at least one of the markers visually indicates businesses that have already been contacted by a solicitor and are no longer eligible to receive customized marketing collateral from the user.

10. The method of claim 1, wherein user selection of the marker indicates user interest in the business to the marker.

11. The method of claim 1, wherein the digital map is a satellite image or an animated image.

12. The method of claim 1, wherein the digital map is a heat map indicating a level of coverage within the geographic region, the level of coverage indicating the eligibility of the businesses in the list to receive customized marketing collateral.

13. A computer program product for identifying businesses to solicit for purchase of online advertising from an advertising system, comprising a non-transitory computer readable-storage medium storing computer executable instructions for controlling a processor to perform the operations of:
storing a map database comprising map objects, each map object having a geographic location;
storing a listing database comprising listing data associated with a plurality of businesses, the listing data for each business including an address for each business and eligibility data indicating whether the business has been previously contacted to receive customized marketing collateral for soliciting the business to advertise online with the advertising system;
storing an image database comprising images of the plurality of businesses in the listing database;
generating, using the map database, a digital map representing a geographical region, the digital map including map objects having a geographic location in the geographical region;
generating using the map database and the listing database, a list of businesses having addresses located in the geographic region represented by the digital map;
determining, for each business included in the list, whether the business is eligible to receive a customized marketing collateral for soliciting the business to advertise online with the advertising system based on the eligibility data in the listing database, the customized marketing collateral including one or more images of the business selected from the image database and associated business data; and
transmitting the digital map and the list of businesses to a client device of a user for display, each business being represented on the digital map by a marker at a location on the digital map corresponding to an address of the business, and wherein the marker indicates whether the business has been determined to be eligible to receive the customized marketing collateral.

14. The computer program product of claim 13, wherein the digital map includes a centered crosshair, further comprising receiving a request for a revised list of businesses that is generated responsive to the centered crosshair being shifted on the digital map.

15. The computer program product of claim 14, wherein up to a threshold number of business listings are displayed on the digital map in a widening radius around the centered crosshair.

16. The computer program product of claim 14 wherein the instructions further control the processor to perform the operations of:
stopping any current search for a list of businesses; and
initiating a revised search for a list of businesses.

17. The computer program product of claim 13, wherein the list of businesses is generated responsive to a request from the client device and wherein locations of the businesses in the list are displayed within a visible area of the digital map.

18. The computer program product of claim 13, wherein the list of businesses transmitted to the client device of the user comprises details for each business that are displayed in a list proximate the digital map.

19. The computer program product of claim 18, wherein the details for each business include a label with a name of the business that is displayed alongside the marker on the digital map at the location corresponding to the address of the business.

20. The computer program product of claim, 13 wherein the markers are color-coded to indicate eligibility to receive the customized marketing collateral from the user.

21. The computer program product of claim, 13 wherein at least one of the markers visually indicates businesses that have already been contacted by a solicitor and are no longer eligible to receive customized marketing collateral from the user.

22. The computer program product of claim, 13 wherein user selection of the marker indicates user interest in the business corresponding to the marker.

23. The computer program product of claim 13, wherein the digital map is a satellite image or an animated image.

24. The computer program product of claim 13, wherein the digital map is a heat map indicating a level of coverage within the geographic region, the level of coverage indicating the eligibility of the businesses in the list to receive customized marketing collateral.

25. A computer system for identifying businesses to solicit for purchase of online advertising from an advertising system, the system comprising:
a computer processor;
a computer-readable storage medium comprising executable code, the code when executed by the processor performs operations comprising:
storing a map database comprising map objects, each map object having a geographic location;
storing a listing database comprising listing data associated with a plurality of businesses, the listing data for each business including an address for each business and eligibility data indicating whether the business has been previously contacted to receive customized marketing collateral for soliciting the business to advertise online with the advertising system;
storing an image database comprising images of the plurality of businesses in the listing database;
generating a digital map representing a geographical region, the digital map including map objects having a geographic location in the geographical region;
generating using the map database and the listing database, a list of businesses having addresses located in the geographic region represented by the digital map;
determining, for each business included in the list, whether the business is eligible to receive a customized marketing collateral for soliciting the business to advertise online with the advertising system based on the eligibility data in the listing database, the customized marketing collateral including one or more images of the business selected from the image database and associated business data; and
transmitting the digital map and the list of businesses to a client device of a user for display, each business being represented on the digital map by a marker at a location on the digital map corresponding to an address of the business, and wherein the marker indicates whether the business has been determined to be eligible to receive the customized marketing collateral.