This disclosure relates to a system for managing and tracking contacts between businesses and customers, particularly in situations where the customer communicates by mobile telephone or by text messaging.
Many business try to attract customers by inviting prospective customers to call them on the telephone (or, more recently, send a text message by a Short Message System (SMS)). This generally has the effect of publishing the prospective customer's contact number to the business. This may require storing the customer's contact number, perhaps for an indefinite period of time. This could be at odds with a customer's desire for privacy.
There are applications where communications are more effective if conducted through a secure channel. In particular, it is desirable to implement secure communications between customers and businesses where the customer uses a mobile phone to make calls or send text messages.
The present disclosure provides a system and method for facilitating communication between two parties, such as a business (advertiser) and a customer. According to a first aspect of the disclosure, a method comprises transmitting a search request to a service provider comprising a user query for contact information for a business provider; receiving a result from the service provider comprising a contact number and content related to the business provider, the contact number being different from a true contact number for the business provider; connecting with the business provider via the service provider using the different contact number, wherein the service provider establishes the connection between a user and the business provider; and communicating with the business provider, the communication being analyzed by the service provider.
According to another aspect of the invention, a method comprises receiving at a service provider a contact request from a first party and a second party, wherein the first party and the second party each reveal true contact information, the request pertaining to a distribution of content; assigning a transactional contact number to the second party that is different from the true contact information of the second party for use by the first party to establish communication between the parties; assigning an expiration time for the transactional contact number based upon the request; facilitating a connection between the first party and the second party, wherein the first party utilizes the transactional contact number to contact the second party at least in part via the service provider; and receiving information related to the communication between the parties to obtain outcome information regarding an outcome of a transaction, wherein the true contact information of either party is not disclosed to either party by the service provider.
According to an aspect of the disclosure, a computer-readable medium tangibly encoding instructions for performing a method, comprises receiving at a service provider a contact request from a first party and a second party, wherein the first party and the second party each reveal true contact information, the request pertaining to a distribution of content; assigning a transactional contact number to the second party that is different from the true contact information of the second party for use by the first party to establish communication between the parties; assigning an expiration time for the transactional contact number based upon the request; facilitating a connection between the first party and the second party, wherein the first party utilizes the transactional contact number to contact the second party at least in part via the service provider; and receiving information related to the communication between the parties to obtain outcome information regarding an outcome of a transaction, wherein the true contact information of either party is not disclosed to either party by the service provider.
According to another aspect of the disclosure, a system comprises a plurality of processors; a service provider server for receiving a contact request from a first party and a second party, wherein the first party and the second party each reveal true contact information, the request pertaining to a distribution of content; a contact number assignment engine implemented on one of the plurality of processors for assigning a transactional contact number to the second party that is different from the true contact information of the second party for use by the first party to establish communication between the parties; the contact number assignment engine implemented on one of the plurality of processors for assigning an expiration time for the transactional contact number based upon the request; the service provider server for facilitating a connection between the first party and the second party, wherein the first party utilizes the transactional contact number to contact the second party at least in part via the service provider server; and a monitoring engine implemented on one of the plurality of processors for receiving information related to the communication between the parties to obtain outcome information regarding an outcome of a transaction, wherein the true contact information of either party is not disclosed to either party by the service provider server.
Additional features of the disclosure will be described hereinafter that form the subject of the claims of the disclosure. Those skilled in the art should appreciate that they can readily use the disclosed embodiments as a basis for designing or modifying other structures for carrying out the same purposes of the present disclosure and that such other structures do not depart from the spirit and scope of the disclosure in its broadest form.
It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory and are intended to provide further explanation of the disclosure as claimed.
The following drawing figures, which form a part of this application, are illustrative of embodiments systems and methods described below and are not meant to limit the scope of the disclosure in any manner, which scope shall be based on the claims appended hereto.
An interaction between a user 1 and a business 2, facilitated by a system 100 embodying the present disclosure, is schematically illustrated in
As shown in
A pool of available contact numbers is maintained in database 150. When user 1 contacts the system (for example, by calling a telephone number of business 2 appearing in advertisement 3), a selected number from the pool is assigned to the user (step 21). This number (dynamic contact number or obfuscated number) may be selected at random, or may be selected using another allocation strategy depending on privacy requirements. For example, one such intelligent allocation strategy could be not to assign the same dynamic number assigned to the particular user in the previous N allocations.
Assignment of the dynamic contact number may be implemented with an existing telephone network using a private branch exchange (PBX) 160. As understood by those skilled in the art, a PBX manages a pool of phone numbers where the first few digits will be common but the last few digits vary. The number of varying digits will depend on number of available connections; typically this number is 4, which means that 10,000 unique numbers can be assigned from a PBX.
Every assigned dynamic contact number is tagged with a time limit (step 22), after which the contact expires (that is, the number is no longer usable for a transaction between user 1 and advertiser 2). The lifetime of the contact number may depend on several factors, as described in further detail below. Expiration of the number may be “soft” (some extension of time permitted) or “hard” (no extension of time permitted), depending on the history and context of the transaction.
The parties (e.g. user 1 and advertiser 2) communicate using the dynamic contact numbers. Accordingly, all conversations between the parties goes through a service provider channel maintained by system 100. System 100 tracks the exchange between the parties (step 23), and extracts business data therefrom. While it is not necessary to track most of the conversations between the parties, businesses would find it desirable to track details such as the time and place of the user's contact, whether the deal was successful, and so forth. For example, a service exchange connecting service providers and customers would want to know the status of the deal in order to charge the service provider an appropriate commission.
In an embodiment, a call from the user directed to a business will be either forwarded or proxied, depending on privacy settings established when the customer is assigned the dynamic contact number. In the case of call forwarding the system 100 will not perform a tracking function. In the case of proxying, the conversations of a party are routed through the system 100 so that the system acts as a voice proxy. Once the conversation is finished, the system may perform tracking by taking input from a user about the success of the transaction with DTMF key inputs (e.g. prompting the user to “press 1 for a successful transaction”).
In some embodiments, the contact numbers are dynamically assigned, given a limited lifetime, and then recycled (made available for reassignment to a different user). A procedure for managing the lifetime of a contact number, including “soft” and “hard” expiration in accordance with an embodiment of the disclosure, is shown schematically in
The system 100 monitors the progress of a transaction between the parties (step 33). Various items of information (the “context” of the transaction) are extracted and stored in database 150, using a procedure described in more detail below.
The dynamic contact number expires at the end of the assigned time limit; however, there may be situations in which the parties are still actively working on concluding a transaction. If a transaction is not complete (step 34), but the assigned time limit is reached (step 35), the system determines whether the parties have already communicated with the system using the contact number before expiration (step 36). If the parties are “Old Parties,” meaning that they have previously communicated, the expiration of the contact number is treated as a “soft” expiration, and the lifetime of the contact number is extended (step 37). In an embodiment, when a transaction completes successfully the expiration of the dynamic contact number is treated as a soft expiration by default.
Soft expiration will become hard expiration, even for old parties (step 38), after a sufficient amount of time dictated by various factors as described above. If the parties are “New Parties” and have not communicated during the lifetime of the contact number, the number expires automatically (step 39), and the new parties cannot communicate with the expired contact number. After some convenient interval of time, the assigned number(s) are recycled; that is, assigned to a new user for a different transaction (step 40). The assigned number(s) may be recycled automatically in some embodiments.
A scenario for an interaction between a user and an advertiser through system 100 is shown schematically in
In step 41, an advertiser registers with the system provider; the advertiser reveals his actual contact information to the system provider, but this information is not revealed to users of the system (customers). In step 42, a user makes contact with the system, either via SMS or a telephone call. The user may be responding to an advertisement, or making a query regarding desired goods or services. If the user is responding to a specific advertisement, the system sends the user a contact number for that advertiser. If the user made a more general query, the system sends back to the user a list of advertiser links, (for example, those advertisers that are top ranked or that have paid for placement in a search result by keyword) and phone numbers (step 43). It should be noted that the numbers of the advertisers are also preferably obfuscated.
In step 44, the user interacts with a selected one of the advertiser contact phone numbers provided by the system. The lifetime of the dynamic contact number assigned to the advertiser can be made to depend on the context of the request, advertiser pricing and/or various other factors, or be a fixed default time. The user's phone number is not revealed to the advertiser. The system connects the dialed-in user with the actual phone number of the advertiser (step 45). The calls and/or messages thus exchanged between the user and the advertiser are tracked and recorded (step 46). The content of the call may be analyzed, for example, for additional leads. The system may then charge the advertiser for each lead, or per successful lead. Additional data regarding the transaction is stored, analyzed and reported to the advertiser (step 47).
Examples of a user query 51 and a system response 56 are shown in
A procedure for extracting information from the user/advertiser transaction is shown schematically in
An interaction between a service exchange 706, a user (service seeker or customer) 702 and a business service provider (advertiser) of the present disclosure is schematically illustrated system 700 in
By way of a non-limiting example, an embodiment of the present disclosure in reference to
In view of
The interaction between the user 702, service exchange 706, database 708 and business service provider 704 establish a connection between the two parties which provides a more scalable and extendable system 700, in that an abundance of obfuscated numbers can be associated for each customer (user 702). For example, if the service exchange 706 has N obfuscated numbers, it can then associate all N numbers with each customer (user 702).
As noted above with reference to
Computer data, as described in this disclosure, may include without limitation executable code as well as user and advertiser contact information and information relating to user/advertiser transactions. For the purposes of this disclosure a computer readable medium stores computer data in machine readable form. By way of example, and not limitation, a computer readable medium may comprise computer storage media and communication media. Computer storage media includes volatile and non-volatile, removable and non-removable media implemented in any method or technology for storage of information such as computer-readable instructions, data structures, program modules or other data. Computer storage media includes, but is not limited to, RAM, ROM, EPROM, EEPROM, flash memory or other solid state memory technology, CD-ROM, DVD, or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other medium which can be used to store the desired information and which can be accessed by the computer.
In an embodiment the system 100 executes software downloaded over a network. Such a network may be an intranet (a private version of the Internet). An intranet is a computer network allowing data transfer between computing devices on the network. Such a network may comprise personal computers, mainframes, servers, network-enabled hard drives, and any other computing device capable of connecting to other computing devices via an intranet. An intranet uses the same Internet protocol suit as the Internet. Two of the most important elements in the suit are the transmission control protocol (TCP) and the Internet protocol (IP).
For the purposes of this disclosure a computing device, on which system 100 may be realized, includes a processor or plurality of processors and memory for storing and executing program code, data and software. Computing devices may be provided with operating systems that allow the execution of software applications in order to manipulate data. Personal computers, PDAs, wireless devices, cell phones, internet appliances media players, home theater systems, and media centers are several non-limiting examples of computing devices.
Those skilled in the art will recognize that the methods and systems of the present disclosure may be implemented in many manners and as such are not to be limited by the foregoing exemplary embodiments and examples. In other words, functional elements being performed by single or multiple components, in various combinations of hardware and software or firmware, and individual functions, may be distributed among software applications at either the client or server or both. In this regard, any number of the features of the different embodiments described herein may be combined into single or multiple embodiments, and alternate embodiments having fewer than, or more than, all of the features described herein are possible. Functionality may also be, in whole or in part, distributed among multiple components, in manners now known or to become known. Thus, myriad software/hardware/firmware combinations are possible in achieving the functions, features, interfaces and preferences described herein. Moreover, the scope of the present disclosure covers conventionally known manners for carrying out the described features and functions and interfaces, as well as those variations and modifications that may be made to the hardware or software or firmware components described herein as would be understood by those skilled in the art now and hereafter.
While various embodiments have been described for purposes of this disclosure, such embodiments should not be deemed to limit the teaching of this disclosure to those embodiments. Various changes and modifications may be made to the elements and operations described above to obtain a result that remains within the scope of the systems and processes described in this disclosure. For example, the analysis described with respect to
Numerous other changes may be made that will readily suggest themselves to those skilled in the art and which are encompassed in the spirit of the invention disclosed and as defined in the appended claims.