Order Confirmation Email: Copy-Paste Templates That Protect Trust
A confirmation is a receipt first: prove the order, explain the next milestone, and make corrections easy.



Table of Contents
- What must every order confirmation include?
- Which template should you copy?
- How do you keep a transactional email transactional?
- How do you test it before sending?
- Which tools should send it?
- Sources
- FAQ
What must every order confirmation include?
Treat the confirmation as a receipt first. It should answer what was bought, what was charged, where it is going, and what happens next without requiring a separate invoice or shipping portal.
| Block | What it should prove |
|---|---|
| Order identity | Number, date, and store |
| Items | Names, variants, quantities, and prices |
| Money | Subtotal, discounts, tax, shipping, and total |
| Fulfillment | Shipping, pickup, download, or delivery expectation |
| Address | Shipping or billing address, shown thoughtfully |
| Correction path | A clear support link or reply route |
| Next milestone | Processing, dispatch, pickup readiness, or access |
The templates use merge tags such as {{ order_number }} and {{ order_total }}. Map every tag to a real field before activation, and replace the syntax if your platform differs. Never send braces as visible text. Render {{ order_items }} with the platform’s line-item component when possible so names, quantities, variants, and prices remain readable on mobile.
Which template should you copy?
Choose according to the actual fulfillment state. Do not use a shipping confirmation for a preorder or promise immediate access when manual review is required.
Standard physical goods
Subject: Order {{ order_number }} is confirmed
Preheader: We received your order and will send tracking when it ships.
Hi {{ customer_first_name }},
Thank you for ordering from {{ store_name }}. We received your order and are preparing it.
Order: {{ order_number }} | Date: {{ order_date }} | Items: {{ order_items }} | Subtotal: {{ order_subtotal }} | Discount: {{ order_discount }} | Shipping: {{ shipping_cost }} | Tax: {{ tax_amount }} | Total: {{ order_total }} | Ship to: {{ shipping_address }}
Next milestone: We expect to ship by {{ estimated_ship_date }} and will email {{ customer_email }} with tracking when the carrier receives it.
If anything is incorrect, contact {{ support_email }} or {{ support_url }} with order number {{ order_number }}.
Thank you,
{{ store_name }}
Preorder or backorder
Subject: We’ve confirmed your preorder {{ order_number }}
Preheader: Your item is reserved, with the latest expected fulfillment date below.
Hi {{ customer_first_name }},
Your order is confirmed and reserved. Because this product is a {{ fulfillment_type }}, it will ship when inventory arrives.
Order: {{ order_number }} | Date: {{ order_date }} | Items: {{ order_items }} | Subtotal: {{ order_subtotal }} | Discount: {{ order_discount }} | Shipping: {{ shipping_cost }} | Tax: {{ tax_amount }} | Total: {{ order_total }} | Ship to: {{ shipping_address }}
Next milestone: The current expected ship date is {{ estimated_ship_date }}. We’ll notify you about changes and send tracking after dispatch. This is an estimate, not a guaranteed delivery date.
For timing, cancellation, or address changes, contact {{ support_url }} with the order number.
Thank you,
{{ store_name }}
Local pickup
Subject: Pickup order {{ order_number }} is confirmed
Preheader: We’ll tell you when your order is ready at {{ pickup_location_name }}.
Hi {{ customer_first_name }},
We received your pickup order. Wait for the separate ready-for-pickup message before traveling to the location.
Order: {{ order_number }} | Date: {{ order_date }} | Items: {{ order_items }} | Subtotal: {{ order_subtotal }} | Discount: {{ order_discount }} | Pickup fee: {{ shipping_cost }} | Tax: {{ tax_amount }} | Total: {{ order_total }} | Pickup: {{ pickup_location_name }}, {{ pickup_address }}
Next milestone: It should be ready by {{ estimated_ready_date }}. Bring your order number and any identification required by the pickup instructions.
To change the pickup person or report a mistake, contact {{ support_email }} or {{ support_url }} before arriving.
Thank you,
{{ store_name }}
Digital product
Subject: Your order {{ order_number }} is confirmed
Preheader: Your digital product is ready, or will be available after processing.
Hi {{ customer_first_name }},
Thank you for purchasing from {{ store_name }}. Your digital order was recorded successfully.
Order: {{ order_number }} | Date: {{ order_date }} | Items: {{ order_items }} | Subtotal: {{ order_subtotal }} | Discount: {{ order_discount }} | Tax: {{ tax_amount }} | Total: {{ order_total }} | Billing: {{ billing_address }}
Next milestone: Access your purchase at {{ download_url }}. The link expires on {{ download_expiry_date }}. If processing is required, we’ll send access by {{ estimated_access_date }}.
If the link fails, contact {{ support_email }} from the purchasing address and include {{ order_number }}.
Thank you,
{{ store_name }}
Split shipment
Subject: Order {{ order_number }} is confirmed and will ship in parts
Preheader: Some items may arrive separately; your shipment details are below.
Hi {{ customer_first_name }},
Your order is confirmed. Because items are fulfilled from different locations or at different times, you may receive multiple packages.
Order: {{ order_number }} | Date: {{ order_date }} | Items: {{ order_items }} | Subtotal: {{ order_subtotal }} | Discount: {{ order_discount }} | Shipping: {{ shipping_cost }} | Tax: {{ tax_amount }} | Total: {{ order_total }} | Ship to: {{ shipping_address }}
Next milestone: Shipment one is expected by {{ estimated_ship_date }}. We’ll send tracking for each package at {{ tracking_url }}; remaining items are expected by {{ remaining_ship_date }}.
For a missing package or incorrect address, contact {{ support_url }} with the order number and affected item.
Thank you,
{{ store_name }}
How do you keep a transactional email transactional?
Keep the operational content above the fold: the purchase, charge, destination, and next step. A cross-sell may follow, but it should never obscure the receipt or support path. Use one small, relevant recommendation block with one action, such as “Complete the setup with these accessories.” Avoid urgency claims, unrelated promotions, or a discount banner that outweighs the order details.
An order confirmation documents a completed transaction; an abandoned-cart email tries to recover an incomplete one.
CAN-SPAM obligations and other marketing rules depend on message content, sender, and jurisdiction. A transactional label does not excuse misleading subjects, poor identification, or missing unsubscribe handling when commercial content becomes substantial. Review the FTC CAN-SPAM guidance.
How do you test it before sending?
Create a real test order for every fulfillment path. Confirm that all tags resolve: items, quantities, variants, tax, discounts, dates, addresses, support links, tracking links, and totals. Compare the email total with the payment record; even a one-cent mismatch can damage trust.
Test long product names, multiple variants, zero-value discounts, international addresses, accented names, and large orders. Verify that sensitive payment information is absent. Show only an approved payment method or last four digits when your system supports that safely.
Open the email on mobile and desktop, in light and dark mode, with images blocked, and as plain text. Never communicate status through color alone; pair colors with words such as “Confirmed,” “Ready,” or “Delayed.” Use semantic HTML tables for order data and keep headings, links, and buttons keyboard-accessible. Check the W3C guidance on color and MDN’s table reference.
Finally, test deliverability and authentication. SPF, DKIM, and DMARC should align with the visible sender and reply path. See the Google Workspace sender guidance.
Which tools should send it?
Use the transactional system connected to the order record as the source of truth. It should know whether an order is paid, reserved, ready for pickup, shipped, split, or available for download.
A marketing platform is suitable only when order data syncs reliably and event timing cannot create duplicates or stale totals. Shopify merchants should map notification variables carefully using the Shopify email-variable documentation. Keep analytics and recommendations secondary to accuracy, delivery, and support. For a broader store stack, compare options in SellerTrove’s stack builder.
Sources
- FTC Mail, Internet, or Telephone Order Merchandise Rule
- Shopify email variables
- Google sender guidelines
- W3C: Use of Color
- FTC CAN-SPAM compliance guide
- MDN: HTML table element
Related guidance: email marketing, email marketing for Shopify, and customer service.
FAQ
When should an order confirmation email be sent?
Send it immediately after payment or the order event is recorded successfully. If fraud review, inventory review, or manual approval delays acceptance, say so instead of claiming the order is fully confirmed.
Should an order confirmation include a cross-sell?
Yes, after the receipt and support path. Keep it brief, relevant, and visually secondary so the customer understands the order without interacting with it.
What if the customer entered the wrong email address?
Provide a visible support route and let the customer verify ownership with the order number, billing details, or a payment reference your team can safely use. Do not expose the full order to an unverified requester.
How can a customer update an order after confirmation?
State the cutoff directly, such as “Contact us before {{ order_edit_deadline }}.” After fulfillment begins, explain whether the customer must request cancellation, a return, an address correction, or a carrier hold through {{ support_url }}.
We track pricing and new tools across the whole catalog. Get an email when prices move or a better tool launches.