Blog / Technical Guides

Ask for a Review After Delivery, Without Forgetting Anyone

By Keyona Meeks, Founder, ReRev Labs · Oct 31, 2026 · 8 min read

The short answer: Add a Delivered date to each order. A sheet formula then adds your wait, which I start at 7 days, and shows a status: Wait, Send, Asked, Hold or Not delivered. A Hold appears when a return is open, so you do not ask an unhappy customer for a review. A fourth formula drafts the message. A person sends it and types the date into the Review asked column. I tested the formulas in LibreOffice with made-up orders, not in Google Sheets. The sheet picks the day. It does not send anything, and it does not decide whether a review request is allowed for your channel.

By the end of this post, you'll be able to:

  • Set up a sheet that shows which orders are due a review request today.
  • Hold requests for orders with an open return.
  • Draft the message from the row, and ask once per order.
  • Know which rules to check before you send.

We sell operations builds for product brands, so weigh this post with that in mind. The sheet below needs no script.

What columns does the sheet need?

Make a tab named Reviews with these headings in row 1:

ColumnHeadingWhat goes in it
AOrder #Your order number
BFirst nameCustomer's first name
CEmailCustomer's email
DDeliveredThe delivery date, blank until delivered
EReturn open?Type Y if a return or complaint is open
FReview askedThe date you sent the request, blank if never
GStatusFormula
HSend onFormula
IMessageFormula

In N1 type Wait days after delivery and in N2 type 7. That is a setting, and it is my starting number. Pick your own. A product that takes time to try, such as a supplement or a skincare item, may need longer than a phone case.

Where the delivery date comes from is up to you. You can type it from your carrier's tracking page, or paste a column from your shop's order export. I do not cover a specific shop platform here.

Which formulas do the work?

In row 2:

H2: =IF(D2="","",D2+$N$2)
G2: =IF(A2="","",IF(F2<>"","Asked",IF(D2="","Not delivered",IF(UPPER(E2)="Y","Hold: return open",IF(TODAY()>=H2,"Send","Wait")))))
I2: =IF(G2<>"Send","","Hi "&B2&", your order "&A2&" arrived on "&TEXT(D2,"mmm d")&". How is it going? If you have a minute, we would value an honest review: [link]")

Fill them down. What each does:

  • Send on adds your wait to the delivery date. It is blank until the order is delivered.
  • Status checks in this order. A row with a Review asked date is Asked, and it never gets a second request. A row with no delivery date is Not delivered. A Y in the return column is Hold. After that, Send appears on or after the Send on date, and Wait before it.
  • Message appears only when the status is Send. Replace [link] with your review link.

TODAY() changes every day, so the status updates whenever the sheet is opened.

Filter column G for Send each morning. Those are the orders to contact today.

What did the test show?

I tested the formulas in LibreOffice with eight made-up rows dated around the day I ran it, using a 7-day wait. An order delivered 10 days ago showed Send, with the draft message. An order delivered 3 days ago showed Wait. An order delivered exactly 7 days ago showed Send, so the day counts on the seventh day, not the eighth. A row with Y in the return column showed Hold, and so did a row with a lowercase y. A row with a Review asked date showed Asked. A row with no delivery date showed Not delivered. A blank row stayed blank. I changed the wait to 14 days and the 10-day order moved back to Wait.

I did not test the formulas in Google Sheets. TEXT(D2,"mmm d") is the one I would check first, since date format codes can differ. Type a test row and read the message.

Who sends the request?

A person. The sheet marks the row and drafts the words. You send the message from your own email or tool, then type today's date into Review asked. That last step stops a second request. If nobody types the date, the row keeps saying Send.

I did not build an automatic sender. A message to a customer cannot be taken back, and a wrong delivery date means you ask someone who has not received the package. Run it by hand for a few weeks and see how often the status is wrong before you think about automating the send.

Why hold the request when a return is open?

Because a customer with a problem is the wrong person to ask for a review today. Hold is my design choice, not a rule from any source. Solve the return first. Then clear the Y and let the status move on.

Ask everyone the same way. Do not send the review link only to customers you think are happy. I could not confirm which rules apply to that practice, so check with your attorney before you filter who gets asked.

What rules should you check before you send?

Check the review rules of the place the review will appear, such as your shop platform or a marketplace. I did not research those, and they differ.

The Federal Trade Commission published a rule on fake reviews in August 2024. I read the FTC's press release as excerpts, not in full. Two lines matter here. It says the rule "prohibits businesses from creating or selling such reviews or testimonials." It also covers "providing compensation or other incentives conditioned on the writing of consumer reviews" expressing "a particular sentiment, either positive or negative." So do not offer a discount or a gift in return for a positive review. Source: FTC press release, August 2024.

I am not an attorney. How the rule applies to your business is a question for your attorney. The message in this sheet offers nothing in return and does not ask for a positive review.

Who gets the message?

The customer on that order. The email column is there so you can copy it. Do not add other people to the message without asking them.

Where does an LLM fit in this?

An LLM can help with the messy part: rewriting the draft so it sounds like your brand, or sorting free-text delivery notes into delivered and not delivered. A person should read the result before it goes out, because an LLM can add a promise you did not mean to make, such as a reward. The status, the dates and the holds are plain rules, and they do the same thing every time. My stance: AI writes the code, plain automation runs it, and an LLM shows up only where the input is messy and a person checks the result. For other jobs worth automating next, see what to automate first, and for the thinking behind follow-ups like this one, see the follow-up engine.

How do you test the sheet?

  1. Enter five made-up orders: one delivered long ago, one delivered yesterday, one with an open return, one already asked, one not yet delivered.
  2. Check each status against a calendar and your wait setting.
  3. Confirm the right rows say Send, Wait and Hold.
  4. Type today's date into Review asked on a Send row. The status should change to Asked.
  5. Change the wait setting and watch the statuses move.
  6. Read a drafted message for typos and for the date format.
  7. Delete the test rows and keep the formulas.

Where this has limits

  • I did not use this on live orders. The formulas were tested in LibreOffice with made-up data, not in Google Sheets.
  • The 7-day wait is my starting number. Pick one that fits your product.
  • The sheet knows only what you type. A wrong delivery date gives a wrong status.
  • It sends nothing. A person sends every request.
  • I did not research marketplace or platform review rules. Check the place where the review will appear.
  • The FTC page was read as excerpts. I am not an attorney.
  • No ReRev prices and no promises about results. I have no data on how many reviews this brings in.

If you want help turning this into a system that watches your orders and prepares the follow-ups, see our AI operations service or tell us how orders move through your team. Do not send customer lists, passwords or login details.

Frequently asked questions

When should I ask for a review after delivery?

It depends on the product. I start at 7 days in the example. Change the setting to fit how long your customers need to try it.

Can the sheet send the request for me?

This one does not. It drafts the message and a person sends it.

How do I stop asking the same customer twice?

Type the date into Review asked. The status then reads Asked and the message disappears.

What if a customer has an open return?

Type Y in the return column. The status reads Hold until you clear it.

Can I offer a discount for a review?

Check with your attorney first. The FTC press release says its rule covers incentives conditioned on the writing of reviews.

Will it work in Excel?

The functions are standard, but I tested it in LibreOffice, not Excel or Google Sheets.

Read next: Order confirmation emails from a sheet is the email that starts the clock this one ends, and operations automation for product brands maps the rest of the order side.