Abstract:
A system for processing lead referrals is capable of assigning leads by product line, language and/or availability of the representative. The system is also capable of high lead referral throughput using steps such as filtering repeat visitors to a company from new leads, non-corporate leads from corporate leads, and avoiding requests for information to external databases during black-out times, such as set by registrars.

Description:
FIELD OF THE INVENTION 
     The field relates to a lead referral system. 
     BACKGROUND 
     It is known for a company to advertise or display its products and services on web pages of an internet website. Internet users who visit the company&#39;s website may be interested in purchasing or obtaining information about the company&#39;s products and services. An internet user&#39;s visit to the company&#39;s website is anonymous, unless the company takes measures to track a visitor&#39;s access to its website. There are contact management systems that are used for lead referrals. The problem with contact management systems is that the rate of contacts to a website is far too rapid for any contact management system that requires manual research prior to referring a contact to or lead to a company representative. 
     U.S. Pat. Publ. No. 2004/0225687A1 involves a system for identifying visitors to a website. This patent publication teaches a system for identifying a visitor to a website by cross-referencing the visitor&#39;s network address against a database to determine the organization with which the visitor is associated. However, this publication fails to disclose a system that is capable of referring leads to representatives by product line, and fails to disclose a system to handle high throughput lead generation. 
     U.S. Pat. Publ. No. 2004/0143473A1 involves a system for assigning a sales lead to a representative. This patent publication teaches a system for assigning insurance leads to an insurance account representative based upon the territory and employer. This publication does not disclose a system capable of referring leads to representatives by product line and it also fails to disclose a system that handles high throughput lead generation. 
     Various aspects of the system of the invention are described herein using terms related to the internet environment. For instance, “IP address” is an identifier for a computer on a network. “Domain name” is a name that identifies one or more IP addresses. “DNS” is an abbreviation for Domain Name System, which is an internet service that translates a domain name into an IP address. A “reverse DNS” is an internet service that translates an IP address into a domain name. “WHOIS” is an internet service that returns ownership information about a domain name or IP address. WHOIS databases are maintained by the registrars of domain names. “ISP” is an abbreviation for Internet Service Provider, which is a company that provides access to the internet. “URL” is an abbreviation for the Uniform Resource Locator, which is the address of web pages or documents on the internet. When a URL is generated by a search engine, it may contain one or more keywords or phrases entered by a person or machine in the search string of the search engine. 
     SUMMARY OF INVENTION 
     A lead referral system refers leads to a company representative. The referral system uses the network address to assign the lead to an appropriate representative, such as a representative having experience in a specific product line, as determined using keywords supplied to a search engine and/or tracking web pages viewed by the visitor. A lead referral system of the present invention may automatically identify a visitor to a website and assign a lead to a representative. One or more product lines may be associated with a visitor. The product line information may be used in assigning the lead to a representative who is experienced with the product lines of interest to the lead. Matching the lead with a representative who is experienced with the product line of interest is advantageous for making sales compared to assigning a lead without reference to a specific product line or the knowledge of the representative. 
     The representative of the company may be provided with a contact name and/or a telephone number based on information in a database. The database may be a local database maintained by the company or may be a third party database accessed by the company, such as a registrar database allowing access to contact information based on a domain name search. 
     It may be determined if the user is a first-time visitor to the website or a returning visitor to the website. If the user is a returning visitor, then a representative may be selected, based on previous contact with the user. 
     It has been discovered that registrars prevent repeated searches of their database from any specific server for a specific period of time. An error or hanged process is caused by too frequent access to a registrar by a server, slowing the data retrival process from this third party database. If the database is a registrar database, then rules may be applied to avoid recontacting the same registrar database during the specific period of time that the registrar has set for blocking access by the same server. Instead, another server may access the registrar database or the same server may instead contact a different registrar database for a different lead. Thus, the rules may improve or optimize the process of retrieving information from various registrar databases, such that information is retrieved according to a schedule from the various registrar databases, increasing the number of leads that may be processed by a server. A database may have black-out periods associated with each registrar. 
     The historical efficiency of each of the representatives may be used to determine the number of leads to be sent to each of the representatives. In one example, the historical efficiency is used in the calculation of bonuses provided to representatives of the company. The term representative is used in its most general sense, such as an employee of the company or an independent contractor. In one example, the leads are assigned based on a number of leads already assigned. 
     One advantage is that a representative may be selected who has the technical and/or marketing information necessary for assisting the user with a purchase of a product from the specific product line or lines. Another advantage is that the number of leads may be distributed among available representatives with the appropriate experience. 
     Another advantage is the ability to handle high volumes of potential leads by separating repeat visitors from first-time visitors and by scheduling queries to databases for new users according to a set of rules that prevent reaccessing of databases during black-out periods. This permits a high volume of leads to be generated, such as a volume of leads up to about 20 per minute for each server used to query registrar databases. The black-out times may be periodically reviewed and updated if registrar databases update their black-out times. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWING 
       The drawings illustrate examples of the present invention. 
         FIG. 1  illustrates an example of a system flow diagram of the present invention. 
         FIG. 2  illustrates another example of a system flow diagram of the present invention. 
     
    
    
     DETAILED DESCRIPTION 
     Examples of the present invention will now be described in detail for specific embodiments of the invention. These embodiments are intended merely as illustrative examples. The invention is not to be limited to these specific examples, but only by the language of the claims themselves. 
     A lead referral system provides for automated assignment of a lead to a representative, such as by product line associated with the lead. In one example, a visit to a web page is initiated using an internet search engine. Certain information is passed to the web server hosting the web page from the search engine. This information may include the network address of the visitor and keywords used in the search. The product line associated with the visitor may be identified from a keyword or phrase in the referring search engine&#39;s URL and/or information about the web page or pages accessed during the visit. Information about the visitor may be obtained from a local database or an external database, such as a reverse DNS lookup database and/or a database of a registrar for a domain name. The information may include company name, address, phone number and one or more contact names. 
     For example, an internet user using a computer enters a product line identifier keyword into the search prompt of an internet search engine. On the user&#39;s screen, the computer displays a list of web page links associated with the keyword. The user selects one of the links. By selecting the link, the user of the search engine is directed to a web page that is hosted by a server. If the server is using a lead referral system, then a lead may be generated to a representative. 
     Other search terms may have been listed in the search engine that identify a specific product or product line, such as a product line sold by Cisco 1 . The product line identifier may be determined from the search string in the URL. For example, the system parses the product line “Cisco” from the URL. This information may be stored in a local database for future reference by a representative.  1  Cisco® is a registered trademark of Cisco Technology, Inc. 
     The visitor&#39;s access to the web page also brings with it identifying information, such as the visitor&#39;s network address, such as an IP address of 67.129.183.2. The system may check the network address against a database, such as a local database or a networked database, to determine whether the visitor is a repeat visitor to the company or a first-time visitor. If the visitor is a repeat visitor, then the system may update the database and notify a representative who has already contacted the lead that the visitor has returned to view the same or additional web pages. In one example, an element or flag is recorded, if the visitor should not be contacted. If there is no indication of a do not contact element then the system may select the same representative that was previously selected for the lead, if possible, for follow up with the lead. 
     If a check of the database has no record of the visitor&#39;s network address, then information about the lead may be added to the database. The system may determine the domain name associated with the network address, such as by a reverse DNS lookup. The domain name may be compared to the database to determine if the domain name is in the database. If not, then information may be obtained from another database, such as a database of a registrar of the domain name. If the domain name or information about visitor indicates that the visitor is a repeat visitor, then the process may proceed as described previously. If not a repeat visitor, then the information and/or domain name may be added to a database, such as a local or networked database. 
     In one example, the system determines the geographic language region of a visitor based on the country or region derived from contact information. Also, the system may use the contact information or domain name to create a URL data string for accessing the visitor&#39;s website, if the representative requires information from the website. An automated routine may automatically search the website for information pertinent to the product line, for example. 
     In one example, the system may select a representative who has experience with the product line associated with the visitor. A system may also select a representative based on language skills based on the geographic language region. 
     In one system, a representative for a first-time visitor is selected from a pool of representatives based on three selection criteria: 1) the representative&#39;s experience with the product line, 2) the representative&#39;s language skills, and 3) the number of pending leads currently assigned to the representative. For example, a local database may be checked to determine the skills and availability of a representative. This database may assign a maximum number of leads for each representative or by product line, such as shown in Table I. The system of this example matches the product line associated with the visitor to a list of representatives having experience with the product line. Then, the system matches the visitor&#39;s geographic language region to further limit the list of representatives having the appropriate language skills. Finally, the system will find an available representative, such as by assigning to an available agent with the fewest pending leads currently assigned, unless the lead would exceed the maximum limit set for that representative. In the example of Table I, if a spanish speaking geographic language region was indicated, then Representative 3 would always be chosen, unless the number of pending leads for Representative 3 exceeded 200. If the number of pending leads exceeded 200, then a supervisor or outside contractor could be informed of the lead and/or situation. 
     
       
         
               
             
               
               
               
               
             
               
               
               
               
             
           
               
                 TABLE I 
               
             
             
               
                   
               
               
                 Example of Pool of Representatives 
               
             
          
           
               
                 Representative 
                 Language 
                 Manufacturer 
                 Maximun Number Leads 
               
               
                   
               
             
          
           
               
                 Representative 1 
                 English 
                 Nortel 
                 5 
               
               
                 Representative 1 
                 English 
                 Cisco 
                 10 
               
               
                 Representative 1 
                 English 
                 Any 
                 10 
               
               
                 Representative 2 
                 English 
                 Cisco 
                 20 
               
               
                 Representative 3 
                 Spanish 
                 Any 
                 200 
               
               
                 Representative 3 
                 English 
                 Any 
                 10 
               
               
                 Representative 4 
                 English 
                 Cisco 
                 10 
               
               
                 Representative 4 
                 English 
                 Extreme 
                 10 
               
               
                   
               
             
          
         
       
     
     For example, lead information, such as the product line information, the actual product page viewed by the lead, the contact information and the lead&#39;s URL, may be used to select a representative and may be delivered to the assigned representative. In one example, the lead information is delivered by way of a contact management system, which may be coupled with the local database. 
     In another embodiment of the invention, an internet user using a computer enters URL information into an internet browser. By entering the URL information, the user becomes a visitor to a web page that is using the system of this invention. The system identifies the product line or product lines associated with the visitor by identifying pages of the website visited by the visitor. Otherwise, the system may function as previously described. 
     In yet another embodiment, the system identifies the product line or lines both by parsing out keywords and by tracking the web pages visited. 
     In one example, the system randomly selects a representative from a group of representatives satisfying the selection criteria. 
     In another example, the system selects the first representative from a group of representatives satisfying the selection criteria, unless the first representative has exceeded a threshold number of pending leads. For example, representatives may have staggered start times each day, and the order may reflect the first representative having the first start time and so on. 
     In yet another example, a combination of the foregoing may be used. A group of representatives may start at the same time and may be randomly assigned leads. Alternatively, the lead referral system may be optimized by assigning leads according to an efficiency rating, which may be based on historical records. 
       FIG. 1  is a flow diagram illustrating a system for automatically assigning a lead to a representative. In one example, the system begins with an internet user accessing a web page hosted by a server using the lead referral system  1 . Then, the system obtains the visitor&#39;s IP address and tracks the visitor&#39;s session including pages visited, duration of visit, referring domain/URL and the keywords used  2 , if referred by a search engine. This information may be passed  11  to the next step in the process  3 A. The visitor&#39;s IP address is compared  3 A to IP addresses stored in the database D. If the visitor is a first-time visitor, then the information may be stored  11  in the database D, and then the system directs the process  12  to the next step in the process  3 B. If the visitor is a repeat visitor, the system directs the process  10  to the next step in the process  3 C. Repeat visitor process  3 C determines whether the lead should be assigned to a representative for follow-up. For example, the do not contact flag is checked. A representative is selected  4 A based on whether a representative has already been assigned the lead previously, the lead is a pending lead, and/or other criterion, such as product line availability. Thus the lead may be reassigned to a new representative if appropriate and the lead may be removed from the originally assigned representative. Then, the assigned representative is notified  4 B of the repeat visitor and the products in which the repeat visitor was interested. This information may be stored  11 . 
     For a first-time visitor, the system determines the IP address using a reverse DNS lookup  3 B and translates the IP address to a domain name  5 , adding the domain name  11  to the local database D. The system filters the domain names  6 , parsing the domain names of non-corporate and ISP domains. This information is stored  14 ,  11  in the local database D, and domain names that are determined to be leads for follow-up by a representative are passed to the next step in the process  7  to determine the registrar and to retrieve the contact information for the domain name from the registrar&#39;s database. For example, only domain names of public companies may be chosen for follow-up, or certain domain names, such as ISP&#39;s used not by companies but by individuals, may be excluded from follow-up. Then, the system assigns the lead to representatives  8  from a pool of representatives based on criteria, such as product line, language and availability. 
     The system records  11  the contact information and representative selected in database D. Finally, information is passed to a contact management system  9 , which provides a system for representatives to follow-up on as leads. 
     In one example, the process of retrieving information from the registrar database  7  uses rules, such as for black-out times, for each registrar as shown in Table II. For example, the time of the last contact with each of the registrar databases or the elapsed time may be used to schedule queries to the various registrar databases. 
     In one example, the system may need to determine the contact information for more than one visitor from a single registrar&#39;s database server. The system may submit the first request to the registrar&#39;s database server and record the time of the request in a database. Then, the system checks the database prior to contacting the registrar and compares the elapsed time with the black-out time to determine when the next request should be scheduled. The system will wait before submitting the second request until the black-out time has passed. Meanwhile, a request to a different registrar database for a lead associated with a different domain name may be processed by the server, or the server may otherwise process leads. 
     
       
         
               
             
               
               
               
               
             
               
               
               
               
             
           
               
                 TABLE II 
               
             
             
               
                   
               
               
                 Examples of Allowable Frequency of Registrar Database 
               
               
                 Retrieval Request Submissions 
               
             
          
           
               
                   
                   
                   
                 Black-Out 
               
               
                   
                   
                   
                 Time 
               
               
                 Registrar Domain 
                 Registrar 
                 Country 
                 in Seconds 
               
               
                   
               
             
          
           
               
                 whois.alabanza.com 
                 Alabanza, Inc. 
                 US 
                 60 
               
               
                 whois.nic.de 
                 Deutsches Info 
                 DE 
                 60 
               
               
                   
                 Network 
               
               
                 whois.enom.com 
                 eNom, Inc. 
                 US 
                 120 
               
               
                 cc.fsu.edu 
                 Florida State 
                 US 
                 60 
               
               
                   
                 University 
               
               
                 whois.ibm.com 
                 IBM 
                 US 
                 300 
               
               
                 whois.nrl.navy.mil 
                 Naval Research 
                 US 
                 60 
               
               
                   
                 Labratory 
               
               
                 whois.networksolutions.com 
                 Network Solutions, 
                 US 
                 120 
               
               
                   
                 Inc. 
               
               
                 whois.nsiregistry.net 
                 Network Solutions, 
                 US 
                 60 
               
               
                   
                 Inc 
               
               
                 www.nic.mx 
                 NIC-Mexico 
                 MX 
                 60 
               
               
                 whois.nic.uk 
                 Nominet UK 
                 GB 
                 60 
               
               
                   
               
             
          
         
       
     
     There are actually at least 140 different registrars, each with there own designated rules, such as about their black-out time. These change periodically, and the database is updated to reflect these changes. The black-out times may be determined on a trial and error basis for each of the registrars, for example. 
       FIG. 2  is a flow diagram illustrating a system for automatically assigning a lead to a representative. In one example, the system begins with an internet visitor accessing a web page hosted by a server using the lead referral system  100 . The system obtains  110  an IP address for the visitor and identifies  110  a product line associated with the visitor either by parsing out one or more keywords from the URL of the referring search engine, provided the visitor accessed the web page via a search engine, or from the a product line identifier associated with the web page or pages visited. 
     A local database  501 , having records indexed by IP address, stores information, such as contact information, URL of the visiting company, identifier for the representative who was previously assigned to the visitor and a flag indicating whether or not a representative should follow-up on this lead by contacting the visitor. The system searches  120  the database  501  for an IP address matching the visitor&#39;s IP address. If a match is found, the system checks  120  the flag indicating whether the visitor should be contacted. If the visitor should not be contacted, processing on this lead ends  130 . If the visitor should be contacted, lead information, such as the product line, the contact information, the URL of the visiting company, and the identifier for the representative, passes  140  to the contact management system  270 . If a match of the visitor&#39;s IP address is not found in the database  501 , a reverse DNS lookup  150  may be made against an external database  502  to obtain a domain name associated with the visitor&#39;s IP address. 
     A local database  503 , having records indexed by domain name, stores information, such as contact information, URL of the visiting company, identifier for the representative who was previously assigned to the visitor and a flag indicating whether or not a representative should follow-up on this lead by contacting the visitor. The system searches  160  the database  503  for a domain name matching the visitor&#39;s domain name. If a match is found, the system checks  160  the flag indicating whether the visitor should be contacted. If the visitor should not be contacted, processing on this lead ends  170 . If the visitor should be contacted, lead information, such as the product line, the contact information, the URL of the visiting company, and the identifier for the representative, passes  180  to the contact management system  270 . If a match of the visitor&#39;s domain name is not found in the database  503 , a lookup  190  may be made against an external registrar database  504  to obtain contact information associated with the visitor&#39;s domain name. 
     A local database  505 , having records indexed by company name, stores information, such as contact information, URL of the visiting company, identifier for the representative who was previously assigned to the visitor and a flag indicating whether or not a representative should follow-up on this lead by contacting the visitor. The system searches  200  the database  505  for a company name matching the visitor&#39;s company name. If a match is found, the system checks  200  the flag indicating whether the visitor should be contacted. If the visitor should not be contacted, processing on this lead ends  210 . If the visitor should be contacted, lead information, such as the product line, the contact information, the URL of the visiting company, and the identifier for the representative, passes  220  to the contact management system  270 . If a match of the visitor&#39;s company name is not found in the database  505 , the visitor is a first-time visitor. 
     For a first-time visitor, the system determines  230  the geographic language region for the visitor, such as english or spanish. Next, the system selects  240  a representative to follow up on the lead by contacting the visitor. The system may select the representative from a pool of representatives having experience with the product line, having language skills matching the visitors language region, and having capacity to accept new leads. Then, the system creates  250  a URL data string for the visiting company. The system inserts  260  into the local databases  501 ,  503 , and  505  the visitor information, such as the contact information, the company name, the domain name, the IP address, the URL data string of the visiting company, and the identifier for the selected representative. Finally, the system passes  260  to the contact management system the lead information for the first-time visitor, such as the product line, the contact information, the URL data string for the visiting company, and the identifier for the selected representative.