Patent ID: 12205152

DETAILED DESCRIPTION

Many businesses are increasingly concerned about their online impressions. For example, both positive and negative reviews posted to a review website can impact the business. As more review websites are created on the Internet, and as more users post content to those sites, it is becoming increasingly difficult for businesses to monitor such sites. Further, it can be difficult for businesses to determine whether they need to, and how they can, improve their online impressions to drive traffic to their locations. Additionally, businesses want to increase the number of reviews from their customers as much as possible. Typically, only a minority of customers that visit a merchant post reviews. Businesses are motivated to get their customers to leave as many reviews as possible, and one issue has been ensuring reviews are coordinated in an optimal distribution across the numerous reviewing sites on the Internet.

Methods and systems for creating and distributing dynamic “review requests” are disclosed herein. In one example embodiment, dynamic “review request” links are generated. Each link may dynamically re-route consumers to the optimal website to improve the quality of review data across the Internet. The link could be unbranded, or the link itself could be generated after the optimal review site is determined. By gathering reviews and determining the optimal review site for a review based on several event factors related to a cross section of the reviewing sites, the techniques of the disclosure may ensure that the reviews reflect the most current consumer sentiment about the business. Advantages include: 1) ensuring that there are accurate average ratings across sites; 2) that there are an optimal number of reviews; and 3) that the reviews are recent. An additional advantage of this is that reviews may be distributed in a way to ensure that a business' online impression is consistent across the Internet.

In some implementations, a source system creates a dynamic redirection container, such as a dynamic Uniform Resource Locator (URL) link, that is then transmitted to a user's device to request a review of a business location. For example, the dynamic redirection container may be, but not limited to a computer readable object comprising dynamic URL, text message or other types of controls for redirecting the display of a user's client device to a particular Internet resource. The request may be sent on behalf of a merchant in response to detecting a condition associated with the user. These conditions may include the user entering/leaving the merchant's location, a purchase by the user related to the merchant, the browsing history of the user, or other types of conditions.

An existing distribution of reviews for the business across a plurality of review sites is monitored. For example, an apparatus (e.g., a web crawler) may be used to crawl through review and rating sites on the Internet. In another embodiment, the access may be through one or more APIs, but also may be through scraping, JavaScript or any other method of pulling data from such sites. The analytics and data associated with these pre-existing reviews may be used as part of the algorithm implemented in the dynamic review optimizer described below.

The apparatus accesses data from the web and stores this data in a database. In some implementations, review data may be accessed from a source system associated with the merchant. If the user decides to provide a review of the merchant by selecting the dynamic redirection container, a determination is made as to whether the existing distribution of reviews across the review sites correctly quantifies current consumer sentiment about the business. For example, based on several weighted event factors, the user is redirected to a review site to optimize the benefit of that review to the merchant.

In some implementations, once a review is generated through the dynamic redirection container that review may be pulled back into the source system so that it can be monitored with other review currently being monitored. For example, the reviews are “flagged” or otherwise tagged to indicate that the reviews originated from the dynamic review generation dynamic redirection container. The source system can then either automatically or manually update the dynamic review generation algorithm based on how the monitored reviews are meeting the desired optimization parameters specified by the merchant via the weighted event factors.

In alternative implementations, the source system may detect if the reviewer is logged into a particular reviewing site. At this point, the dynamic redirection container may use the weighted event factors to select sites with the highest weighting and then direct the reviewer to a site if they are already logged onto that site. In that regards, the possible destination sites may or may not be for reviews, ads, etc.

FIG.1illustrates an example of a conventional high-level architecture100for optimizing dynamic review generation in accordance with implementations of the disclosure. In some implementations, the architecture includes a central computer (hereinafter “the source system101”) that may include a memory device (not shown) storing a plurality of software modules to implement dynamic review optimizer logic160. The dynamic review optimizer logic160may be, for example, a hardware component, circuitry, dedicated logic, programmable logic, microcode, etc., that may be implemented in a processing device (not shown) of the source system101.

The source system101may be communicatively connected with a merchant system120, potential reviewers via reviewer client devices130(e.g., a mobile phone), a plurality of impression sources (e.g., reviewing sites)150-1through N, and a source system database110. In one implementation, the software modules may be executed on one or more computer platforms of the source system101that are interconnected by one or more networks, which may include the Internet. Each of the reviewing sites150-1through N provides a plurality of modules (e.g., APIs) with which the source system101interacts for carrying out operations and providing relevant data between the source system101, the merchant system120and the reviewer client devices130.

