Ask every customer for a review at the right moment, route unhappy ones to recovery instead of the public internet, and reply to all of them.
Bring your stack to a call and we will scope it against how your business actually runs.
Book a callMost businesses ask for reviews the way they ask for anything they are embarrassed about: rarely, late, and only when someone remembers. The pattern is almost universal: a burst of twelve reviews from the week the owner decided to care, then eight months of silence, then another burst. The public result is a profile that looks abandoned and a rating shaped entirely by self-selection, because the only people who post unprompted are the ones who had an unusually bad time. The business has hundreds of satisfied customers and a star rating built from the dozen angriest.
The operational failure underneath is timing. Goodwill has a half-life measured in hours. The moment a job is finished, a treatment is done, or a problem is solved, the customer feels something specific and is holding their phone. Twenty-four hours later they feel nothing in particular. A week later, asking feels like an imposition and converts at a fraction of the rate. Nobody can hit that window reliably by hand, because hitting it means asking within minutes of a service ending, every single time, for every customer, including the ones who finished at 5:55pm on a Friday.
The money leaks in two directions at once. Upstream, rating and review volume are inputs to local search visibility and to the click-through rate of listings you are already paying to appear in. A weak profile quietly taxes every other channel you run. Downstream, a bad experience that goes straight to a public platform costs far more than the same complaint routed privately, because a private complaint is a fixable service failure while a public one-star is a permanent asset working against you. The gap between those two outcomes is a single branch in a workflow: ask how it went before you ask for a review, and send the two answers down different paths.
A dedicated Review & Recovery pipeline, so review state is visible and nobody has to guess who was asked:
review-eligible, review-requested, review-promoter, review-detractor, review-posted, recovery-open, recovery-resolved, review-no-response, review-suppressed, review-ask-cap-hit.
BO handles two jobs here, and only two:
Guardrails: never offer, hint at, or discuss any discount, refund, credit, gift, or compensation in exchange for a review. This is the one line that can get a profile penalized and a business reputation damaged. Never ask a detractor to post publicly. Never post a reply without human approval. Never argue with a reviewer. Never reference a specific service, treatment, condition, or account detail in a public reply. Escalate immediately on any mention of legal action, safety, discrimination, or a regulator.
Trigger: Appointment marked complete, invoice marked paid, or opportunity moved to a closing stage. Whichever event genuinely means “the service is finished” in your business. Pick one and only one, or you will double-ask.
Entry conditions (all must be true):
Actions, in order:
Exit conditions: rating submitted; review_posted becomes true; any opt-out tag applied; suppress_review_requests set true; review_request_count reaches 3.
Trigger: Rating survey submitted, or a rating link tapped.
Actions:
The rule that makes this build legitimate: the branch decides which page someone sees, not whether they are allowed to review you. Anyone can find your public profile; the private route is offered first because it is a better outcome for both sides. Never block, delay, or filter access to a public platform, never make a public review conditional on a rating, and never offer anything of value in exchange for one.
Trigger: Tag review-promoter added.
Platform routing: use review_platform_target to spread requests across the profiles you need, rather than sending everyone to one. Route by location, by service, or on a rotation, but never send the same person to two platforms in one cycle.
Trigger: Tag review-detractor added.
Exit: resolved and closed by a human; customer requests no further contact; record moved to Suppressed.
Trigger: Record has been in Feedback Requested for 24 hours with feedback_rating empty.
Exit: any rating submitted; any opt-out; review_request_count reaches 3.
Trigger: New review detected on any connected platform.
Trigger: review_public_rating = 5 and the review body is longer than 15 words.
Hard rule: never publish a reviewer’s full name, photograph, service detail, or any other identifying information without their explicit written permission, and never at all in a regulated setting where the review implies the nature of their care.
Triggers: any of: complaint logged, refund issued, dispute opened, account flagged, contact requests no contact, do-not-contact applied, or a staff member manually ticks suppress_review_requests.
Run a monthly audit workflow that lists anyone asked more than three times in 180 days, anyone asked while suppressed, and any recovery open longer than 72 hours. Each of those is a build fault, not a customer problem: fix the condition, not the record.
Every build on this page is something we configure, test and hand over with the SOPs your team needs to run it.
Book a call