> ## Documentation Index
> Fetch the complete documentation index at: https://storekit.com/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Strategien für Liefergebühren

> Optimieren Sie Liefergebühren und Servicegebühren, um die Checkout-Konversion zu maximieren und gleichzeitig Ihre Kosten zu decken. Vergleichen Sie Pauschal-, Staffel-, Distanz- und Gratis-Optionen.

export const DeliveryFeeCalculator = () => {
  const [deliveryCost, setDeliveryCost] = useState(5.00);
  const [serviceCharge, setServiceCharge] = useState(0.99);
  const [deliveryFee, setDeliveryFee] = useState(2.99);
  const [monthlyOrders, setMonthlyOrders] = useState(500);
  const [selectedStrategy, setSelectedStrategy] = useState(null);
  const strategies = [{
    id: 'subsidy',
    name: 'Service Charge Subsidy',
    description: 'Small service charge on all orders, lower delivery fee',
    serviceCharge: 0.99,
    deliveryFee: deliveryCost - 1.50,
    icon: '💰'
  }, {
    id: 'balanced',
    name: 'Balanced Approach',
    description: 'Even split between service charge and delivery fee',
    serviceCharge: deliveryCost * 0.25,
    deliveryFee: deliveryCost * 0.65,
    icon: '⚖️'
  }, {
    id: 'full-recovery',
    name: 'Full Cost Recovery',
    description: 'Pass full delivery cost to customer',
    serviceCharge: 0,
    deliveryFee: deliveryCost,
    icon: '📊'
  }, {
    id: 'aggressive',
    name: 'Conversion Focused',
    description: 'Minimise visible fees, maximise conversions',
    serviceCharge: 1.49,
    deliveryFee: Math.max(0, deliveryCost - 2.50),
    icon: '🚀'
  }];
  const calculateMetrics = (sc, df) => {
    const customerTotal = sc + df;
    const yourRevenue = customerTotal;
    const subsidy = Math.max(0, deliveryCost - yourRevenue);
    const profit = yourRevenue - deliveryCost;
    const monthlySubsidy = subsidy * monthlyOrders;
    const monthlyRevenue = yourRevenue * monthlyOrders;
    return {
      customerTotal: customerTotal.toFixed(2),
      subsidy: subsidy.toFixed(2),
      profit: profit.toFixed(2),
      monthlySubsidy: monthlySubsidy.toFixed(0),
      monthlyRevenue: monthlyRevenue.toFixed(0),
      coveragePercent: (yourRevenue / deliveryCost * 100).toFixed(0)
    };
  };
  const customMetrics = calculateMetrics(serviceCharge, deliveryFee);
  return <div className="not-prose space-y-6">
      {}
      <div className="p-4 rounded-xl border border-zinc-200 dark:border-zinc-700 bg-zinc-50 dark:bg-zinc-800/50">
        <h3 className="text-lg font-semibold text-zinc-900 dark:text-white mb-4">Your Delivery Costs</h3>
        <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
          <div>
            <label className="block text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1">
              Average delivery cost (£)
            </label>
            <input type="number" step="0.50" min="0" value={deliveryCost} onChange={e => setDeliveryCost(parseFloat(e.target.value) || 0)} className="w-full px-3 py-2 rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-700 text-zinc-900 dark:text-white" />
          </div>
          <div>
            <label className="block text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1">
              Monthly delivery orders
            </label>
            <input type="number" step="50" min="0" value={monthlyOrders} onChange={e => setMonthlyOrders(parseInt(e.target.value) || 0)} className="w-full px-3 py-2 rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-700 text-zinc-900 dark:text-white" />
          </div>
        </div>
      </div>

      {}
      <div>
        <h3 className="text-lg font-semibold text-zinc-900 dark:text-white mb-4">Compare Strategies</h3>
        <div className="grid grid-cols-1 md:grid-cols-2 gap-4">
          {strategies.map(strategy => {
    const metrics = calculateMetrics(strategy.serviceCharge, strategy.deliveryFee);
    const isSelected = selectedStrategy === strategy.id;
    return <div key={strategy.id} onClick={() => {
      setSelectedStrategy(strategy.id);
      setServiceCharge(strategy.serviceCharge);
      setDeliveryFee(strategy.deliveryFee);
    }} className={`p-4 rounded-xl border-2 cursor-pointer transition-all ${isSelected ? 'border-blue-500 bg-blue-50 dark:bg-blue-900/20' : 'border-zinc-200 dark:border-zinc-700 hover:border-zinc-300 dark:hover:border-zinc-600'}`}>
                <div className="flex items-start gap-3">
                  <span className="text-2xl">{strategy.icon}</span>
                  <div className="flex-1">
                    <h4 className="font-semibold text-zinc-900 dark:text-white">{strategy.name}</h4>
                    <p className="text-sm text-zinc-600 dark:text-zinc-400 mt-1">{strategy.description}</p>
                    
                    <div className="mt-3 grid grid-cols-2 gap-2 text-sm">
                      <div className="bg-zinc-100 dark:bg-zinc-700/50 rounded px-2 py-1">
                        <span className="text-zinc-500 dark:text-zinc-400">Service: </span>
                        <span className="font-medium text-zinc-900 dark:text-white">£{strategy.serviceCharge.toFixed(2)}</span>
                      </div>
                      <div className="bg-zinc-100 dark:bg-zinc-700/50 rounded px-2 py-1">
                        <span className="text-zinc-500 dark:text-zinc-400">Delivery: </span>
                        <span className="font-medium text-zinc-900 dark:text-white">£{strategy.deliveryFee.toFixed(2)}</span>
                      </div>
                    </div>
                    
                    <div className="mt-2 flex items-center justify-between text-sm">
                      <span className="text-zinc-600 dark:text-zinc-400">Customer pays:</span>
                      <span className="font-bold text-lg text-zinc-900 dark:text-white">£{metrics.customerTotal}</span>
                    </div>
                    
                    <div className="mt-1 flex items-center justify-between text-sm">
                      <span className="text-zinc-600 dark:text-zinc-400">Cost coverage:</span>
                      <span className={`font-medium ${parseFloat(metrics.coveragePercent) >= 100 ? 'text-green-600 dark:text-green-400' : parseFloat(metrics.coveragePercent) >= 80 ? 'text-yellow-600 dark:text-yellow-400' : 'text-red-600 dark:text-red-400'}`}>
                        {metrics.coveragePercent}%
                      </span>
                    </div>
                  </div>
                </div>
              </div>;
  })}
        </div>
      </div>

      {}
      <div className="p-4 rounded-xl border border-zinc-200 dark:border-zinc-700 bg-white dark:bg-zinc-800">
        <h3 className="text-lg font-semibold text-zinc-900 dark:text-white mb-4">Custom Calculator</h3>
        
        <div className="grid grid-cols-1 md:grid-cols-2 gap-4 mb-4">
          <div>
            <label className="block text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1">
              Service charge (£)
            </label>
            <input type="number" step="0.10" min="0" value={serviceCharge} onChange={e => {
    setServiceCharge(parseFloat(e.target.value) || 0);
    setSelectedStrategy(null);
  }} className="w-full px-3 py-2 rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-700 text-zinc-900 dark:text-white" />
          </div>
          <div>
            <label className="block text-sm font-medium text-zinc-700 dark:text-zinc-300 mb-1">
              Delivery fee (£)
            </label>
            <input type="number" step="0.10" min="0" value={deliveryFee} onChange={e => {
    setDeliveryFee(parseFloat(e.target.value) || 0);
    setSelectedStrategy(null);
  }} className="w-full px-3 py-2 rounded-lg border border-zinc-300 dark:border-zinc-600 bg-white dark:bg-zinc-700 text-zinc-900 dark:text-white" />
          </div>
        </div>

        {}
        <div className="grid grid-cols-2 md:grid-cols-4 gap-3">
          <div className="bg-zinc-50 dark:bg-zinc-700/50 rounded-lg p-3 text-center">
            <div className="text-xs text-zinc-500 dark:text-zinc-400 uppercase tracking-wide">Customer Pays</div>
            <div className="text-2xl font-bold text-zinc-900 dark:text-white mt-1">£{customMetrics.customerTotal}</div>
          </div>
          <div className="bg-zinc-50 dark:bg-zinc-700/50 rounded-lg p-3 text-center">
            <div className="text-xs text-zinc-500 dark:text-zinc-400 uppercase tracking-wide">Your Subsidy</div>
            <div className={`text-2xl font-bold mt-1 ${parseFloat(customMetrics.subsidy) > 0 ? 'text-red-600 dark:text-red-400' : 'text-green-600 dark:text-green-400'}`}>
              £{customMetrics.subsidy}
            </div>
          </div>
          <div className="bg-zinc-50 dark:bg-zinc-700/50 rounded-lg p-3 text-center">
            <div className="text-xs text-zinc-500 dark:text-zinc-400 uppercase tracking-wide">Cost Coverage</div>
            <div className={`text-2xl font-bold mt-1 ${parseFloat(customMetrics.coveragePercent) >= 100 ? 'text-green-600 dark:text-green-400' : parseFloat(customMetrics.coveragePercent) >= 80 ? 'text-yellow-600 dark:text-yellow-400' : 'text-red-600 dark:text-red-400'}`}>
              {customMetrics.coveragePercent}%
            </div>
          </div>
          <div className="bg-zinc-50 dark:bg-zinc-700/50 rounded-lg p-3 text-center">
            <div className="text-xs text-zinc-500 dark:text-zinc-400 uppercase tracking-wide">Monthly Subsidy</div>
            <div className={`text-2xl font-bold mt-1 ${parseFloat(customMetrics.monthlySubsidy) > 0 ? 'text-red-600 dark:text-red-400' : 'text-green-600 dark:text-green-400'}`}>
              £{customMetrics.monthlySubsidy}
            </div>
          </div>
        </div>
      </div>

      {}
      <div className="p-4 rounded-xl bg-blue-50 dark:bg-blue-900/20 border border-blue-200 dark:border-blue-800">
        <div className="flex items-start gap-3">
          <span className="text-xl">💡</span>
          <div>
            <h4 className="font-semibold text-blue-900 dark:text-blue-100">Recommendation</h4>
            <p className="text-sm text-blue-800 dark:text-blue-200 mt-1">
              {parseFloat(customMetrics.coveragePercent) >= 90 ? "Great balance! You're covering most of your costs while keeping fees reasonable." : parseFloat(customMetrics.coveragePercent) >= 70 ? "Good for conversions, but you're subsidising each delivery. Ensure higher order volume makes up for it." : "Heavy subsidy - consider increasing fees or focus on pickup orders to improve margins."}
            </p>
          </div>
        </div>
      </div>
    </div>;
};