In this example, the source system101allows merchants associated with the merchant systems120to collect, analyze, and monitor consumer feedback data (e.g., reviews/rating etc.) and other types of data from a variety of sources, including first-party reviewing websites (e.g., the merchant's own website or a service provider's website on the merchant's behalf), third-party reviewing websites (e.g., social networking and rating websites), and other sources. A first-party reviewing website150-1may refer to a website maintained by the merchant that is collecting reviews for themselves versus a third-party reviewing website150-2through N, such as Google™, Facebook™, Yelp™, Citysearch™ and so on, that collect reviews of various merchants. In some implementation, an online forum may also be an example of other types of websites that can contain consumer feedback data (e.g., reviews) regarding a business. In one implementation, the reviewing sites150-1through N allow reviewers (e.g., via their client devices130) to post reviews regarding all types of businesses.

In order to access the services of the source system101ofFIG.1, the merchant system120may register for an account with the source system101. In some implementations, merchants may access an API associated with the source system101to enter specific information that may correspond to their business profiles on reviewing sites150-1through N. In other implementations, the merchants may access the source system directly, a web platform or other means. This business profiles information115, may be stored and include, for example, a business name, address, telephone number, a link to a website for the business, a pointer to a map of the location of the business, the business location on a map, a promotional message for the business, and a list of information regarding personal and product offerings of the business, which may include, but not limited to, menus, products services, upcoming and past events, etc. In other implementations, merchants120may access pre-existing reviews from one or more First-Party Review Sites and/or Third-Party Review Sites150-1through N. The access may be through one or more APIs, but also may be through scraping, JavaScript or any other method of pulling data from such sites. The analytics and data associated with these pre-existing reviews may be used as part of the algorithm implemented in the source system101as implemented by the dynamic review optimizer160described below.

A process of collecting consumer-feedback data (e.g., reviews) for a merchant may be initiated in several ways. For example, the source system101may transmit a review request140to the reviewer client device130of a potential reviewer. In some implementations, the review request140may be transmitted via an electronic communication (although other transmission technologies are possible such as text messages, app-push notifications, including the request in a printed receipt received by the reviewer, add the request to an e-commerce cart, etc.). The source system101may receive a list of potential reviewers, for example, from the merchant system120. In some implementations, this list may be received in response to detecting that the reviewer has entered or exited a location associated with the merchant. For example, social networking sites allow reviewers to take actions such as “checking in” to a location. The merchant system120may detect this action and instruct the source system101to transmit a review request140to the reviewer's client device130. In other implementations, the review request140may be sent to the reviewer's client device130based on a purchase or browsing history by a potential reviewer regarding the merchant or other types of reviewer profile information collected by the merchant. In another implementation a merchant may manually select one or more potential reviews and have the source system send review requests to such selected potential reviewers.

The merchant system120may identify potential reviewers and when to send review requests140to those reviewers. This may be activated soon after the reviewer has had an experience at one of the locations associated with the merchant. For example, the reviewer may have performed a check out at a physical store location and then gets an email at a determined time (e.g., 5, 10, 15 minutes) later requesting the reviewer to review that store. In another example, review requests140could be sent based on other factors involving time. In one implementation, a certain number of review requests140could be sent. If in a certain time frame, the reviews generated fall below a certain threshold, additional review requests140could be sent at a later time. In another implementation, one could rate limit the review requests140sent. In one implementation, the review request140may request the reviewer to provide a review of the physical location of the merchant. The source system101allows the merchant to observe the history related to the emailed review requests. For example, the request history may be stored in the system database110in a data table, such as in object115. In some implementations, the data table may include, but not limited to, the following columns:

ColumnContentsEmailThe email address of the contactNameThe first and last name of the contact.LocationStandard location information.DeliveredThe date time the email was delivered. If the emailfailed to deliver, instead this shall display an erroricon and status.Statuses:BouncedOpenedThe date time the email was first opened.ClickedThe date time the link in the email was first clicked.SiteThe site the reviewer was directed to when theyclicked the link.ReviewedThe date time of the review attributed to this email.Last Action TakenAll, Delivered, Opened, Clicked, Reviewed

The review request140may include a dynamic redirection container145link for a reviewer to activate the reviewing process. For example, the dynamic redirection container145may automatically redirect the reviewer's client device to one site over another whether it is a first party reviewing site or a third party reviewing site. The dynamic redirection container145redirects the client device based on an algorithm implemented in the dynamic review optimizer logic160, which takes into account several weighted event factors155-1through N associated with the reviewing sites150-1through N. In one embodiment, the event factors155-1-N may be stored locally, for example, in a table115of the source system database110. In some embodiments, the table115may be indexed by using an identifier for a particular150-1through N, to identify corresponding event factors155-1through N for that site. The dynamic review optimizer logic160is activated when a reviewer clicks on the link indicating that they wish to provide a review. Then, all of the information associated with the weighted event factors155-1through N is analyzed to determine a redirection list165of sites. This redirection list165may be used to determine to where the reviewer should be directed to provide the review. An advantage of using the dynamic redirection container145to redirect the client device is that it allows different delivery mechanisms to be used to transmit the review request140. For example, the dynamic container may be transmitted via text message. In addition, the dynamic redirection container145allows the system to dynamically determine the site to direct reviewers based on the factors that may change from the time the link was sent and at the time the reviewer clicks the link.

In other implementations other aspects of the review request140may be dynamically generated at various stages of the system and method. For example, an email, text message or other transmission technology may be dynamically generated instead of the dynamic redirection container itself. In one embodiment, as soon as a reviewer has an experience at a location associated with a merchant, an email may be automatically and dynamically generated based on an analysis of the plurality of weighted factors. The email or other transmission technology may be adjusted based on the Review Site picked to direct the reviewer to. For example, if Site A is chosen as the optimal review site, the email's branding or design may be created to match the branding or design of Site A. In another embodiment, a merchant may manually choose reviewers to send the review request to. The email, text message or other communication technology may be generated at this point dynamically, for example, from the source system101or Site A (such as one of the online third party review sites150-2through N) which can be triggered to generate a reviewing object145to transmit to the client device130. In other embodiments, instead of a URL, frames, inline links, dynamic HTML, client-side scripting, AJAX, CSS or other means of providing access to a Third Party Review Site150-2through N may be used to provide a reviewer with the ability to leave a review.

If the potential reviewer clicks the dynamic redirection container145to post a review, the source system101may receive a selection indicator. Thereupon, the source system101as directed by the dynamic review optimizer logic160may pull in existing review statistics about the merchant's location on a variety of sites. In another implementation, these review statistics may have already been collected by the dynamic review optimizer logic160that then evaluates or analyzes such collected statistics at this time. Based on some set up by the merchant system120and their existing distribution of reviews across those sites, the source system101may dynamically decide which site to send that reviewer. This may include a site associated with the source system101that collects first-party reviews for the merchant.

A plurality of weighted event factors155-1through N associated with one or more sites150-1through N is analyzed based on the selection and input from the merchant. In some implementations, a web crawler is provided to crawl review sites and rating sites of the web. In this regard, existing review statistics about the merchant's location are pulled from a variety of sites. The web crawler may identify links to other review sites and ratings sites of the data from the Internet. In some implementation, all of the sites identified by the web crawler are monitored. In other implementations, the merchant may choose which sites they want reviews to be monitored and analyzed. In one implementation pre-existing reviews are monitored from the one or more review sites150-1through N through API connections. In other implementations, this data may be scraped, collected via JavaScript or any other mechanism and tools to collect review information from the review sites150-1through N. Based on the analysis of the weighted event factors155-1through N, the dynamic review optimizer logic160redirects the client device to at least one or the reviewing sites from the redirection list145for the reviewer to place a review of the merchant.

The weighted event factors155-1through N are considered in determining which site150-1through N to direct the potential reviewer's device130for placing a review. In some implementations, the merchant via the merchant's system120may adjust the weight given to any factor over another factor. The merchant120may be provided with an interface control for the source system101to manipulate parameters for using any of the event factors155-1through N used to determine which site to direct a potential reviewer. These adjustable event factors155-1through N may include, but not limited to:Knowledge about the potential reviewersLocation of the reviewing siteAmount of traffic at the reviewing siteRecency of the reviewStatistical data regarding a particular reviewing siteExternal information regarding the merchantMerchant reviewing site preferencesOther Factors
Knowledge about the Potential Reviewers

In this example, information collected about specific reviewers associated with the reviewer client device130may also be used. For example, the frequency for which a specific reviewer leaves reviews on specific sites may be considered. If a user leaves reviews on Site A more than Site B, (or is a super user of Site A) the merchant may want to send the reviewer to site A. Additionally, knowledge of a particular user's affiliation with a specific site may be relevant. For example, if it is known that a reviewer is already logged into Site B, that reviewer may be more likely to leave a review on Site B than another site. In another example, if a reviewer is known to leave fake or otherwise objectionable reviews, that user may be flagged. In some instances, the email wouldn't send to such reviewer if the algorithm determines that the reviewer leaves fake reviews.

The information about the potential reviewers may also include reviewer profile information received from the reviewer client device130. In some implementations, this reviewer profile information may indicate certain factors regarding the reviewer that makes it more likely that the reviewer may use one site of the sites150-1through N over another site. This may indicate how likely the potential reviewer is to complete a review at a particular site, for example, based on past reviews posted by the reviewer at that site.

Location of the Reviewing Site

With regards to this factor, the location of the reviewing site150-1though N may refer to sites that the merchant expects consumers to discover them at. These can be popular sites or sites directed to a subject matter associated with the merchant.

The Amount of Traffic at the Reviewing Site

The amount of traffic at a particular one of the reviewing sites150-1though N may refer to a threshold number (set by the merchant) of customers that must visit a particular reviewing site before the merchant wants review request to be directed to that site. This may indicate a site where customers frequently seek information about the merchants. In some implementations, the traffic to the reviewing site may be below a certain threshold. For example, the merchant on one site may have 1,000 reviews with an average rating of 3.6, and on another site the merchant may have 10 reviews with an average is 2.4. In this example, the system may send more reviewing traffic to the site with 10 reviews in order to raise the aggregate rating for that site.

Recency of the Review

The recency of the last review on a particular one of the reviewing sites150-1though N may refer to a merchant's desire to have a concentration of new reviews at a particular reviewing cite to optimize a rating for the merchant at that site. In some implementations, the merchant may indicate its desire to make sure certain reviewing sites have the most recent reviews to scale reviews at the site from a consumer point of view. In some implementations, the merchant can define the most recent reviews as reviews occurring in the last month or some other type of time indicator. In one illustrative example, if a number of reviewers are being sent to other sites for various reasons and a particular site has not received a review in the last month, the system may want to send all recent reviewers to the site.

Statistical Data Regarding a Particular Reviewing Site

Statistical data regarding the reviewing sites150-1through N may be used as a factor in determining which site to direct potential reviewers. For example, a merchant may have received a rating of three-and-a-half (3.5) stars at a certain website and two-and-a-half (2.5) stars at other sites. The dynamic review optimizer may analyze where consumers are leaving reviews and determine an aggregate rating of the merchant across the sites. The dynamic review optimizer may then determine a statistical deviation level based on the data and determine if the ratings on a particular site is outside of a normal level. In this example, more reviewers may be directed to a particular site because if enough reviewers are sent there the rating may raise to a normal level regardless of whether the reviews are positive or negative. For example, if out of 1,000 reviews on one site the average is 3.5, but there are only 10 reviews on the other site with the 2.5 average, by building up the reviewers to 1,000 people this may raise the overall aggregate rating on that site to 3.5 like in the other site.

In some implementations, the dynamic review optimizer logic160may reduce the generation of review requests140for the site with more reviews to test the impact of the reviews on the aggregate rating for the merchant on that site. In this regard, the dynamic review optimizer may use data signals adjust the rating across multiple sites. For example, the merchant may want a 50/50 split of reviews across multiple reviewing sites. Over time the system may adjust the direction of the reviews based on other factors like the entry mechanism for reviews on one site may be easier than another. Thus, the source system101may intuitively learn from the data signals to adjust the split that sends reviewers to a site to generate desirable ratio of reviews across sites.

External Information Regarding the Merchant

Any outlying external factor regarding the merchant may be used as a factor to determining which of the sites150-1through N to direct potential reviewers. For example, if there is some change at the merchant's location that would cause one review site to have low reviews, such as a change in a health code score from an “A” to a “C” for the merchant. This information may be retrieved, for example, from a ratings database from the Department of Health or other sources. The dynamic review optimizer may predict how this external information is going to impact ratings. In such a situation, traffic may be directed to the merchant's first party reviewing site rather than a third party reviewing site to better understand how the company is being presented during the time the merchant's location is impacted. In other situations, requests for reviews may not be set at all to not adversely impact the Merchant's ratings.

Merchant Reviewing Site Preferences

In some implementations, the merchant may indicate their desire for reviews to be on a particular site of the plurality of sites150-1through N. As such, the distribution of reviews may be adjusted so that certain site receives more reviews than others. In some situations, the merchant may prefer for the reviews to be on their first-party site rather than a third-party site because on the third party sites the merchant has less control on how reviews are filtered. In some situations, the merchant may want to push low rating reviews off of a front page of a reviewing website by pushing more positive reviews. For example, it is common with reviewing sites to show a number of reviews (e.g., five) and then there is a paging function to click to the next page to see more reviews. Some merchants may have a preference that if there is a one star review in the last five reviews, the dynamic review optimizer may send more people to the reviewing site so as to push that one-star review to the second or latter page. Thus, the higher rated reviews are the first thing someone sees if they go to that reviewing website.

In one illustrative example, the merchant may configure the dynamic review optimizer logic165for certain reviewing sites and apply a weighting for each site. First, the merchant may add a number of sites for sending review requests and then adjust a ratio for each site. In some implementations, the merchant may choose one or more options related to this ratio, such as avoid 1-star reviews in the five most recent first party reviews or matching logged in reviewers to sites. The merchant may then save these options so that the dynamic review optimizer may use the options to decide on how to route reviews when a reviewer clicks on a link associated with a review request.

In some implementations, the method and system may also be used to generate review requests140for other types of information instead of just reviews. For example, a merchant may be able to use a dynamic redirection container145or other mechanism to dynamically direct a customer to a website to check to ensure if the location data of such merchant is correct on such site. In another example, the techniques of the present disclosure may dynamically send a customer to a location-specific site based on a variety of weighted factors. In another implementation, instead of generating a request, a merchant may be able to use the weighted factors to generate an email specific to a location of a merchant most directly applicable to such customer.

FIG.2illustrates is an example system200including memory204for optimizing dynamic review generation in accordance with one or more aspects of the disclosure. The system200may be executed on one or more computer platforms interconnected by one or more networks, which may include the Internet. In some embodiments, memory204may a system database (such as database110), or a storage system comprising the system database. A central computer platform (hereinafter “the source system201a”) includes a system database204and a plurality of software modules210,220,230,240,250and260that are communicatively connected with one or more merchants203, and a plurality of service provider computer platforms (hereinafter “the service provider system(s)201b”).

Each of the service provider computer platforms201bprovides a plurality of modules270,280with which the source system201ainteracts for carrying out operations and providing provider stored reviews data280between the source system201aand the service provider computer platforms201bregarding posted reviews from, for example, a potential reviewer207at a physical merchant location215. Although reviewer207is shown inFIG.2at the merchant location215, the reviewer207may be at another location not associated with the merchant203when providing reviews about the merchant203.

The system200allows the merchants203to collect, analyze, and monitor consumer feedback data (e.g., reviews/rating etc.) and other types of data from a variety of sources including the service provider computer platforms201b(e.g., the merchant's own website or a service provider's website on the merchant's behalf) to achieve an optimal distribution of reviews across the numerous reviewing sites. The source system201amay receive a list of potential reviewers, such as reviewer207. In some implementations, this list may be received in response to detecting that the reviewer207has entered or exited the merchant location215. For example, social networking sites allow reviewers to take actions such as “checking in” to a location. In other implementations, the list of potential reviewers may be based on a purchase or browsing history by the reviewer207regarding the merchant203or other types of reviewer profile information collected by the merchant203. In another implementation, the merchant203may manually select one or more potential reviews for the source system201ato send review requests to such to reviewer207.

To access the services of the system200, the merchant203may be provided with an operator web application210. The operator web application210allows the merchant203to review, develop and adjust an algorithm used for determining where the reviewer207should be directed to provide the review. In this regard, the operator web application210may allow the merchant203to input several types of distribution parameters for optimizing the distribution of reviews. These distribution parameters may include, for example, weighted values assigned to certain reviewing sites, a number of review requests to send during a given time period, timing for the review requests, a target distribution of reviews to store at each site, recency of the reviews as well as other distribution parameters to balance and optimize a distribution of the reviews. Further aspects of the operator web application210as discussed with respect toFIGS.4A,4B,5A and5B.

With respect toFIG.2, the system200includes a review generator220. The review generator220may implement the dynamic review optimizer logic160ofFIG.1. The dynamic review generator220takes into account several weighted event factors associated with the reviewing sites of the service provider computer platforms201band the distribution parameters specified by the merchant203via the operator web application210. Based on this information, the dynamic review generator220generates a dynamic redirection container235link for a reviewer207to activate the reviewing process. For example, the dynamic redirection container235redirection container235may automatically redirect the reviewer's207client device to one site over another site associated with the service provider computer platforms201b.

The dynamic review generator220may instruct the review transmitter230to transmit the dynamic redirection container235to reviewer207via their client device. The review transmitter230may transmit the dynamic redirection container235in, for example, a review request using several types of techniques. For example, the dynamic redirection container235may be transmitted via an electronic communication, such as a text message, email, app-push notifications, etc. In other implementations, the dynamic redirection container235may be transmitted in a printed receipt received by the reviewer207or added to an online cart, etc.

If the reviewer207clicks on or enter the dynamic redirection container235into their client device to post a review, the source system201amay receive a selection indicator217. This selection indicator217may include relevant data regarding the reviewer235, such as browsing history, location, purchasing history as well as other relevant information of the reviewer235. The source system201amay then instruct the weighted event engine240to pull in existing review statistics about the merchant's location on a variety of sites associated with the service provider computer platforms201b. In another implementation, the weighted event engine240may have already been collected review statistics from the sites of the provider computer platforms201bthen evaluates or analyzes such collected statistics. In this regard, the weighted event engine240may access specific provider application program interfaces (APIs)270to collected review statistics regarding provider reviews280stored at the service provider computer platforms201b. In another implementation, the review statistics may be stored in the source system201adatabase204or another database.

The weighted event engine240elevates the collected review statistics and information from the review generator regarding the merchant's specified distribution parameters to identify or otherwise produce a plurality of weighted event factors for each of the sites in the service provider computer platforms201b. The weighted event factors relate to a cross section of the reviewing sites to ensure that the reviews reflect the most current consumer sentiment about the merchant203. In accordance with the weighted event factors, the weighted event engine240redirects the reviewer's client device to at least one site of sites API270to be perceived by the reviewer207as being associated with the dynamic redirection container235. In some implementations, the weighted event engine240may produce a redirection list that lists the potential sites, URLs, or other network address to redirect the reviewer's client device. This redirection list may be stored, for example, in a database of memory204. Based on the weighted event factors for each site, the weighted event engine240may then select a site view the provider APIs to redirect the reviewer207so that they can place a review at that site associated with the service provider computer platforms201b.

Several different weighted event factors may be used to determine where the reviewer's client device will be redirected. For example, if the weighted event factor for a particular site in below a certain threshold value, the reviewer's client device may be redirected to that site (e.g., to a provider API270) so that reviews on the site can meet the threshold. This threshold value may represent, for example, a target distribution of reviews that the merchant' desires to be stored at the site based on present reviews stored thereon. In some implementations, a client device of the reviewer207may be redirected to a particular site if it is determined that the weighted event factor that site meets a recency of reviews for the merchant stored thereon. In some implementations, if it is determined that the weighted event factor for the site is below a target review rating for the merchant, the reviewer207may be redirected to the site. In other implementations, if it is determined that the weighted event factor for the site meets a priority indicator specified by the merchant203in the distribution parameters, the reviewer207may be redirected to the site to place a review. This may indicate the merchant's203preferences for reviews to be placed at a certain site over other sites associated with the service provider computer platforms201b.

Once a review is generated through the dynamic redirection container235that review may be pulled back into the source system201aso that the dynamic review monitor250can monitor it with other reviews currently being monitored. For example, the dynamic review monitor250may retrieve the provider stored review data280via the provider API270. The review data left by the reviewer207may be located based on identifying information associated with the reviewer207that was transmitted to the source system201avia the selection indicator217. In other implementations, the review data may include a specific flag or marker when it is generated based on the dynamic redirection container235transmitted to the client device207.

Once the reviews are “flagged” or otherwise tagged to indicate that the reviews ordinated from the dynamic review generation dynamic URL, the dynamic review monitor250can then either automatically or manually update the review generator220based on how the monitored reviews are meeting the desired optimization (e.g., distribution parameters specified by the merchant203. For example, the dynamic review monitor250may transmit weight adjustments255or otherwise update the weighted event factors generated by the weighed event engine to take into account the monitored reviews. For example, the weight adjustments255may increase or decrease the weighted value given to certain weighted event factors.

In some implementations, the source system201amay detect if the reviewer207is already logged into a particular reviewing site, such as the merchant's site or a third party reviewing site. For example, the login verifier260may access the provider API(s)270to determine whether the reviewer207is currently logged in. In some embodiments, the login verifier260may examine the browsing history of the reviewer207received in the selection indicator217to determine whether the reviewer207is logged into or has recently logged into a particular site. At this point, the login verifier260may instruct the review generator220to use the weighted event factors to select sites with the highest weighting and then redirect the reviewer207via the dynamic redirection container235to a particular site if they are already logged onto that site.

FIG.3illustrates an example interface portal300to support optimizing dynamic review generation for redirecting request in accordance with one or more aspects of the disclosure. In some implementations, the interface portal300may correspond to a portal of the operator Web application210ofFIG.2. The interface portal300provides an example interface in which merchants, such as merchant203, can develop and adjust an algorithm used for determining where the reviewer, such as reviewer207, should be directed to provide the review. In this regard, the operator web application210may allow the merchant to input several types of distribution parameters for optimizing the distribution of reviews. These distribution parameters may include, for example, weighted values assigned to certain reviewing sites, a number of review requests to send during a given time period, timing for the review requests, a target distribution of reviews to store at each site, recency of the reviews as well as other distribution parameters to balance and optimize a distribution of the reviews.

in some implementations, the interface portal300may include several panels that include a review generation panel310, an algorithm settings panel320and a general settings panel330. The review generation panel310displays the target distribution312of reviews for the merchant by site314. This may include an assigned weight value316given to each site as specified by the merchant. For example, the weight318may be a value between a certain range (e.g., 1-5) where lower value weights are given less preference for distributing reviews to than to higher value weighted sites. The algorithm settings panel320allows the merchant to configure the algorithm322and balancing optimization of settings used for the targeted distribution312. The general settings330allows the merchant to set distribution parameters which include, but not limited to, a maximum number of review request to send332, enabling 1stparty (e.g., merchant) submission pages334, quarantine new 1stparty reviews336and override privacy policy rules338.

With respect toFIG.4A, an example dashboard interface400is shown. In some implementations, the interface portal300may correspond to a portal of the operator Web application210ofFIG.2. The dashboard interface400provides an example interface in which merchants, such as merchant203, can review the results of generating reviews to solve various problems specified by the merchant, such as merchant203, for optimizing the distribution of reviews. In some implementations, the dashboard interface400may display certain results, such as top sites distribution graph410for specified sites420, displaying the listings with low ratings430, listings with no recent reviews440, and locations with recent 1-star first party reviews450. Based on the results, the merchants can update settings for the generated rating distribution470. In some implementations, the dashboard interface400may also provide the merchants with way to monitor reviews generated through the dynamic redirection container235. For example, the reviews may be pulled back into the source system201aand displayed in a generated review panel480of the dashboard interface400. Advantages of the generated review panel480is that is allows the merchant to monitor certain reviews490along with other reviews generated through the dynamic redirection container235.

With respect toFIG.4B, an example portal401to support optimizing dynamic third party review generation for transmitting redirection request links is shown. In some implementations, the portal401may correspond to a portal of the operator Web application210ofFIG.2. The portal401provides an example interface in which merchants, such as merchant203, may determine how to allocate one or more review requests by creating one or more distributions409(e.g., distribution parameters) to generate and transmit one or more review requests to a potential reviewer's client device. For example, the merchant203may activate a control402to create a new distribution409. In some implementations, a distribution409may be created for each location associated with the merchant203. In other implementations, the merchant203activates a second control407to set a default distribution for an account of the merchant203. In other implementations, the portal401may include a location edit control that allows the user to set a default distribution for the location of the merchant203. The distributions409may include a first party destination site (such as site associated with the source system201a), one or more partner destination sites404(such as registered data partner of the source system201a), other type of destination sites408or any combination of the three types thereof.

In some implementations, the distributions409are used to balance a distribution of online reviews for the merchant203by indicating which site to trigger to send a review invitation to a potential or set of reviewers. For example, the merchant203may chose weights4051-5for each destination4031-5where the weights4051-5indicate a percentage distribution of reviews per destination site. The weights4051-5may be assigned by using a slider415or manually typing in a percentage into the operator web application. The slider415can be implemented with keyboard controls (for example, by pressing the left/right arrows to increment a corresponding percentage increase or decrease in the weights4051-5. In response to adding or removing a destination from a distribution set, the portal401may reallocate that destination's percentage to equally amongst the other destinations. If the total percentage of the destinations in a particular distribution does not equal 100 percent, the portal410may generate an error when the set is saved. In other implementations, weighted event factors155-1through N may be used to determine which destination403should be sent the review request.

FIG.5Aa flow diagram of a method501in accordance with one or more aspects of the disclosure. In one implementation, processing device201aofFIG.2as executed by the dynamic review optimizer logic160ofFIG.1may perform method501to optimize dynamic review generation for redirecting request links or to transmit a reviewing object235. The method501may be performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), or a combination of both. Alternatively, in some other implementations, one or more processors of the computer device executing the method may perform routines, subroutines, or operations may perform method501and each of its individual functions. In certain implementations, a single processing thread may perform method501. Alternatively, two or more processing threads with each thread executing one or more individual functions, routines, subroutines, or operations may perform method501. It should be noted that blocks of method501depicted inFIG.5Acan be performed simultaneously or in a different order than that depicted.

Referring toFIG.5A, at block502, method501receives an indication to generate an online review for a client device130associated with a location215of a merchant203. For example, this indication may include a list of client devices (e.g., client device130) of reviewers207that have entered or exited a location215associated with a merchant203. In some implementations, the indications may come from a social networking site that allows a reviewer207to take an action such as “checking in” to a location. The merchant system120may detect this action or receive a signal from the social networking site. In other implementations, the indication may be based on a purchase or browsing history by a potential reviewer regarding the merchant or other types of reviewer profile information collected by the merchant203. In other implementations merchant203may choose the one or more client devices130, and the indication may be such choice itself.

In block503, one or more weighted event factors associated with the merchant are determined in response to receiving the indication. For example, a plurality of weighted event factors155-1through N associated with one or more sites150-1through N that include third-party websites are identified. In one embodiment, the event factors155-1-N may be stored locally, for example, in a table115of the source system database110. The weighted event factors155-1through N are considered in determining which site150-1through N to direct the potential reviewer's device130for placing a review. In some implementations, the merchant via the merchant's system120may adjust the weight given to any factor over another factor. The merchant120may be provided with an interface control for the source system101to manipulate parameters for using any of the event factors155-1through N used to determine which site to direct a potential reviewer.

One or more distribution parameters specified by a merchant system are selected in block504based on the weighted event factors for the merchant. For example, distribution parameters are used to balance and optimize a distribution of online reviews for the merchant. Based on some distribution parameters set up by the merchant system120and their existing distribution of reviews across those sites, the source system101may dynamically decide which site to trigger to send a review invitation to that reviewer. In some implementations, an operator web application210may allow the merchant203to input and adjust several types of distribution parameters for optimizing the distribution of reviews. For example, the merchant203may chose weights for each destination by using a slider or manually typing in a percentage into the operator web application.

An online third party review site is identified by block506based on the distribution parameters. For example, the distribution parameters are used to balance and optimize a distribution of online reviews for the merchant203. In some implementation, a single online third party review site may be identified to send a single invite. In other implementations, multiple sites may be identified for send a bulk number of invitations to reviewers. For example, the source system201amay allocate invitations based on chosen distribution parameters. In one example, a bulk number of invitations may be split according to the distribution parameters specified by the merchant203. If a certain contact type (e.g., email/SMS) for the invitations is only valid for certain target sites identified by the distribution parameters, the invitations are distributed accordingly between those sites that support the contact type.

In block506, method501causes the online third party site to transmit a reviewing object to the client device for posting the online review of the location of the merchant. For example, the reviewing object may be a dynamic redirection container145for an online review request140for a review of a merchant205. In some implementation, the dynamic redirection container145may be, but not limited to a computer readable object comprising dynamic URL, text message or other types of controls for redirecting the display of a user's client device to a particular Internet resource. In some implementations, method501may trigger the online third party site to send the reviewing object by using, for example, a provider API270. For example, a service provider computer platforms201bassociated with the online third party site provides a plurality of modules270,280with which the source system201ainteracts for carrying out operations for triggering the generation of the reviewing objects. In some implementations, the method501may provide via the provider API270a list of client devices or other identifying information of the reviewers for the online third party site to transmit a reviewing object.

FIG.5Billustrates a flow diagram of a method500in accordance with one or more aspects of the disclosure. In one implementation, processing device201ofFIG.2as executed by the dynamic review optimizer logic160ofFIG.1may perform method500to optimize dynamic review generation for redirecting request links. The method500may be performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), or a combination of both. Alternatively, in some other implementations, one or more processors of the computer device executing the method may perform routines, subroutines, or operations may perform method500and each of its individual functions. In certain implementations, a single processing thread may perform method500. Alternatively, two or more processing threads with each thread executing one or more individual functions, routines, subroutines, or operations may perform method500. It should be noted that blocks of method500depicted inFIG.5can be performed simultaneously or in a different order than that depicted.

Referring toFIG.5B, at block510, method500creates a dynamic redirection container145for an online review request140for a review of a merchant205. In block520, the dynamic redirection container145is transmitted to a client device of a user207at the physical location215. A confirmation217is received from the client device130in block530that the dynamic redirection container is activated by the user. In block540, one or more weighted event factors155-1through N associated with a plurality of sites150-1through N are identified based on the received confirmation217and distribution parameters300specified by a merchant system120for the merchant205. In block550, the client device130is redirected, in accordance with the weighted event factors155-1through N, to at least one site of the plurality sites150-1through N as being associated with the dynamic URL230.

FIG.6illustrates a flow diagram of a method600for in accordance with one or more aspects of the disclosure. In one implementation, processing device201ofFIG.2as executed by the dynamic review optimizer logic160ofFIG.1may perform method600to modify optimized dynamic review generation for redirecting request links. The method600may be performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), or a combination of both. Alternatively, in some other implementations, one or more processors of the computer device executing the method may perform routines, subroutines, or operations may perform method600and each of its individual functions. In certain implementations, a single processing thread may perform method600. Alternatively, two or more processing threads with each thread executing one or more individual functions, routines, subroutines, or operations may perform method600. It should be noted that blocks of method600depicted inFIG.6can be performed simultaneously or in a different order than that depicted.

Referring toFIG.6, at block610, method600receives a confirmation indicator217from a client device130based on a dynamic redirection container145transmitted to the client device130, the dynamic redirection container145is associated with a request140for an online review of a merchant205. In block620, one or more weighted event factors155-1through N associated with a plurality of sites150-1through N are identified based on the confirmation indicator137and distribution parameters300specified by the merchant205. In block620, the client device130redirect, in accordance with the weighted event factors155-1through N, to at least one site of the plurality sites150-1through N to be perceived by a user207as being associated with the dynamic redirection container145. In block620, the weighted event factors155-1through N are updated based on review data260for the merchant205posted by the redirected client device130.

FIG.7illustrates a flow diagram of a method700in accordance with one or more aspects of the disclosure. In one implementation, processing device201ofFIG.2as executed by the dynamic review optimizer logic160ofFIG.1may perform method700to optimize dynamic review generation for redirecting request links based on user login information. The method700may be performed by processing logic that may comprise hardware (circuitry, dedicated logic, etc.), software (such as is run on a general purpose computer system or a dedicated machine), or a combination of both. Alternatively, in some other implementations, one or more processors of the computer device executing the method may perform routines, subroutines, or operations may perform method700and each of its individual functions. In certain implementations, a single processing thread may perform method700. Alternatively, two or more processing threads with each thread executing one or more individual functions, routines, subroutines, or operations may perform method700. It should be noted that blocks of method700depicted inFIG.7can be performed simultaneously or in a different order than that depicted.

Referring toFIG.7, at block710, method700receives a confirmation indicator217from a client device130based on a dynamic redirection container145transmitted to the client device130. In block720, one or more weighted event factors155-1through N associated with a plurality of sites150-1through N are identified based on the confirmation indicator217and a set of input parameters320-340specified by the merchant205. It is determined in block730that a user207associated with the client device130is logged onto one or more sites290of the plurality of sites150-1through N. In block740, the client device130, based on the weighted event factors155-1through N, is redirected to at least one of the logged onto sites associated with the dynamic redirection container145.

FIG.8illustrates an example computer system800operating in accordance with some embodiments of the disclosure. InFIG.8, a diagrammatic representation of a machine is shown in the exemplary form of the computer system800within which a set of instructions, for causing the machine to perform any one or more of the methodologies discussed herein, may be executed. In alternative embodiments, the machine800may be connected (e.g., networked) to other machines in a local area network (LAN), an intranet, an extranet, or the Internet. The machine800may operate in the capacity of a server or a client machine in a client-server network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a personal digital assistant (PDA), a cellular telephone, a web appliance, a server, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that specify actions to be taken by that machine800. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.

The Example computer system800may comprise a processing device802(also referred to as a processor or CPU), a main memory804(e.g., read-only memory (ROM), flash memory, dynamic random access memory (DRAM) such as synchronous DRAM (SDRAM), etc.), a static memory806(e.g., flash memory, static random access memory (SRAM), etc.), and a secondary memory (e.g., a data storage device816), which may communicate with each other via a bus830.

Processing device802represents one or more general-purpose processing devices such as a microprocessor, central processing unit, or the like. More particularly, the processing device may be complex instruction set computing (CISC) microprocessor, reduced instruction set computer (RISC) microprocessor, very long instruction word (VLIW) microprocessor, or processor implementing other instruction sets, or processors implementing a combination of instruction sets. Processing device802may also be one or more special-purpose processing devices such as an application specific integrated circuit (ASIC), a field programmable gate array (FPGA), a digital signal processor (DSP), network processor, or the like. Processing device802is configured to execute dynamic review optimizer logic160for performing the operations and steps discussed herein. For example, the processing device802may be configured to execute instructions implementing method500, method600and700, for optimizing dynamic review generation for redirecting request links, in accordance with one or more aspects of the disclosure.

Example computer system800may further comprise a network interface device822that may be communicatively coupled to a network825. Example computer system800may further comprise a video display810(e.g., a liquid crystal display (LCD), a touch screen, or a cathode ray tube (CRT)), an alphanumeric input device812(e.g., a keyboard), a cursor control device814(e.g., a mouse), and an acoustic signal generation device820(e.g., a speaker).

Data storage device816may include a computer-readable storage medium (or more specifically a non-transitory computer-readable storage medium)824on which is stored one or more sets of executable instructions826. In accordance with one or more aspects of the present disclosure, executable instructions826may comprise executable instructions encoding various functions of the dynamic review optimizer logic160in accordance with one or more aspects of the present disclosure.

Executable instructions826may also reside, completely or at least partially, within main memory804and/or within processing device802during execution thereof by example computer system800, main memory804and processing device802also constituting computer-readable storage media. Executable instructions826may further be transmitted or received over a network via network interface device822.

While computer-readable storage medium824is shown as a single medium, the term “computer-readable storage medium” should be taken to include a single medium or multiple media. The term “computer-readable storage medium” shall also be taken to include any medium that is capable of storing or encoding a set of instructions for execution by the machine that cause the machine to perform any one or more of the methods described herein. The term “computer-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories, and optical and magnetic media.

Some portions of the detailed descriptions above are presented in terms of algorithms and symbolic representations of operations on data bits within a computer memory. These algorithmic descriptions and representations are the means used by those skilled in the data processing arts to most effectively convey the substance of their work to others skilled in the art. An algorithm is here, and generally, conceived to be a self-consistent sequence of steps leading to a desired result. The steps are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities take the form of electrical or magnetic signals capable of being stored, transferred, combined, compared, and otherwise manipulated. It has proven convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, characters, terms, numbers, or the like.

It should be borne in mind, however, that all of these and similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise, as apparent from the following discussion, it is appreciated that throughout the description, discussions utilizing terms such as “identifying,” “determining,” “creating,” “transmitting,” “receiving,” “producing,” “redirecting,” “updating,” “generating” or the like, refer to the action and processes of a computer system, or similar electronic computing device, that manipulates and transforms data represented as physical (electronic) quantities within the computer system's registers and memories into other data similarly represented as physical quantities within the computer system memories or registers or other such information storage, transmission or display devices.

Examples of the present disclosure also relate to an apparatus for performing the methods described herein. This apparatus may be specially constructed for the required purposes, or it may be a general-purpose computer system selectively programmed by a computer program stored in the computer system. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk including optical disks, CD-ROMs, and magnetic-optical disks, read-only memories (ROMs), random access memories (RAMs), EPROMs, EEPROMs, magnetic disk storage media, optical storage media, flash memory devices, other type of machine-accessible storage media, or any type of media suitable for storing electronic instructions, each coupled to a computer system bus.

The methods and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the required method steps. The required structure for a variety of these systems will appear as set forth in the description below. In addition, the scope of the present disclosure is not limited to any particular programming language. It will be appreciated that a variety of programming languages may be used to implement the teachings of the present disclosure.

It is to be understood that the above description is intended to be illustrative, and not restrictive. Many other implementation examples will be apparent to those of skill in the art upon reading and understanding the above description. Although the present disclosure describes specific examples, it will be recognized that the systems and methods of the present disclosure are not limited to the examples described herein, but may be practiced with modifications within the scope of the appended claims. Accordingly, the specification and drawings are to be regarded in an illustrative sense rather than a restrictive sense. The scope of the present disclosure should, therefore, be determined with reference to the appended claims, along with the full scope of equivalents to which such claims are entitled.