emailr_
Alle Artikel
Anwendungsfall·8 Min

Versandbenachrichtigungs-E-Mails: Best Practices

E-CommerceBenachrichtigungenSendungsverfolgung

Versandbenachrichtigungen reduzieren Support-Tickets und stärken das Vertrauen der Kundschaft. So gestalten Sie effektive Versand-E-Mails über den gesamten Zustellprozess hinweg.

Versand-E-Mail-Sequenz

Bestellung versendet

interface ShippingNotification {
  order: {
    id: string;
    items: OrderItem[];
  };
  shipping: {
    carrier: string;
    trackingNumber: string;
    trackingUrl: string;
    estimatedDelivery: Date;
    shippedAt: Date;
  };
  customer: {
    name: string;
    email: string;
  };
  address: ShippingAddress;
}

await sendEmail({
  to: customer.email,
  subject: `Your order has shipped! 📦`,
  template: 'order-shipped',
  data: {
    customer,
    order,
    shipping,
    trackingUrl: shipping.trackingUrl,
    estimatedDelivery: formatDate(shipping.estimatedDelivery)
  }
});

Unterwegs zur Zustellung

await sendEmail({
  to: customer.email,
  subject: 'Your order is out for delivery! 🚚',
  template: 'out-for-delivery',
  data: {
    customer,
    order,
    estimatedWindow: '2:00 PM - 6:00 PM',
    trackingUrl: shipping.trackingUrl
  }
});

Lieferbestätigung

await sendEmail({
  to: customer.email,
  subject: 'Your order has been delivered ✓',
  template: 'order-delivered',
  data: {
    customer,
    order,
    deliveredAt: shipping.deliveredAt,
    deliveryPhoto: shipping.proofOfDelivery,
    reviewUrl: `${baseUrl}/orders/${order.id}/review`,
    supportUrl: `${baseUrl}/support`
  }
});

Ausnahmebehandlung

Lieferausnahme

const exceptionTemplates = {
  'address_issue': {
    subject: 'Delivery issue - address update needed',
    template: 'delivery-exception-address'
  },
  'recipient_unavailable': {
    subject: 'Delivery attempted - no one home',
    template: 'delivery-exception-unavailable'
  },
  'weather_delay': {
    subject: 'Shipping delay due to weather',
    template: 'delivery-exception-weather'
  }
};

async function sendExceptionNotification(order: Order, exception: DeliveryException) {
  const config = exceptionTemplates[exception.type];
  
  await sendEmail({
    to: order.customer.email,
    subject: config.subject,
    template: config.template,
    data: {
      order,
      exception,
      newEstimate: exception.newEstimatedDelivery,
      actionRequired: exception.requiresAction,
      updateUrl: `${baseUrl}/orders/${order.id}/update-address`
    }
  });
}

Fehlgeschlagene Lieferung

await sendEmail({
  to: customer.email,
  subject: 'Delivery unsuccessful - action required',
  template: 'delivery-failed',
  data: {
    customer,
    order,
    reason: exception.reason,
    options: [
      { label: 'Reschedule delivery', url: rescheduleUrl },
      { label: 'Update address', url: updateAddressUrl },
      { label: 'Hold at facility', url: holdUrl }
    ],
    deadline: 'Package will be returned after 5 days'
  }
});

Bestellungen mit mehreren Paketen

interface MultiPackageShipment {
  order: Order;
  packages: Array<{
    packageNumber: number;
    totalPackages: number;
    trackingNumber: string;
    items: OrderItem[];
    status: string;
  }>;
}

await sendEmail({
  to: customer.email,
  subject: `Package 1 of 3 shipped - Order #${order.number}`,
  template: 'multi-package-shipped',
  data: {
    customer,
    order,
    package: packages[0],
    remainingPackages: packages.slice(1),
    allTrackingUrl: `${baseUrl}/orders/${order.id}/tracking`
  }
});

Integration mit Versanddienstleistern

Webhook-Verarbeitung

async function handleCarrierWebhook(event: CarrierEvent) {
  const order = await getOrderByTracking(event.trackingNumber);
  
  const eventMap = {
    'shipped': sendShippedNotification,
    'in_transit': sendTransitUpdate,
    'out_for_delivery': sendOutForDeliveryNotification,
    'delivered': sendDeliveredNotification,
    'exception': sendExceptionNotification
  };
  
  const handler = eventMap[event.status];
  if (handler) {
    await handler(order, event);
  }
}

Best Practices

  1. Echtzeit-Updates - Senden, sobald sich der Status ändert
  2. Klare Tracking-Links - Ein Klick zur Sendungsverfolgung beim Versanddienstleister
  3. Erwartungen setzen - Voraussichtliche Lieferzeitfenster
  4. Ausnahmen handhaben - Proaktive Kommunikation bei Verzögerungen
  5. Bestelldetails einbeziehen - Erinnerung daran, was unterwegs ist
  6. Mobilfreundlich - Die meisten prüfen den Versand auf dem Smartphone

Gute Versand-E-Mails reduzieren "Wo ist meine Bestellung?"-Support-Tickets und stärken das Vertrauen der Kundschaft.

e_

Geschrieben vom emailr-Team

Wir bauen Email-Infrastruktur für Entwickler

Bereit zum Senden?

Hol dir deinen API-Schlüssel und sende deine erste E-Mail in unter 5 Minuten. Keine Kreditkarte erforderlich.