Wie Sie Liefergebühren und Servicegebühren gestalten, beeinflusst sowohl Ihre Checkout-Konversionsraten als auch Ihre Gewinnmargen erheblich. Dieser Leitfaden untersucht verschiedene Strategien, um die richtige Balance für Ihr Unternehmen zu finden.

## Ihre Gebühren verstehen

storekit bietet zwei Gebührenarten, die Sie konfigurieren können:

| Gebührenart       | Umfang                                | Wo einstellen             |
| ----------------- | ------------------------------------- | ------------------------- |
| **Servicegebühr** | Fester Betrag auf alle Bestellungen   | Ladeneinstellungen        |
| **Liefergebühr**  | Pro Lieferzone, variabel nach Distanz | Fulfillment > Lieferzonen |

Beide erscheinen als separate Positionen an der Kasse, sodass Kunden genau sehen, was sie zahlen.

## Die Psychologie der Liefergebühren

Hohe Liefergebühren sind eine Hauptursache für abgebrochene Warenkörbe. Studien zeigen:

* Kunden erwarten oft „kostenlose" oder subventionierte Lieferungen bei Online-Bestellungen
* Eine einzelne hohe Gebühr fühlt sich schmerzhafter an als mehrere kleinere Gebühren
* Kunden akzeptieren kleine Servicegebühren eher als hohe Liefergebühren

