How a review request travels
A review request is one invitation to one customer to tell you about one visit. By text it is a short conversation: the first text asks for a number from 1 to 5, the customer replies, and one text with a link answers the rating. By email it is five stars to tap, each a link that records its rating. A walk-in scans the QR code at the register. This is the path from a sale to a review, and the status a request carries along the way. Once it has gone out (or been scanned), a request is listed under Asked on Reviews until the customer answers it; after that it shows as the row of what they said, and the ask and everything after it are in that row's thread.
1. A sale creates the request
Most requests come from the Dutchie transaction sync. Every 15 minutes, for organizations with Enable automatic transaction sync on, BudLogix pulls completed sales and creates a request for each customer. Without Reputation on your plan the sales are still pulled, because other screens use them, but no request is created. Requests can also be created by hand with Send Review Request, or in bulk with Import Orders, which follows the same rules as the sync. A purchase never opts anyone in to texts.
A walk-in who scans the QR code at the register starts a request of their own: no customer, no order, nothing sent, status Opened from the start, and the same 14-day link. None of the rules below apply to it, and it is counted as by QR code on the Today line. See Print the review QR card.
A sale is not asked about when, in this order:
- it was voided, or is a return,
- the buyer is staff: Dutchie marks the customer as an employee, an employee is linked to the customer record on Loss Prevention, or the customer is in the staff discount group,
- it is under Smallest sale to ask about (0, off, unless your store set one),
- the customer chose "Don't ask me again" on the review page, which lasts for good,
- the customer already has a request that is Queued, Sent or Opened, or one that failed in the last 24 hours,
- the customer is inside a wait set under When to Ask in Review Management Settings: 30 days after any request that went out, 60 after a rating below Send to Google from, 90 after a Google review matched to them (a request that failed starts no wait),
- neither a text nor an email can reach them (see step 2).
Giving feedback no longer stops a customer from ever being asked again; the waits decide instead. Each reason is counted on the Asked today line of Reviews.
The request starts as Queued, timed for 30 to 45 minutes after the sale (a random delay per request, counted from the sale, not from the sync). When that falls outside store hours, or before noon on a Sunday (store time), it moves to the next allowed time plus the same delay; a sale a few minutes before closing is asked after the next opening. Texts are then spaced like every other (below).
Every request carries an eight-character token (requests made before late September 2026 have four characters, and their links still work); the customer's link is /r/ and that token, on BudLogix's short link address when one is set up, otherwise on your site address. The link expires 14 days after the request is created.
2. The message goes out
A customer gets a text only when they have agreed to texts and their number can receive one. Agreed means opted in by one of: their text preference in Dutchie, the customer texting START (Leafbuyer route), someone at the store switching their Opt-in on, or an SMS Opt In column in a customer import. A customer shown as opted in with none of those behind it (every new customer was opted in by default from January to September 2026) is not texted. A customer created in Dutchie at the counter and first seen by BudLogix in that sale has no Dutchie text preference yet, so their request is queued as an email. When it comes due, BudLogix asks Dutchie once for the preference of every customer changed since an hour before the sale (one read serves every request of your store coming due within a few minutes), and a customer who agreed to texts in Dutchie is texted instead. Everyone else with an email gets the request by email, unless they unsubscribed. A customer with neither is skipped.
The channel of a request made by the sync or Import Orders is decided again as it comes due, so it can move either way: to a text as above, or to an email when texting was switched off meanwhile. The request then shows the channel it finally went on and, for an email, why. It becomes Failed with nothing sent when the sale was voided or returned since, or the customer chose "Don't ask me again" since. A request made with Send Review Request keeps the channel chosen there.
A customer who has agreed to texts is also asked by email, rather than skipped, while texting cannot go out for your store: transactional SMS is switched off in SMS Provider Settings, or, when Leafbuyer carries your texts, your store's Leafbuyer texting campaign is not approved yet. This applies to the transaction sync and to Import Orders alike. Send Review Request refuses a text to a customer who has not agreed, and an email to one who unsubscribed.
The first text is fixed wording, shown on Review Management Settings: "Hi" and the customer's first name (or "Hi there"), "thanks for stopping by" your store's texting name ("today" when it goes on the day of the visit), "How was your visit? Reply 1-5 (5 = great). Reply STOP to opt out." It has no link. The SMS footer is not added to it, because it already says how to opt out. The email subject is "How was your visit to" and your store name; the email carries five star links and the page's link (see What the customer sees).
An SMS goes at its time: for the sync and Import Orders the ask time above, for Send Review Request at once while the store is open, otherwise at the next opening time set under Store hours on the Organization profile. With no store hours set, only the Sunday-morning rule holds an automatic ask back. Either way, one store's texts are spaced a little under a second apart, at most 70 a minute and 1,950 a day, so the requests that build up overnight go out one after another from opening rather than all at once. Past 1,950 in a day, the rest wait for the next day's opening. An email from the sync or an import waits for the same ask time; one from Send Review Request goes at once.
Each request is sent once. A request that is no longer Queued when its turn comes, or whose link expired while it waited, is not sent.
When the message is delivered the request becomes Sent. It becomes Failed when the provider rejects it. Consent is checked again at the moment of sending, so a request also becomes Failed, with nothing sent, when the customer has stopped agreeing to texts, their number is known not to take texts, or they unsubscribed from review emails since it was queued. The same happens when your plan no longer includes Reputation. A send that fails at the provider is not tried again.
A customer who has only a phone, or whose email is unsubscribed, is skipped while texting cannot go out: no request is made, and switching texting back on does not send for the sales that went by in the meantime.
When a request goes by email to a customer who has a phone number, the request records why, and the thread on Reviews shows it under Asked by email: "Not a text: texting is switched off", "Not a text: this store's texting campaign is not approved yet", "Not a text: the customer has not agreed to texts", or "Not a text: the number cannot take texts". Requests made by Send Review Request, and requests made before this reason was recorded, show no such line.
A request that failed holds the next one off for 24 hours, so a spell of trouble at the provider does not ask the same customer again on every visit.
Stopping the messages
On the Leafbuyer text route, a customer who replies STOP (or a similar word) to any text is opted out of texts, and so is a number the carrier reports as stopped. That stays in force whatever Dutchie says later; only the customer texting START, or someone at the store switching their Opt-in back on, reverses it. Every review email has an Unsubscribe link in its footer; clicking it shows "You won't get review emails from" your store and stops review emails to that customer.
3. The customer replies to the text
A reply to the first text within 7 days of the request counts toward it, while it is still Sent or Opened and not yet rated. It is read like this:
- A number from 1 to 5 - the reply "5", or a short reply built around one number such as "5!", "4 stars", "a 5" or "5/5", is the rating.
- Anything else - "I waited 5 minutes", "loved it", a question - is read once by AI, in the background. It says what the customer meant (a rating, praise, a complaint, a question, a wish to stop texts, or something else), the rating it implies if any, the sentiment and how sure it is. Phone numbers and email addresses in the reply are masked first, and the AI is given only the reply and your store name. Its rating counts only when it is at least 80% sure and the rating fits: praise with 4 or 5 stars, a complaint with 1 to 3. A reply it reads as "stop texting me" opts the customer out of texts, as STOP does, however sure it is. The AI never writes a text; every text that goes out is fixed wording.
Every reply is kept with the customer's texts, whatever it said. A reply that is not a rating sends nothing back. When the AI cannot be reached, the reply is treated the same way.
4. The rating
However the rating arrives - a reply, a star tapped in the email, or a tap on the page - it is recorded on the request once: the request becomes Submitted Internal, and an internal review is created with the rating and a sentiment from the stars alone. A later reply or tap changes nothing. A rating below Send to Google from also sends the Internal Review Submitted notification and opens a follow-up when one is needed, at once, whether or not the customer goes on to write anything: the review goes under Needs reply on Reviews, assigned to the default owner when one is set.
The rating alone decides what comes next. At or above Send to Google from in Review Management Settings (4 stars unless your store chose otherwise), the customer is offered your Google review link; below it, the private form, and they are not shown the Google link. The destination is kept with the rating, so changing the setting later does not move a customer who already rated. Sentiment and compliance flags do not change it. See Where a customer goes after rating.
5. The text after a rating
A rating given by text is answered at once, whatever the time, with one text: "Thanks" and the first name, "Would you share that on Google?" and the link, at or above Send to Google from; "Sorry to hear that. Tell us what happened so we can make it right:" and the link, below it. The link opens Google's review box, or the private form, directly. The SMS footer is added. Only one such text goes per request. It does not go when the customer has stopped agreeing to texts, texting is not available for your store, your plan no longer includes Reputation, or, for a high rating, your store has no Google link.
The one reminder
A day after the first text, a customer who has not replied and has not opened the link gets one reminder: "Hi" and the first name, "just a nudge: how was your visit to" your store, "Reply 1-5." It goes inside store hours, spaced like other texts, and there is no second reminder. See Public review reminders. Email requests get no reminder.
Opening the link
Opening the link before a rating marks the request Opened. Visits from link checkers, and visits within five seconds of sending, are ignored so that a carrier's preview does not count as the customer. From January to September 2026 no open was recorded, so requests from that time show no Opened At even when the customer opened the link.
A star in the email opens the page with that rating recorded, unless the visit looks like a mail scanner or link preview (then the star is only lit, and the customer's tap records it). The page link in the email, and the QR code, open on five stars; one tap is the rating. After a rating, from either channel, the link goes straight to Google for a high rating and to the private form for a low one. See What the customer sees.
Opening after 14 days shows an expired page, and a request still Queued, Sent or Opened becomes Expired; a daily job does the same for every such request whose link has run out, opened or not. A customer who already rated sees the thank-you page instead, and the request stays Submitted Internal. The Google button and the private form stop working after 14 days as well.
The private form
Sending the private form adds what could be better, the comment and whether a manager may get in touch to the same internal review. BudLogix reads the sentiment again with the words, scans the comment for compliance flags, opens a follow-up if one is now needed, and sends the Internal Review Submitted notification if the rating did not already. A request never gets a second internal review or a second notification.
Where you see this
- Reviews - every answer that came back, and the Asked today line.
- The review panel - the timeline of one request, in its row's thread.
- Review Management Settings - the texts, the sync, the reminder and Send to Google from.
Last checked against the product on 10 Oct 2026. This is the same article operators read inside BudLogix.