# Trigger-basierter Einstieg

Ein **Trigger-basierter Einstieg** startet die Journey, wenn ein Benutzer ein bestimmtes Event ausführt (zum Beispiel eine bestimmte Aktion durchführt).
<Aside type="tip">
Sie können mehrere Trigger-basierte Einstiegspunkte hinzufügen. In diesem Fall startet jeder von ihnen die Journey.

<img src="/journey-elements-README-6.webp" alt="Mehrere Trigger-basierte Einstiegspunkte auf einer einzigen Journey-Canvas"/>
</Aside>

Um einen Trigger-basierten Einstieg einzurichten, suchen Sie das Einstiegselement auf der Canvas und wählen Sie das Event aus, das als Trigger dienen soll.

> Weitere Informationen zur Konfiguration von Events finden Sie in der Dokumentation zu [Events](/de/product/audience-data-and-segmentation/events/).

Wenn das ausgewählte Event Attribute hat, können Sie die Einstiegsbedingungen mithilfe dieser Attribute eingrenzen. Klicken Sie beim Bearbeiten des Elements auf **Bedingung hinzufügen**, wählen Sie dann ein Attribut aus der Dropdown-Liste aus und definieren Sie dessen Operator und Wert.

> Die verfügbaren Operatoren finden Sie unter [Tag-Operatoren nach Typ](/de/product/audience-data-and-segmentation/segmentation/create-segments/by-tags/#tag-operators-by-type).

<img src="/journey-elements-trigger-based-entry-1.webp" alt="Wählen Sie das Event aus, das als Trigger dienen soll"/>

<Aside type="caution" title="Wichtig">
- Fügen Sie **entweder die HWID (Hardware-ID) oder die User ID** in Ihre [`/postEvent`](/de/developer/api-reference/user-centric-api#postevent) API-Anfrage für das **Start-Event** ein. Wenn Sie nur eine User ID senden, ermittelt Pushwoosh das Gerät des Benutzers automatisch.
- Für den Einstieg muss der Benutzer mindestens ein registriertes Gerät haben. Eine User ID ohne zugeordnetes Gerät kann die Journey nicht betreten.
</Aside>

## Definieren, wer an der Kampagne teilnimmt

Definieren Sie, welcher Benutzer (welche Benutzer) die Journey betreten soll(en), wenn ein bestimmtes Event eintritt.

Verwenden Sie das Dropdown-Menü **Wer nimmt an der Kampagne teil?**, um zwischen den beiden verfügbaren Modi zu wählen:

### Benutzer, die das Event ausführen (Standard)

Der Benutzer, der das Event auslöst, ist derjenige, der die Journey betritt.

![Benutzer auswählen, die das Event ausführen](/journey-elements-trigger-based-entry-7.webp)

**Beispiel**  
Ein Benutzer schließt einen Kauf ab (`CheckoutSuccess`-Event). Derselbe Benutzer (z. B. `User ID: 123`) tritt in eine Post-Purchase-Journey ein, die eine Dankesnachricht, Produktempfehlungen oder eine Zufriedenheitsumfrage enthält.

### Benutzer aus einem Event-Attribut

Anstatt den Benutzer, der das Event ausgelöst hat, zu registrieren, können Sie eine oder mehrere [`User IDs`](/de/product/pushwoosh-knowledge-hub/users-userids/) in einem benutzerdefinierten Event-Attribut übergeben. Die in diesem Attribut aufgeführten Benutzer treten in die Journey ein.

Wählen Sie dazu **Benutzer aus einem Event-Attribut** und wählen Sie einen Attributschlüssel (z. B. `recipient_ids`, `target_user_id`). Dieser Schlüssel sollte Ihrer Event-Payload-Struktur entsprechen.

![Benutzer aus einem Event-Attribut auswählen](/journey-elements-trigger-based-entry-8.webp)

<Aside type="caution" title="Unterstützung durch Entwickler erforderlich">
Um den Modus **Benutzer aus einem Event-Attribut** korrekt zu verwenden, muss Ihre App oder Ihr Backend die korrekte Payload-Struktur senden. Bitte teilen Sie die folgenden Beispiele mit Ihrem Entwicklungsteam.
</Aside>

##### Beispiel-Payload (einzelner Benutzer)

```json
{
  "application": "XXXXX-XXXXX",
  "event": "invitation",         
  "attributes": {
      "targetId": 321
  },
  "userId": 123
}

```

Benutzer `321` (aus `targetId`) tritt in die Journey ein.

##### Beispiel-Payload (mehrere Benutzer)

Wenn Sie mehrere User IDs angeben, verwenden Sie ein JSON-Array von Zeichenketten.

```javascript
{
    "application": "XXXXX-XXXXX",
    "event": "invitation",         
    "attributes": {
        "targetIds": [1,2,3,4]
    },
    "userId": 123
}

```

Die Benutzer `1`, `2`, `3` und `4` treten in die Journey ein.

#### Anwendungsfälle

**Benachrichtigungen bei Kommentaren**

Wenn jemand den Beitrag eines Benutzers kommentiert, wird der Besitzer des Beitrags benachrichtigt.

**Beispiel:** Ein Kommentar-Event enthält die ID des Beitrag-Besitzers in einem `target_user_id`-Attribut. Dieser Benutzer tritt in eine Journey ein, um die Benachrichtigung zu erhalten.

**Empfehlungsprogramme**

Wenn sich ein geworbener Benutzer anmeldet oder einen Kauf tätigt, wird die Person, die ihn geworben hat, zur Journey hinzugefügt.

**Beispiel:** Benutzer `123` löst das Event aus, und der Werber `456` (aus dem `referrer_id`-Attribut) tritt in eine Belohnungskampagne ein.

**Geschenkkäufe**

Wenn ein Benutzer ein Geschenk kauft, wird der Empfänger mithilfe der `recipient_user_id` aus der Event-Payload zu einer Journey hinzugefügt.

**Beispiel** Benutzer `123` kauft ein Geschenk für Benutzer `456`, der dann eine Benachrichtigung, einen Onboarding-Flow oder eine Dankesnachricht erhält.

## Einstiegsverfügbarkeit festlegen

Steuern Sie, wann Benutzer über einen Trigger-basierten Einstieg in eine Journey eintreten können. Sie haben zwei Möglichkeiten:

*   **Eintritt jederzeit erlauben**: Benutzer können jederzeit in die Journey eintreten, wenn das Trigger-Event eintritt.
*   **Eintritt auf einen bestimmten Zeitraum beschränken**: Benutzer können nur dann in die Journey eintreten, wenn das Trigger-Event innerhalb des ausgewählten Zeitraums stattfindet.

    Wenn Sie den Eintritt beschränken, wählen Sie das **Startdatum**, das **Enddatum** und die **Zeitzone**. Das Eintrittsfenster beginnt am Startdatum um **00:00 Uhr** und endet am Enddatum um **23:59 Uhr**, basierend auf der gewählten Zeitzone.

![Einstiegsverfügbarkeit festlegen](/journey-elements-trigger-based-entry-2.webp)

## Steuern, wie viele Sitzungen ein Benutzer gleichzeitig haben kann

Entscheiden Sie, ob jeder Benutzer nur an einer Journey gleichzeitig teilnehmen kann oder an mehreren Journeys parallel teilnehmen kann.

Wählen Sie eine der folgenden Optionen aus dem Dropdown-Menü:

*   Eine aktive Sitzung pro Benutzer
*   Mehrere aktive Sitzungen pro Benutzer

#### Eine aktive Sitzung pro Benutzer

Jeder Benutzer kann nur eine aktive Sitzung in der Kampagne haben. Er muss die aktuelle Sitzung abschließen oder verlassen, bevor er eine neue beginnen kann.

![Eine aktive Sitzung pro Benutzer auswählen](/journey-elements-trigger-based-entry-3.webp)
##### Anwendungsfälle

*   **Onboarding-Flows**, bei denen ein Benutzer nicht neu starten sollte, bevor er die aktuelle Journey abgeschlossen hat
*   **Erinnerungen an Abonnementverlängerungen**, bei denen Benutzer keine überlappenden Benachrichtigungen erhalten sollten
*   **Zeitlich begrenzte Angebote oder Testversionen**, bei denen nur ein aktiver Kampagnenlauf pro Benutzer erlaubt ist
*   **Feedback-Sammelkampagnen**, um sicherzustellen, dass jeder Benutzer einmal Feedback gibt, bevor er erneut teilnimmt

#### Mehrere aktive Sitzungen pro Benutzer

Benutzer können mehr als eine aktive Sitzung in einer Kampagne haben. Jede Sitzung muss durch ein eindeutiges Event-Attribut identifiziert werden (z. B. `order_id`, `product_id`).

Um dies einzurichten:

1.  Wählen Sie **Mehrere aktive Sitzungen pro Benutzer** im Dropdown-Menü aus.

2.  Wählen Sie ein Attribut zur Sitzungsidentifizierung (z. B. `order_id`, `product_id`). Dieses Attribut unterscheidet eine Sitzung von einer anderen.

![Mehrere aktive Sitzungen pro Benutzer auswählen](/journey-elements-trigger-based-entry-4.webp)

<Aside type="caution" title="Wichtig">
Dieses Attribut muss in allen relevanten Journey-Events enthalten sein (zum Beispiel in **Auf Trigger warten** oder **Conversion-Ziele**). Wenn das Attribut zur Sitzungsidentifizierung fehlt, kann das System das Event keiner bestimmten Sitzung zuordnen. Stattdessen wird das Event auf alle aktiven Sitzungen für diesen Benutzer angewendet.
</Aside>

**Beispiel**

*   `OrderPlaced` mit `order_id = "1001"` → startet **Sitzung 1**

*   `OrderPlaced` mit `order_id = "1002"` → startet **Sitzung 2**

Wenn ein `OrderReady`-Event ohne `order_id` gesendet wird, werden sowohl Sitzung 1 als auch Sitzung 2 als „bereit“ markiert, auch wenn nur eine Bestellung tatsächlich bereit ist.

##### Anwendungsfälle

*   **E-Commerce-Käufe**: Jede Bestellung startet ihre eigene Journey, sodass mehrere Bestellungen eines Benutzers unabhängig voneinander verfolgt werden können. *(Attribut: `order_id`)*
*   **Empfehlungsprogramme**: Jede Empfehlung erstellt eine neue Sitzung, sodass ein Benutzer mehrere Freunde werben kann. *(Attribut: `referral_id`)*
*   **Treueprogramme**: Verfolgen Sie Punkte oder Belohnungen aus verschiedenen Transaktionen, die parallel laufen. *(Attribut: `transaction_id`)*
*   **Ticketbuchungen**: Jede Buchung startet ihre eigene Journey, sodass Benutzer mehrere Tickets gleichzeitig verwalten können. *(Attribut: `booking_id`)*
*   **Terminplanung**: Jeder Termin wird als separate Sitzung behandelt. *(Attribut: `appointment_id`)*

## Steuern, ob Benutzer erneut an der Kampagne teilnehmen können

Entscheiden Sie, was passiert, wenn ein Benutzer, der sich bereits in der Journey befindet, das Einstiegs-Event erneut auslöst.

Wählen Sie eine der folgenden Optionen aus dem Dropdown-Menü:

*   Wiedereintritt nicht erlauben (Standard)
*   Wiedereintritt erlauben

#### Wiedereintritt nicht erlauben

Benutzer, die sich bereits in der Journey befinden, werden nicht erneut eintreten. Wenn ein Benutzer in einer aktiven Sitzung ist und das Einstiegs-Event erneut auslöst, wird der neue Trigger ignoriert und der Benutzer setzt seine aktuelle Sitzung fort.

**Anwendungsfälle**

*   **Willkommens- und Onboarding-Serien**, bei denen ein neuer Benutzer die Journey einmal von Anfang bis Ende durchläuft und seinen Platz behält, wenn er das Event erneut auslöst, anstatt an den Anfang zurückgeschickt zu werden
*   **Einmalige Angebote**, bei denen jeder Kunde eine Werbeaktion oder einen Rabatt nur einmal erhalten sollte, auch wenn er das Event mehrmals auslöst
*   **Bildungs- und Nurture-Flows**, bei denen Abonnenten sich weiter durch den Inhalt bewegen, ohne neu zu starten und dieselben E-Mails erneut zu erhalten

#### Wiedereintritt erlauben

Benutzer, die sich bereits in der Journey befinden, werden aus ihrer aktuellen Sitzung entfernt und mit einer neuen Sitzung wieder aufgenommen. Jedes Mal, wenn ein Benutzer das Einstiegs-Event auslöst, endet seine aktuelle Sitzung und eine neue beginnt.

**Anwendungsfälle**

*   **Preisalarm-Benachrichtigungen**, bei denen der Neustart den neuen Preis aufgreifen muss, anstatt weiterhin über den veralteten Preis aus der vorherigen Sitzung zu benachrichtigen
*   **Rückgewinnungskampagnen**, bei denen ein zurückkehrender inaktiver Benutzer immer mit der ersten Nachricht in der Sequenz beginnen sollte

<Aside type="note">
Die Wiedereintrittssteuerung legt fest, was mit Benutzern geschieht, die sich bereits in der Journey befinden. Sie hat keinen Einfluss darauf, wie viele Sitzungen ein Benutzer parallel ausführen kann. Dies wird unter [Steuern, wie viele Sitzungen ein Benutzer gleichzeitig haben kann](#control-how-many-sessions-a-user-can-have-at-the-same-time) konfiguriert.
</Aside>

Sobald Sie das Einstiegselement konfiguriert haben, klicken Sie auf **Anwenden**, um die Änderungen zu speichern.

## Beispielszenario: E-Commerce-Bestell-Journey mit mehreren Sitzungen

Stellen Sie sich vor, Sie möchten für jede Bestellung, die ein Benutzer aufgibt, Benachrichtigungen senden. Jede Bestellung sollte ihre eigene Journey-Sitzung haben. Dazu verwenden Sie das `OrderPlaced`-Event als Trigger und das Attribut `order_id` als Sitzungsidentifikator.

1.  Erstellen Sie das Event `OrderPlaced` und stellen Sie sicher, dass es das Attribut `order_id` enthält. [Erfahren Sie mehr über das Erstellen von Events](/de/product/audience-data-and-segmentation/events/#implementation)

![OrderPlaced-Event erstellen](/journey-elements-trigger-based-entry-5.webp)
2.  Legen Sie dieses Event als Trigger für Ihre Journey fest.

![Dieses Event als Trigger für Ihre Journey festlegen](/journey-elements-trigger-based-entry-6.webp)

3.  Wählen Sie in den Sitzungseinstellungen **Mehrere aktive Sitzungen pro Benutzer** und wählen Sie `order_id` als Sitzungsidentifikator.

![Mehrere aktive Sitzungen pro Benutzer auswählen](/journey-elements-trigger-based-entry-9.webp)

In dieser Konfiguration startet jede neue Bestellung eine separate Journey-Sitzung.

*   `OrderPlaced` mit `order_id = 1001` startet **Sitzung 1**
*   `OrderPlaced` mit `order_id = 1002` startet **Sitzung 2**

4.  Fügen Sie als Nächstes ein [Auf Trigger warten-Element](/de/product/customer-journey/journey-elements/flow-controls/wait-for-trigger/) hinzu, um zu verfolgen, wann eine Bestellung zur Abholung oder Lieferung bereit ist. Verwenden Sie das Event `OrderReady`, das ebenfalls dieselbe `order_id` enthalten muss.
    Dies stellt sicher, dass jede Bestellung in der richtigen Sitzung aktualisiert wird:
*   `OrderReady` mit `order_id = 1001` gilt nur für **Sitzung 1**
*   `OrderReady` mit `order_id = 1002` gilt nur für **Sitzung 2**
<Aside type="caution" title="Wichtig">
Wenn das Event **keine** `order_id` enthält, kann das System nicht erkennen, zu welcher Sitzung es gehört, und das Event wird auf alle aktiven Sitzungen für diesen Benutzer angewendet.
</Aside>

![Das Event OrderReady im Auf Trigger warten-Element verwenden](/journey-elements-trigger-based-entry-10.webp)

5.  Fügen Sie schließlich ein [Conversion-Ziel](/de/product/customer-journey/journey-settings/#conversion-goals) hinzu, zum Beispiel das `OrderDelivered`-Event. Dieses Event muss ebenfalls dieselbe `order_id` enthalten, damit es der richtigen Sitzung zugeordnet werden kann.
*   Wenn `OrderDelivered` `order_id = "1001"` enthält, wird eine Conversion für **Sitzung 1** erfasst.

*   Wenn `OrderDelivered` `order_id = "1002"` enthält, wird eine Conversion für **Sitzung 2** erfasst.
<Aside type="caution" title="Wichtig">
Wenn `order_id` fehlt, wird die Conversion auf alle aktiven Sitzungen für diesen Benutzer angewendet, anstatt nur auf die beabsichtigte.
</Aside>

![Mehrere aktive Sitzungen pro Benutzer auswählen](/journey-elements-trigger-based-entry-11.webp)