Skip to content
  • ecommerce
  • transactional-email
  • deliverability

Order confirmation and shipping emails: a store guide

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

On this page
  1. Why these emails matter more than they look
  2. The six essential order emails
  3. What every order email needs
  4. Transactional is not marketing (and should not ship together)
  5. How to send them: platform, API or SMTP
  6. Deliverability: order emails must arrive in seconds
  7. Quick checklist
  8. In numbers: transactional volume and price
  9. Frequently asked questions

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.

Why these emails matter more than they look

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:

  • cut support volume: "did my order go through?" and "where is my package?" are the top questions in almost every store's inbox;
  • build trust: they are the proof of purchase, with a number, a total and a date;
  • set up the next sale: customers read them carefully, so their tone and clarity shape whether they come back.

The six essential order emails

MomentTriggerWhat the customer wants to know
Order receivedCheckout completed"Did it work? What did I buy? How much?"
PaymentCard captured, payment failed, invoice or bank transfer pending"Do I need to do anything else?"
Receipt or invoicePayment captured"Where's my receipt for my records?"
ShippedLabel created and handed to the carrier"When will it arrive? How do I track it?"
DeliveredCarrier confirmation"Did it really arrive? What if something's wrong?"
Returns, refunds, cancellationsCustomer or store request"What's next? When do I get my money back?"

1. Order received

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.

2. Payment

Card payments usually succeed instantly, but not always. Cover the edge cases:

  • Payment failed or needs action (3-D Secure, expired card): explain without blaming the customer and give one clear way to retry.
  • Pending methods (bank transfer, buy now pay later approvals, invoices for B2B): say exactly what is pending and by when.
  • Preorders and backorders: confirm when the card will be charged.

3. Receipt

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.

4. Shipped, with tracking

The second most opened email after the confirmation. It needs:

  • the tracking number as copyable text;
  • the carrier name;
  • a tracking link;
  • an updated delivery estimate;
  • what happens if nobody is home.

If your platform offers a branded tracking page, prefer it to the raw carrier link: the customer stays on your site.

5. Delivered

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.

6. Returns, refunds and cancellations

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.

What every order email needs

  • The store as the sender, with a recognizable name (Example Store <orders@example.com>), never a generic platform or vendor domain.
  • The order number in the subject, so customers can search for it later.
  • Replies that work: a reply_to that reaches support, not a noreply that bounces.
  • A plain-text version alongside the HTML.
  • Company details: legal name, address and contact. Customers trust them, and many consumer laws require them somewhere in the buying flow.
  • No generic link shorteners: they are a classic spam signal.

Transactional is not marketing (and should not ship together)

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).

How to send them: platform, API or SMTP

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:

  1. SMTP relay: WooCommerce and many plugins let you swap the outgoing mail server. Point it to Pidgely SMTP with your API key.
  2. API: your backend (or a connector) receives the order event and calls the email API with a template.
  3. Native integration: the no-code route. Connect Shopify, WooCommerce, Nuvemshop or VTEX to Pidgely and the confirmation, payment approved, shipped (with tracking), delivered and cancelled emails go out automatically, in your brand.

An order confirmation through the API, using a template with variables:

bash
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: platform webhooks are sometimes delivered twice. The same Idempotency-Key guarantees one email per order event.
  • Required template variables: if ORDER_ID is missing, the send fails with a validation error instead of shipping "Order #" with a blank. See the templates guide.

Deliverability: order emails must arrive in seconds

  • Authenticate your domain with SPF, DKIM and DMARC aligned to the store domain. Mailbox providers are suspicious of unauthenticated mail with prices and payment links. The setup is in SPF, DKIM and DMARC explained.
  • Track delivery with events, not hope. Webhooks such as 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.
  • Catch typos at checkout: gmial.com style mistakes create bounces that hurt reputation. A "did you mean" hint on the email field fixes most of them.
  • Keep campaigns elsewhere, as above.

Quick checklist

  • Each of the six moments has an email with a literal subject and the order number.
  • Payment edge cases (failed, pending, preorder) are covered.
  • The store's name and domain as sender, replies reaching support.
  • SPF, DKIM and DMARC passing for the store domain.
  • Transactional mail on a separate stream from campaigns.
  • Idempotency so retries never send twice.
  • Bounces and delays monitored by webhook.

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.

In numbers: transactional volume and price

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.

Frequently asked questions

Do order confirmation emails need an unsubscribe link?

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.

Can I add product recommendations to an order confirmation?

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.

Why do my order emails arrive late or in spam?

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.

Should shipping emails come from the store or the carrier?

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.

Also available in:
ecommercedeliverability

How to keep your store's email campaigns out of spam

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