# So richten Sie eine Kampagne für abgebrochene Warenkörbe ein

Käufer, die Artikel in einen Warenkorb legen und gehen, ohne zu kaufen, gehören zu den am einfachsten wiederzugewinnenden Konversionen. Sie haben bereits eine Absicht gezeigt.

Diese Anleitung zeigt, wie Sie ihnen eine E-Mail für einen abgebrochenen Warenkorb in Pushwoosh senden: Lösen Sie das `PW_AbandonedCart`-Event von Ihrem Shop aus, zeigen Sie die zurückgelassenen Artikel in der E-Mail mit dem [Produkte](/de/product/content/email-content/drag-and-drop-email-editor/blocks/#products)-Block an und lösen Sie den Versand aus einer Customer Journey aus.

## Was ist PW_AbandonedCart

`PW_AbandonedCart` markiert, dass ein Benutzer Artikel in seinem Warenkorb zurückgelassen hat, ohne zu kaufen. Es ist kein integriertes [Standard-Event](/de/product/audience-data-and-segmentation/events/default-events/). Es ist ein gemeinsamer Event-Name, der in allen Pushwoosh E-Commerce-Integrationen verwendet wird, damit Journeys, der Produkte-Block und Segmente alle auf die gleiche Weise funktionieren.

*   **[Magento-Integration](/de/product/integrations/magento-integration/):** sendet `PW_AbandonedCart` und `PW_OrderCreated` automatisch für Sie.
*   **[Shopify-Integration](/de/product/integrations/shopify-integration/):** sendet `PW_AbandonedCart`, `PW_OrderCreated` und `PW_AbandonedCartUpdate` (wird erneut ausgelöst, wenn der Käufer denselben Checkout weiter bearbeitet) automatisch für Sie, wobei die Warenkorbartikel aus Ihrem Produktkatalog angereichert werden.
*   **Jeder andere Shop oder ein benutzerdefiniertes Backend:** Ihr Team sendet beide Events über [postEvent](/de/developer/api-reference/user-centric-api/#postevent) mit den Namen und Attributen in [So senden Sie Erinnerungen an abgebrochene Warenkörbe](#how-to-send-abandoned-cart-reminders).

### Was passiert, wenn Sie PW_AbandonedCart senden

Das Senden von `PW_AbandonedCart` bewirkt zwei Dinge auf der Pushwoosh-Seite:

1.  Es wird wie jedes andere benutzerdefinierte Event aufgezeichnet, sodass Sie es in den [Event-Statistiken](/de/product/audience-data-and-segmentation/events/) sehen und in [Segmenten](/de/product/audience-data-and-segmentation/segmentation/create-segments/by-events/) verwenden können.
2.  Pushwoosh speichert den Inhalt des Warenkorbs und versieht den Benutzer mit folgenden Tags:
    *   **PW_AbandonedCartID:** eine Kennung für den aktuellen Warenkorb, die verwendet wird, um dessen Inhalt zum Zeitpunkt des Versands abzurufen.
    *   **PW_AbandonedCartDate:** der `abandonedDate`-Wert aus der Event-Payload.

### Was passiert, wenn Sie PW_OrderCreated senden

Wenn der Käufer eine Bestellung aufgibt, senden Sie `PW_OrderCreated` (oder `PW_OrderUpdated`). Pushwoosh löscht `PW_AbandonedCartID` und `PW_AbandonedCartDate` für diesen Benutzer sofort. Es gleicht keine `orderId`-Werte ab: Jede Bestellung des Benutzers entfernt beide Tags, auch wenn der Kauf für einen anderen Warenkorb war.

**Beispiel:** Ein Käufer bricht den Warenkorb `ORDER-100` ab und kauft dann `ORDER-200`, bevor die Erinnerung versendet wird. Pushwoosh löscht die Tags, sodass er keine Erinnerung an `ORDER-100` erhält.

<Aside type="note" title="Was in der Erinnerungs-E-Mail erscheint">
Der Produkte-Block liest den Warenkorb, der zum Zeitpunkt des Versands im Benutzerprofil gespeichert ist. Er verwendet nicht die Artikelliste aus dem `PW_AbandonedCart`-Event, das die Journey gestartet hat.

*   **Gleiche `orderId`:** Jedes neue `PW_AbandonedCart` überschreibt den gespeicherten Warenkorb. Die Erinnerung zeigt die neuesten Artikel.
*   **Unterschiedliche `orderId`:** Pushwoosh speichert einen separaten Warenkorb. Artikel werden nicht zusammengeführt.
</Aside>

<span id="how-to-send-abandoned-cart-reminders" />

## So senden Sie Erinnerungen an abgebrochene Warenkörbe

Befolgen Sie diese Schritte, um die Events zu erstellen, sie von Ihrem Shop aus zu senden, die E-Mail zu erstellen und die Customer Journey zu starten.

### Erstellen Sie die Events in Ihrem Control Panel

[Pushwoosh erstellt automatisch](/de/product/audience-data-and-segmentation/events/#1-create-events-in-pushwoosh-control-panel) ein Event und seine Attribute aus dem ersten `postEvent`-Aufruf unter einem Namen, den es nicht erkennt, und leitet den Typ jedes Attributs aus dem gesendeten Wert ab. Diese Ableitung ist für Geldbeträge in `PW_AbandonedCart` unzuverlässig. Deklarieren Sie beide Events explizit, damit die Typen korrekt festgelegt werden:

1.  Gehen Sie zu **Audience → Events** in Ihrem Pushwoosh Control Panel und klicken Sie auf **Create Event**.
2.  Erstellen Sie ein benutzerdefiniertes Event namens `PW_AbandonedCart` mit diesen Attributen:

| Attribut | Typ |
| :--- | :--- |
| `email` | string |
| `orderId` | string |
| `customerId` | string |
| `orderUrl` | string |
| `abandonedDate` | date |
| `createdDate` | date |
| `totalPrice` | decimal (price) |
| `shippingAmount` | decimal (price) |
| `taxAmount` | decimal (price) |
| `discountAmount` | decimal (price) |
| `currency` | string |

3.  Wiederholen Sie dies für `PW_OrderCreated` mit einem einzelnen `orderId`-Attribut.

<Aside type="caution" title="Verwenden Sie die korrekten Attributtypen">
Pushwoosh speichert jeden Attributwert nur in dem für ihn festgelegten Typ, sei es hier deklariert oder für ein automatisch erstelltes Attribut abgeleitet. Ein Wert, der nicht mit dem Typ übereinstimmt, wird stillschweigend verworfen, und `postEvent` gibt trotzdem Erfolg zurück, sodass Sie in der Antwort nicht sehen, dass Daten verloren gegangen sind. Sie können einen falschen Typ später durch Bearbeiten des Events im Control Panel korrigieren, aber alle vor der Korrektur gesendeten Daten sind bereits verloren.

Damit der abgebrochene Warenkorb funktioniert, müssen die Typen in der obigen Tabelle übereinstimmen:

*   **Geldbeträge** (`totalPrice`, `shippingAmount`, `taxAmount`, `discountAmount`): verwenden Sie **decimal (price)**. Wenn nicht deklariert, wird ein ganzzahliger Wert wie `129` als **integer** abgeleitet. Als **string** deklariert, wird der Warenkorb nicht gespeichert und keine Tags werden gesetzt. Als **integer** deklariert, wird `129.90` zu `129`.
*   **Daten** (`abandonedDate`, `createdDate`): verwenden Sie **date**.
*   **`items`:** fügen Sie es nicht zur Event-Definition hinzu. Senden Sie es in der JSON-Payload als ein Array von Objekten. Verwenden Sie echte JSON-Zahlen für `price` und `quantity`, keine in Anführungszeichen gesetzten Zeichenketten.
</Aside>

[Erfahren Sie mehr über das Erstellen von benutzerdefinierten Events](/de/product/audience-data-and-segmentation/events/custom-events/#creating-custom-events).

### Senden Sie die Events von Ihrem Backend

<Aside type="caution" icon="setting" title="Hilfe von Entwicklern erforderlich">
Sie benötigen die Hilfe Ihres Entwicklungsteams, um Events von Ihrem Shop oder Backend zu senden. Bitte teilen Sie diese Anleitung mit ihnen.
</Aside>

Bitten Sie Ihr Entwicklungsteam, [postEvent](/de/developer/api-reference/user-centric-api/#postevent) aufzurufen, wann immer ein Warenkorb abgebrochen wird, und verwenden Sie dabei dieses Attributschema:

```json
{
  "request": {
    "hwid": "8f65b16df378e7a6bece9614e1530fb2",
    "application": "XXXXX-XXXXX",
    "event": "PW_AbandonedCart",
    "attributes": {
      "email": "shopper@example.com",
      "orderId": "ORDER-10293",
      "customerId": "CUST-4471",
      "orderUrl": "https://yourstore.com/cart/restore/ORDER-10293",
      "abandonedDate": "2026-07-28T10:15:00Z",
      "createdDate": "2026-07-28T09:40:00Z",
      "totalPrice": 129.90,
      "shippingAmount": 9.90,
      "taxAmount": 0,
      "discountAmount": 0,
      "currency": "USD",
      "items": [
        {
          "productId": "SKU-4821",
          "name": "Wireless headphones",
          "quantity": 1,
          "price": 119.90,
          "sku": "SKU-4821",
          "description": "Over-ear, noise-cancelling",
          "imageUrl": "https://yourstore.com/media/sku-4821.jpg",
          "productUrl": "https://yourstore.com/products/sku-4821",
          "category": "Audio"
        }
      ]
    },
    "userId": "shopper@example.com"
  }
}
```

Wenn der Warenkorb in eine Bestellung umgewandelt wird, senden Sie `PW_OrderCreated` nur mit der `orderId`, um die Warenkorb-Tags zu löschen:

```json
{
  "request": {
    "hwid": "8f65b16df378e7a6bece9614e1530fb2",
    "application": "XXXXX-XXXXX",
    "event": "PW_OrderCreated",
    "attributes": {
      "orderId": "ORDER-10293"
    },
    "userId": "shopper@example.com"
  }
}
```

<Aside type="tip">
Wenn Sie die [Magento-Integration](/de/product/integrations/magento-integration/#abandoned-cart-sync-configuration) oder die [Shopify-Integration](/de/product/integrations/shopify-integration/#part-5-track-orders-carts-and-checkout-steps) verwenden, müssen Sie diese Events nicht von Ihrem Backend senden. Magento sendet `PW_AbandonedCart` und `PW_OrderCreated` für Sie nach einem Zeitplan; Shopify sendet sie (plus `PW_AbandonedCartUpdate` für laufende Checkout-Bearbeitungen) von Webhooks in Echtzeit.
</Aside>

### Fügen Sie einen Produkte-Block zu Ihrer E-Mail hinzu

1.  Öffnen Sie den [E-Mail-Inhaltseditor](/de/product/content/email-content/drag-and-drop-email-editor/) und fügen Sie einen [Produkte](/de/product/content/email-content/drag-and-drop-email-editor/blocks/#products)-Block zur Leinwand hinzu.
2.  Stellen Sie im Einstellungsfeld **Quelle** auf [Warenkorb](/de/product/content/email-content/drag-and-drop-email-editor/blocks/#show-items-from-the-cart) ein.

<Aside type="note">
Die **Warenkorb**-Quelle des Produkte-Blocks erfordert **Inhaltsvorlagen** in Ihrem Plan und ein [API-Zugriffstoken](/de/developer/api-reference/api-access-token/). Siehe [Produkte-Block](/de/product/content/email-content/drag-and-drop-email-editor/blocks/#products).
</Aside>

3.  Stellen Sie **Maximal angezeigte Produkte** ein, um zu begrenzen, wie viele Warenkorbartikel in der E-Mail erscheinen.

<img src="/lifecycle-marketing-campaigns-how-to-set-up-an-abandoned-cart-campaign-1.webp" alt="Einstellungen des Produktblocks mit Quelle auf Warenkorb und maximal angezeigten Produkten gesetzt"/>

4.  Gestalten Sie das Raster und die Kartenvorlage nach Bedarf. Siehe [Gestalten Sie das Raster](/de/product/content/email-content/drag-and-drop-email-editor/blocks/#style-the-grid).

<img src="/lifecycle-marketing-campaigns-how-to-set-up-an-abandoned-cart-campaign-2.webp" alt="Produktblock auf der E-Mail-Leinwand mit Kartenvorlage und Rasterstileinstellungen" width="580"/>

Wenn die E-Mail gesendet wird, sucht der Produkte-Block den gespeicherten Warenkorb jedes Empfängers anhand seines `PW_AbandonedCartID`-Tags. Er füllt dann den Block mit den aktuellen Warenkorbartikeln: Bild, Titel, Preis und ein Link zurück zum Warenkorb. Das Layout stammt aus der Kartenvorlage, die Sie im Editor festgelegt haben. Empfänger ohne dieses Tag (nichts abgebrochen oder bereits bestellt) überspringen den Block, anstatt leeren Inhalt anzuzeigen, sodass er auch in einer breiteren Kampagne sicher verwendet werden kann.

<Aside type="tip">
Die Warenkorb-Quelle ist im E-Mail-Inhaltseditor verfügbar. Um Käufer stattdessen mit einem Push zu erinnern, verwenden Sie einen [Push](/de/product/customer-journey/journey-elements/channels/push/)-Schritt mit [Personalisierung](/de/product/personalization/dynamic-content/), der auf die Warenkorbdetails aus dem Event verweist.
</Aside>

### Erstellen Sie die Customer Journey

1.  Fügen Sie einen [Trigger-basierten Eintritt](/de/product/customer-journey/journey-elements/entry-elements/trigger-based-entry/) mit dem `PW_AbandonedCart`-Event hinzu.
2.  Fügen Sie einen [Warten auf Trigger](/de/product/customer-journey/journey-elements/flow-controls/wait-for-trigger/)-Schritt hinzu. Stellen Sie dessen Wartezeit auf ein oder zwei Stunden ein. Nennen Sie den Zweig **Bestellung aufgegeben** und fügen Sie das `PW_OrderCreated`-Event hinzu.

<Aside type="caution">
Stellen Sie die Wartezeit direkt bei **Warten auf Trigger** ein. Fügen Sie keinen separaten **Zeitverzögerung**-Schritt davor ein.

**Warten auf Trigger** beginnt erst mit dem Lauschen auf `PW_OrderCreated`, wenn der Käufer diesen Schritt erreicht. Wenn **Zeitverzögerung** zuerst kommt und der Käufer während dieser Verzögerung eine Bestellung aufgibt, wird das Bestell-Event nicht erkannt. Der Käufer wechselt zum Zweig **Nicht ausgelöst**, aber `PW_OrderCreated` hat bereits `PW_AbandonedCartID` gelöscht. Der Produkte-Block findet keinen Warenkorb und überspringt ihn. Der Käufer erhält trotzdem die E-Mail für den abgebrochenen Warenkorb ohne Produkte, obwohl er seinen Kauf bereits abgeschlossen hat.
</Aside>

3.  Leiten Sie den Zweig **Bestellung aufgegeben** zu [Austritt](/de/product/customer-journey/journey-elements/flow-controls/exit/). Der Benutzer hat bereits gekauft, also erinnern Sie ihn nicht.
4.  Leiten Sie den Zweig **Nicht ausgelöst** zum [E-Mail](/de/product/customer-journey/journey-elements/channels/email/)-Schritt. Speichern Sie die E-Mail, die Sie in [Fügen Sie einen Produkte-Block zu Ihrer E-Mail hinzu](#add-a-products-block-to-your-email) erstellt haben, als [E-Mail-Inhalt](/de/product/content/email-content/) und wählen Sie sie dann als Inhalt dieses Schritts aus.

<img src="/lifecycle-marketing-campaigns-how-to-set-up-an-abandoned-cart-campaign-3.webp" alt="Customer Journey-Leinwand mit Trigger-basiertem Eintritt, Warten auf Trigger mit den Zweigen 'Bestellung aufgegeben' und 'Nicht ausgelöst', E-Mail- und Austrittsschritten und ohne Zeitverzögerung"/>

### Testen Sie, bevor Sie starten

1.  Senden Sie ein Test-`PW_AbandonedCart`-Event für ein Testgerät. Setzen Sie das `PW_AbandonedCartID`-Tag nicht manuell: Der Produkte-Block lädt den Warenkorbinhalt aus dem gespeicherten Warenkorb, den das Event erstellt, nicht aus dem Tag-Wert. Ohne ein echtes Event wird der Block leer gerendert.
2.  Sehen Sie sich die E-Mail in der Vorschau an und bestätigen Sie das Layout und den Produktinhalt, bevor Sie sie an echte Käufer senden.