## Strategie 1: Subventionierung über Servicegebühr (empfohlen)

**Am besten für:** Läden mit Drittanbieter-Lieferung (Uber Direct, Stuart usw.) oder eigenen Fahrern

Fügen Sie eine kleine feste Servicegebühr zu allen Bestellungen hinzu und senken Sie dafür die für den Kunden sichtbare Liefergebühr.

### So funktioniert es

1. Berechnen Sie Ihre durchschnittlichen Lieferkosten (z. B. 4,50 £ pro Bestellung)
2. Fügen Sie eine Servicegebühr von 0,99 £ auf alle Bestellungen hinzu
3. Setzen Sie die Liefergebühr auf 2,99 £ statt 4,50 £

**Der Kunde sieht:**

* Servicegebühr: 0,99 £
* Lieferung: 2,99 £
* **Gebühren insgesamt: 3,98 £**

**Sie erhalten:** 3,98 £ auf Ihre Kosten von 4,50 £ (Sie subventionieren 0,52 £ pro Bestellung)

<Tip>
  Eine Servicegebühr von 99 Pence wirkt für Kunden unbedeutend, summiert sich aber. Bei 1.000 Bestellungen/Monat sind das 990 £ zur Deckung der Lieferkosten.
</Tip>

### Konfiguration

