Post-Purchase Reviews: Automate Review Request Emails
Automate post-purchase review requests by email: send 5 to 10 days after delivery, schedule through an API, and keep transactional and marketing apart.
6 min read
The order emails every online store needs (confirmation, payment, shipping with tracking, delivery, returns), what to put in each one and how to make them land.
Pidgely teamPublished 7 min readMarkdown version

Order emails are the messages a store sends because the customer did something: bought, paid, received a package, asked for a return. They are the most expected emails any store sends, and the ones that create the most support tickets when they fail. A solid set covers six moments (order received, payment, invoice, shipped, delivered, returns), comes from the store's own domain, arrives within seconds and answers the one question the customer has at that moment. Here is what to send, what to write and how to make sure it lands.
Someone who just paid stares at their inbox until the confirmation shows up. If it does not, the next step is a support chat, a chargeback or a "is this store legit?" search. Order emails:
| Moment | Trigger | What the customer wants to know |
|---|---|---|
| Order received | Checkout completed | "Did it work? What did I buy? How much?" |
| Payment | Card captured, payment failed, invoice or bank transfer pending | "Do I need to do anything else?" |
| Receipt or invoice | Payment captured | "Where's my receipt for my records?" |
| Shipped | Label created and handed to the carrier | "When will it arrive? How do I track it?" |
| Delivered | Carrier confirmation | "Did it really arrive? What if something's wrong?" |
| Returns, refunds, cancellations | Customer or store request | "What's next? When do I get my money back?" |
Send it the second checkout completes. Include the order number, line items with small images, quantities, prices, shipping, taxes, estimated delivery, shipping address and payment method. Make the subject literal: Order #10482 confirmed. This is not the place to be clever.
Card payments usually succeed instantly, but not always. Cover the edge cases:
Many stores merge the receipt into the confirmation. Fine, as long as the customer can find a printable receipt or invoice with your company details. Business buyers will ask for it.
The second most opened email after the confirmation. It needs:
If your platform offers a branded tracking page, prefer it to the raw carrier link: the customer stays on your site.
Short: "Your order arrived." Say how to start a return and remind the customer of your return window. This is the natural bridge to the post-purchase and review emails, which should come a few days later, not in the same message.
Each step deserves its own message: request received, return label, item received, refund issued (with how long it takes to show up on the card statement). Customers in a return are anxious customers; silence here turns into a public complaint.
Example Store <orders@example.com>), never a generic platform or vendor domain.reply_to that reaches support, not a noreply that bounces.The most common mistake is sending order confirmations through the same tool, IPs and domain as newsletters. During Black Friday, a 200,000-recipient campaign lands in the queue ahead of the receipt for someone who just paid. And if the campaign draws complaints, the damaged reputation drags down the email that matters most.
Split the streams: transactional mail on one path, campaigns on another, ideally on different subdomains (orders.example.com and news.example.com). We explain why in transactional vs. marketing streams. On Pidgely this is the default: POST /emails uses the transactional stream and broadcasts use the broadcast stream, on separate IP pools.
The purpose of the email decides what it is. A confirmation with a small "you might also like" block is still transactional. A "confirmation" that is 80% promotion becomes marketing, and then consent and unsubscribe rules apply (see email consent for online stores).
Shopify, WooCommerce and most platforms ship default order notifications. They cover the basics, but customization is limited, they go out through shared infrastructure and you rarely see whether a message was delivered. To take control:
An order confirmation through the API, using a template with variables:
curl -X POST https://api.pidgely.com/emails \
-H "Authorization: Bearer $PIDGELY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-10482-received" \
-d '{
"from": "Example Store <orders@example.com>",
"to": "ana@example.org",
"reply_to": "support@example.com",
"template": {
"id": "order-received",
"variables": { "ORDER_ID": "10482", "TOTAL": 89.9, "CUSTOMER_NAME": "Ana" }
},
"tags": [{ "name": "category", "value": "order_received" }]
}'Two details that save you pain:
Idempotency-Key guarantees one email per order event.ORDER_ID is missing, the send fails with a validation error instead of shipping "Order #" with a blank. See the templates guide.email.delivered, email.bounced and email.delivery_delayed tell you what happened to each message. A bounced confirmation is a cue for support to reach the customer another way.gmial.com style mistakes create bounces that hurt reputation. A "did you mean" hint on the email field fixes most of them.With this in place, order emails stop being a notice and become the start of the relationship. Next come post-purchase emails and, later, win-back and replenishment.
Pidgely's Free plan includes 6,000 emails per month (200 per day), 3 domains and 3 templates, with the visual template builder on every plan. Starter is R$ 39 (50,000 emails), Growth R$ 149 (250,000) and Scale R$ 449 (1,000,000, with automations and an optional dedicated IP at R$ 129). Extra emails cost R$ 1.00, 0.80 and 0.50 per 1,000 on Starter, Growth and Scale. SPF, DKIM and DMARC are set up aligned, and every email carries one-click unsubscribe headers.
No. Order confirmations, shipping updates and receipts are transactional. Google's sender guidelines exclude transactional messages from the one-click unsubscribe requirement, and CAN-SPAM exempts transactional or relationship messages from most of its provisions. Add promotions and that can change.
A small, secondary block is fine. The primary purpose of the email must stay the order. If the promotion becomes the point of the message, filters and the law start treating it as marketing, which needs consent and an unsubscribe.
Usually because they share a sending stream, IPs and domain with marketing campaigns, or because the domain is not authenticated. Send transactional email on a separate stream with aligned SPF, DKIM and DMARC, and watch delivery events through webhooks.
From the store. The customer bought from you, recognizes your domain and will reply to you. The tracking link can point to the carrier or to a tracking page on your own site.
Pidgely team
Published
We build Pidgely, the email API that gets you to the inbox. We write about what we learn delivering email, citing the standards and mailbox provider guidelines behind every claim.
Automate post-purchase review requests by email: send 5 to 10 days after delivery, schedule through an API, and keep transactional and marketing apart.
6 min read
How to build your store's abandoned cart emails: how many to send, the timing, what to write in each one, when a discount makes sense, and subject lines.
7 min read
A practical guide for ecommerce campaigns that reach the inbox: domain and authentication, separate streams, list hygiene, frequency, content and Gmail's rules.
6 min read