1. Gehen Sie zu **Einstellungen > Ladeneinstellungen**
2. Setzen Sie **Servicegebühr** auf den gewünschten Betrag (z. B. 99)
3. Legen Sie optional eine **Bezeichnung der Servicegebühr** fest (z. B. „Bestellgebühr" oder „Verpackung")
4. Gehen Sie zu **Fulfillment > Lieferzonen**
5. Reduzieren Sie die Liefergebühr jeder Zone um den Betrag der Servicegebühr

## Strategie 2: Gestaffelte Liefergebühren

**Am besten für:** Läden mit großem Lieferradius, bei denen die Kosten stark variieren

Legen Sie je Zone unterschiedliche Liefergebühren basierend auf den tatsächlichen Kosten fest und halten Sie mit einer Servicegebühr die nächstgelegene Zone besonders günstig.

### Beispielkonfiguration

| Zone   | Distanz    | Tatsächliche Kosten | Servicegebühr | Liefergebühr | Kunde zahlt |
| ------ | ---------- | ------------------- | ------------- | ------------ | ----------- |
| Zone 1 | 0–2 Meilen | 3,50 £              | 0,99 £        | 1,99 £       | 2,98 £      |
| Zone 2 | 2–4 Meilen | 5,00 £              | 0,99 £        | 3,49 £       | 4,48 £      |
| Zone 3 | 4–6 Meilen | 7,00 £              | 0,99 £        | 4,99 £       | 5,98 £      |

Dieser Ansatz:

* Hält die lokale Lieferung sehr wettbewerbsfähig
* Gibt höhere Kosten an Kunden aus weiterer Entfernung weiter
* Erzielt konstante Einnahmen aus der Servicegebühr

## Strategie 3: Schwellenwert für kostenlose Lieferung

**Am besten für:** Läden, die den durchschnittlichen Bestellwert erhöhen möchten

Kombinieren Sie einen Mindestbestellwert mit reduzierter oder kostenloser Lieferung.

### Beispielaufbau

* Servicegebühr: 1,49 £ (alle Bestellungen)
* Liefergebühr: 2,99 £ (Bestellungen unter 25 £)
* Kostenlose Lieferung: Bestellungen über 25 £

Konfigurieren Sie dies wie folgt:

1. Legen Sie Ihre Servicegebühr in den Ladeneinstellungen fest
2. Erstellen Sie einen [Rabattcode](/docs/de/guides/discounts/discount-codes) mit:
   * Typ: Kostenlose Lieferung
   * Mindestbestellwert: 25 £
   * Auto-Anwendung: Aktiviert

<Note>
  Auch bei „kostenloser Lieferung" behalten Sie die Einnahmen aus der Servicegebühr, um Kosten auszugleichen.
</Note>

## Strategie 4: Vollständige Kostendeckung

**Am besten für:** Premium-Restaurants, bei denen Kunden bereit sind, für Qualität zu zahlen

Geben Sie die vollen Lieferkosten an die Kunden weiter, aber gestalten Sie es transparent.

### Konfiguration

* Servicegebühr: 0 £ (oder geringer Betrag für Verpackung)
* Liefergebühr: Volle Kosten pro Zone

Das funktioniert, wenn:

* Ihre Speisen einen Premium-Preis rechtfertigen
* Kunden Qualität über Preis stellen
* Sie gesunde Margen halten möchten

<Warning>
  Dieser Ansatz führt typischerweise zu geringeren Konversionsraten, aber höheren Gewinnen pro Bestellung. Testen Sie sorgfältig.
</Warning>

## Strategie 5: Anreiz für Abholung

**Am besten für:** Läden mit hoher Laufkundschaft oder solche, die das Liefervolumen reduzieren möchten

Machen Sie die Abholung deutlich günstiger als die Lieferung, um die Abholung zu fördern.

### Beispiel

| Methode   | Gebühren                      |
| --------- | ----------------------------- |
| Abholung  | 0 £                           |
| Lieferung | 3,99 £ + 0,99 £ Servicegebühr |

Das funktioniert gut in Kombination mit:

* Vorbestellungen zur Abholung
* Treuebelohnungen für Abholbestellungen
* Prominente „Fertig in X Minuten"-Nachrichten

## Break-even berechnen

Um die richtige Gebührenstruktur zu finden, berechnen Sie Ihre tatsächlichen Kosten:

### Kosten für Drittanbieter-Lieferung

| Anbieter      | Typische Kosten     | Hinweise              |
| ------------- | ------------------- | --------------------- |
| Uber Direct   | 4–7 £ pro Lieferung | Variiert nach Distanz |
| Stuart        | 4–6 £ pro Lieferung | Zonenbasiert          |
| Eigene Fahrer | 2–5 £ pro Lieferung | Kraftstoff + Lohn     |

### Ihre Break-even-Formel

```
Break-even = Lieferkosten - Servicegebühr - Liefergebühr
```

**Beispiel:**

* Lieferkosten: 5,00 £
* Servicegebühr: 0,99 £
* Liefergebühr: 2,99 £
* **Break-even: 1,02 £** (Ihre Subvention pro Bestellung)

<Tip>
  Eine kleine Subvention pro Bestellung lohnt sich oft, wenn sie die Konversionsraten und das Gesamt-Bestellvolumen erhöht.
</Tip>

## A/B-Tests Ihrer Gebühren

Testen Sie verschiedene Ansätze, bevor Sie sich auf eine Strategie festlegen:

1. **Woche 1–2:** Aktuelle Gebühren (Basis-Konversionsrate)
2. **Woche 3–4:** Niedrigere Liefergebühr + Servicegebühr
3. **Woche 5–6:** Anderer Betrag für die Servicegebühr

Erfassen Sie:

* Checkout-Konversionsrate
* Durchschnittlicher Bestellwert
* Gesamtumsatz
* Gewinn pro Bestellung

## Häufige Fehler vermeiden

| Fehler                        | Warum er schadet                | Besserer Ansatz                                     |
| ----------------------------- | ------------------------------- | --------------------------------------------------- |
| Sehr hohe Liefergebühr        | Warenkorbabbrüche               | Aufteilen in Servicegebühr + geringere Liefergebühr |
| 0-£-Servicegebühr             | Verschenktes Geld               | Selbst 0,49 £ summieren sich                        |
| Gleiche Gebühr für alle Zonen | Verluste bei weiten Lieferungen | Gestaffelte Lieferzonen                             |
| Rundung auf ganze Pfund       | Wirkt teurer                    | Verwenden Sie £X,99-Preise                          |

## Empfohlener Ausgangspunkt

Für die meisten Läden empfehlen wir folgenden Start:

| Einstellung                   | Wert            |
| ----------------------------- | --------------- |
| Servicegebühr                 | 0,99 £          |
| Bezeichnung der Servicegebühr | „Bestellgebühr" |
| Zone 1 Lieferung (0–2 Meilen) | 1,99–2,49 £     |
| Zone 2 Lieferung (2–4 Meilen) | 2,99–3,49 £     |
| Mindestbestellwert            | 10–15 £         |

Das gleicht Konversion und Kostendeckung aus und lässt Ihnen Flexibilität für Anpassungen auf Basis Ihrer Ergebnisse.

## Strategien vergleichen

Vergleichen Sie mit diesem Rechner verschiedene Gebührenstrukturen und sehen Sie, wie sie sich auf Ihre Kosten und die Kundenkosten auswirken.

<DeliveryFeeCalculator />

## Nächste Schritte

* [Lieferzonen einrichten](/docs/de/guides/fulfillment/delivery/delivery-zones) mit Ihren gewählten Gebühren
* [Aktion für kostenlose Lieferung](/docs/de/guides/discounts/promotions) für hochwertige Bestellungen erstellen
* [Mindestbestellwerte konfigurieren](/docs/de/guides/fulfillment/delivery/delivery-zones) pro Zone


## Related topics

- [Pub-Lieferung](/docs/de/guides/use-cases/pub-delivery.md)
- [Rabatte für kostenlose Lieferung](/docs/de/guides/discounts/free-delivery.md)
- [Liefergebühr in Rabatten](/docs/de/guides/discounts/delivery-fee-inclusion.md)
- [Bestelllimits](/docs/de/guides/orders/advanced/order-limits.md)
- [TISSL](/docs/de/guides/integrations/pos/tissl.md)
