> ## 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.

# Event-Tracking

> Referenz für die Kundenverhalten-Events, die storekit erfasst, und wie sie mit Analyseplattformen wie Google Analytics, GTM und Meta Pixel integriert werden.

storekit erfasst Verhaltens-Events, um Ihnen zu helfen, Kundenreisen zu verstehen, Conversions zu optimieren und Marketing-Integrationen zu ermöglichen. Diese Seite erklärt, was wir tracken, wie Daten fließen und wie Events mit Drittanbieterplattformen integriert werden.

## Native Event-Erfassung

storekit erfasst Events automatisch über Web- und native Apps hinweg, ohne dass zusätzlicher Code erforderlich ist.

### Kernkommerz-Events

<AccordionGroup>
  <Accordion title="active_on_site">
    Wird ausgelöst, wenn ein Kunde im Store landet.

    ```json theme={null}
    {
      "event": "active_on_site",
      "properties": {
        "accountId": "40586258-8a99-4651-b79f-0a1ab602a926",
        "id": 8709,
        "slug": "your-store"
      }
    }
    ```
  </Accordion>

  <Accordion title="menu_loaded">
    Wird ausgelöst, wenn das Menü vollständig geladen wurde.

    ```json theme={null}
    {
      "event": "menu_loaded",
      "properties": {
        "menuId": 12345
      }
    }
    ```
  </Accordion>

  <Accordion title="viewed_product">
    Wird ausgelöst, wenn ein Kunde ein Produkt-Modal öffnet.

    ```json theme={null}
    {
      "event": "viewed_product",
      "properties": {
        "id": 98765,
        "name": "Flat White",
        "currency": "GBP",
        "price": 350,
        "image": "https://cdn.storekit.com/products/flat-white.jpg",
        "plu": "FW001",
        "sku": "SKU-FW-001"
      }
    }
    ```
  </Accordion>

  <Accordion title="add_to_cart">
    Wird ausgelöst, wenn ein Artikel in den Warenkorb gelegt wird.

    ```json theme={null}
    {
      "event": "add_to_cart",
      "properties": {
        "id": 98765,
        "name": "Flat White",
        "price": 400,
        "image": "https://cdn.storekit.com/products/flat-white.jpg",
        "modifiers": [
          {
            "id": 111,
            "name": "Oat Milk",
            "price": 50
          }
        ]
      }
    }
    ```
  </Accordion>

  <Accordion title="remove_from_cart">
    Wird ausgelöst, wenn ein Artikel aus dem Warenkorb entfernt wird.

    ```json theme={null}
    {
      "event": "remove_from_cart",
      "properties": {
        "id": 98765,
        "name": "Flat White",
        "price": 400,
        "image": "https://cdn.storekit.com/products/flat-white.jpg",
        "modifiers": []
      }
    }
    ```
  </Accordion>

  <Accordion title="started_checkout">
    Wird ausgelöst, wenn der Kunde den Checkout-Bildschirm öffnet.

    ```json theme={null}
    {
      "event": "started_checkout",
      "properties": {
        "currency": "GBP",
        "items": [
          {
            "id": 98765,
            "name": "Flat White",
            "price": 400,
            "quantity": 2,
            "modifiers": []
          }
        ],
        "venueSlug": "your-store",
        "value": 8.00
      }
    }
    ```
  </Accordion>

  <Accordion title="order_completed">
    Wird ausgelöst, wenn die Zahlung bestätigt und die Bestellung aufgegeben wurde.

    ```json theme={null}
    {
      "event": "order_completed",
      "properties": {
        "orderId": "ord_789xyz",
        "total": 12.50,
        "currency": "GBP",
        "venueSlug": "your-store",
        "order": {
          "items": [...],
          "fulfillmentMethod": "delivery",
          "customer": {...}
        }
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Such- und Discovery-Events

<AccordionGroup>
  <Accordion title="products_searched">
    Wird ausgelöst, wenn ein Kunde eine Suche durchführt (debounced um 1 Sekunde).

    ```json theme={null}
    {
      "event": "products_searched",
      "properties": {
        "query": "coffee",
        "resultCount": 12
      }
    }
    ```
  </Accordion>

  <Accordion title="cross_sell_modal_view">
    Wird ausgelöst, wenn das Upsell-/Cross-Sell-Modal angezeigt wird.

    ```json theme={null}
    {
      "event": "cross_sell_modal_view",
      "properties": {
        "productCount": 4,
        "crossSellType": "product"
      }
    }
    ```

    `crossSellType` ist entweder `"product"` oder `"category"`, je nach Konfiguration.
  </Accordion>
</AccordionGroup>

### Rabatt-Events

<AccordionGroup>
  <Accordion title="discount_entered">
    Wird ausgelöst, wenn ein Kunde einen Rabattcode einreicht.

    ```json theme={null}
    {
      "event": "discount_entered",
      "properties": {
        "code": "SUMMER20"
      }
    }
    ```
  </Accordion>

  <Accordion title="discount_applied">
    Wird ausgelöst, wenn ein Rabattcode erfolgreich angewendet wird.

    ```json theme={null}
    {
      "event": "discount_applied",
      "properties": {
        "discount_id": 456,
        "discount_name": "Summer Sale",
        "discount_amount": 500,
        "discount_type": "percentage"
      }
    }
    ```
  </Accordion>

  <Accordion title="discount_denied">
    Wird ausgelöst, wenn ein Rabattcode abgelehnt wird.

    ```json theme={null}
    {
      "event": "discount_denied",
      "properties": {
        "discount_code": "EXPIRED10",
        "reason": "Code has expired",
        "status_code": 400
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Werbeangebot-Events

<AccordionGroup>
  <Accordion title="viewed_offer">
    Wird ausgelöst, wenn ein Werbeangebot sichtbar wird.

    ```json theme={null}
    {
      "event": "viewed_offer",
      "properties": {
        "offerId": 123,
        "linkId": "link_abc",
        "type": "banner",
        "value": "20% off"
      }
    }
    ```
  </Accordion>

  <Accordion title="click_offer">
    Wird ausgelöst, wenn ein Kunde auf ein Werbeangebot klickt.

    ```json theme={null}
    {
      "event": "click_offer",
      "properties": {
        "offerId": 123,
        "linkId": "link_abc",
        "type": "banner",
        "value": "20% off"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Stories-Events

<AccordionGroup>
  <Accordion title="story_viewer_opened">
    Wird ausgelöst, wenn ein Kunde den Story-Viewer öffnet.

    ```json theme={null}
    {
      "event": "story_viewer_opened",
      "properties": {
        "storyId": 789,
        "storyIndex": 0,
        "storyTitle": "New Summer Menu",
        "totalStories": 5,
        "source": "menu_page"
      }
    }
    ```
  </Accordion>

  <Accordion title="story_viewed">
    Wird ausgelöst, wenn eine Story-Seite angezeigt wird.

    ```json theme={null}
    {
      "event": "story_viewed",
      "properties": {
        "storyId": 789,
        "storyTitle": "New Summer Menu",
        "pageIndex": 2,
        "totalPages": 4,
        "hasVideo": true,
        "hasCta": true
      }
    }
    ```
  </Accordion>

  <Accordion title="story_navigation">
    Wird ausgelöst, wenn ein Kunde zwischen Story-Seiten navigiert.

    ```json theme={null}
    {
      "event": "story_navigation",
      "properties": {
        "storyId": 789,
        "fromPage": 1,
        "toPage": 2,
        "direction": "forward",
        "method": "tap"
      }
    }
    ```
  </Accordion>

  <Accordion title="story_cta_clicked">
    Wird ausgelöst, wenn ein Kunde in einer Story auf ein CTA klickt.

    ```json theme={null}
    {
      "event": "story_cta_clicked",
      "properties": {
        "storyId": 789,
        "pageIndex": 2,
        "ctaType": "product",
        "ctaLabel": "Order Now",
        "ctaData": { "productId": 456 },
        "videoProgressPercent": 75
      }
    }
    ```
  </Accordion>

  <Accordion title="story_completed">
    Wird ausgelöst, wenn ein Kunde alle Seiten einer Story angesehen hat.

    ```json theme={null}
    {
      "event": "story_completed",
      "properties": {
        "storyId": 789,
        "storyTitle": "New Summer Menu",
        "totalPages": 4,
        "timeSpentSeconds": 32
      }
    }
    ```
  </Accordion>

  <Accordion title="story_viewer_closed">
    Wird ausgelöst, wenn der Story-Viewer geschlossen wird.

    ```json theme={null}
    {
      "event": "story_viewer_closed",
      "properties": {
        "storyId": 789,
        "pageIndex": 2,
        "totalStoriesViewed": 3,
        "totalPagesViewed": 8,
        "timeSpentSeconds": 45,
        "closeMethod": "swipe_down"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

### Experimentierungs-Events

<AccordionGroup>
  <Accordion title="viewed_experiment">
    Wird ausgelöst, wenn ein Kunde einer A/B-Test-Variante ausgesetzt wird.

    ```json theme={null}
    {
      "event": "viewed_experiment",
      "properties": {
        "experimentId": "checkout-flow-v2",
        "variationId": 1,
        "venueId": 8709,
        "accountId": "40586258-8a99-4651-b79f-0a1ab602a926",
        "venueSlug": "your-store"
      }
    }
    ```
  </Accordion>
</AccordionGroup>

## Item-ID-Auflösung

Beim Senden von Events an Analyseplattformen löst storekit die `item_id` mit der folgenden Priorität auf:

1. **PLU** – Point-of-Sale-Lookup-Code (bevorzugt für POS-verbundene Stores)
2. **SKU** – Stock Keeping Unit
3. **POS-ID** – Kennung des externen POS-Systems
4. **ID** – Interne Produkt-ID von storekit (Fallback)

Dies stellt sicher, dass Ihre Analysedaten dieselben Kennungen wie Ihr POS-System für genaue Berichterstattung und Attribution verwenden.

```
item_id = product.plu || product.sku || product.posId || product.id
```

<Tip>
  Für die besten Ergebnisse stellen Sie sicher, dass Ihre Produkte PLU-Codes konfiguriert haben, wenn Sie eine POS-Integration verwenden. Dies hält Ihre Analysedaten mit Ihren POS-Berichten konsistent.
</Tip>

## Plattformintegrationen

storekit leitet Events in ihrem nativen Format an Drittanbieterplattformen weiter. Events werden automatisch transformiert – kein Mapping erforderlich.

### Meta (Facebook) Pixel

Events werden an die Pixel API von Meta gesendet. Ein `PageView`-Event wird bei der Initialisierung automatisch ausgelöst.

<AccordionGroup>
  <Accordion title="AddToCart">
    Ausgelöst durch `add_to_cart`

    ```json theme={null}
    {
      "content_ids": [98765],
      "content_name": "Flat White",
      "currency": "GBP",
      "value": "4.00",
      "content_type": "product"
    }
    ```
  </Accordion>

  <Accordion title="InitiateCheckout">
    Ausgelöst durch `started_checkout`

    ```json theme={null}
    {
      "currency": "GBP",
      "value": 8.00
    }
    ```
  </Accordion>

  <Accordion title="Purchase">
    Ausgelöst durch `order_completed`

    ```json theme={null}
    {
      "currency": "GBP",
      "value": "12.50",
      "content_type": "product"
    }
    ```
  </Accordion>
</AccordionGroup>

<Info>
  Meta Pixel bietet eine bessere Attribution als reine Browser-Pixel, insbesondere bei iOS-Datenschutzänderungen und Werbeblockern.
</Info>

### Google Analytics 4 / Google Tag Manager

Events werden dem `dataLayer` gemäß dem E-Commerce-Schema von GA4 hinzugefügt.

<AccordionGroup>
  <Accordion title="active_on_site">
    ```json theme={null}
    {
      "event": "active_on_site",
      "userId": null,
      "sessionId": null,
      "pagePath": null
    }
    ```
  </Accordion>

  <Accordion title="view_item">
    Ausgelöst durch `viewed_product`

    ```json theme={null}
    {
      "event": "view_item",
      "currency": "GBP",
      "value": 3.50,
      "items": [
        {
          "item_id": "FW001",
          "item_name": "Flat White"
        }
      ]
    }
    ```
  </Accordion>

  <Accordion title="add_to_cart">
    ```json theme={null}
    {
      "event": "add_to_cart",
      "value": 4.00,
      "currency": "GBP",
      "items": [
        {
          "item_name": "Flat White",
          "item_id": "FW001",
          "price": 4.00,
          "quantity": 1
        }
      ]
    }
    ```
  </Accordion>

  <Accordion title="begin_checkout">
    Ausgelöst durch `started_checkout`

    ```json theme={null}
    {
      "event": "begin_checkout",
      "value": 8.00,
      "currency": "GBP",
      "items": [
        {
          "item_name": "Flat White",
          "affiliation": "your-store",
          "item_id": "FW001",
          "price": 4.00,
          "quantity": 2,
          "category": "Hot Drinks",
          "item_variant": "Oat Milk"
        }
      ]
    }
    ```
  </Accordion>

  <Accordion title="purchase">
    Ausgelöst durch `order_completed`

    ```json theme={null}
    {
      "event": "purchase",
      "transaction_id": "ord_789xyz",
      "value": 12.50,
      "currency": "GBP",
      "items": [
        {
          "item_name": "Flat White",
          "affiliation": "your-store",
          "item_id": "FW001",
          "price": 4.00,
          "quantity": 2,
          "category": "Hot Drinks",
          "item_variant": "Oat Milk"
        }
      ]
    }
    ```
  </Accordion>
</AccordionGroup>

### Klaviyo

Events werden an Klaviyo für E-Mail-Marketing-Automatisierung gesendet. Die Kundenidentität wird per E-Mail verknüpft, wenn verfügbar, mit `klaviyo.identify()`.

<AccordionGroup>
  <Accordion title="Active on Site">
    Ausgelöst durch `active_on_site`

    ```json theme={null}
    {
      "AccountId": "40586258-8a99-4651-b79f-0a1ab602a926",
      "VenueId": 8709,
      "VenueSlug": "your-store"
    }
    ```
  </Accordion>

  <Accordion title="Viewed Product">
    Ausgelöst durch `viewed_product`

    ```json theme={null}
    {
      "ProductId": 98765,
      "ProductName": "Flat White",
      "ProductPrice": 350,
      "ProductImage": "https://cdn.storekit.com/products/flat-white.jpg"
    }
    ```
  </Accordion>

  <Accordion title="Added to Cart">
    Ausgelöst durch `add_to_cart`

    ```json theme={null}
    {
      "ProductId": 98765,
      "ProductName": "Flat White",
      "ProductPrice": 400,
      "ProductImage": "https://cdn.storekit.com/products/flat-white.jpg"
    }
    ```
  </Accordion>

  <Accordion title="Started Checkout">
    Ausgelöst durch `started_checkout`

    ```json theme={null}
    {
      "Currency": "GBP",
      "Value": 8.00
    }
    ```
  </Accordion>
</AccordionGroup>

### First-Party-Event-Erfassung

Für Kunden, die vollständigen Datenbesitz wünschen, kann storekit Events direkt an Ihr eigenes Data Warehouse senden. Alle Events enthalten automatisch Basiskontext-Eigenschaften.

**Basiskontext (in allen Events enthalten):**

```json theme={null}
{
  "account_id": "40586258-8a99-4651-b79f-0a1ab602a926",
  "venue_id": 8709,
  "venue_slug": "your-store"
}
```

<AccordionGroup>
  <Accordion title="venue_loaded">
    Ausgelöst durch `active_on_site`. Identifiziert auch den Benutzer.

    ```json theme={null}
    {
      "event": "venue_loaded"
    }
    ```
  </Accordion>

  <Accordion title="menu_loaded">
    ```json theme={null}
    {
      "event": "menu_loaded",
      "menu_id": 12345
    }
    ```
  </Accordion>

  <Accordion title="product_modal_view">
    Ausgelöst durch `viewed_product`

    ```json theme={null}
    {
      "event": "product_modal_view",
      "product_id": 98765,
      "product_name": "Flat White",
      "product_price": 350,
      "product_image": "https://cdn.storekit.com/products/flat-white.jpg",
      "product_plu": "FW001"
    }
    ```
  </Accordion>

  <Accordion title="add_to_cart">
    ```json theme={null}
    {
      "event": "add_to_cart",
      "product_id": 98765,
      "product_name": "Flat White",
      "product_price": 400,
      "product_image": "https://cdn.storekit.com/products/flat-white.jpg",
      "product_quantity": 1,
      "product_plu": "FW001",
      "add_to_cart_source": null
    }
    ```
  </Accordion>

  <Accordion title="remove_from_cart">
    ```json theme={null}
    {
      "event": "remove_from_cart",
      "product_id": 98765,
      "product_name": "Flat White",
      "product_price": 400,
      "product_image": "https://cdn.storekit.com/products/flat-white.jpg",
      "product_quantity": 1,
      "product_plu": "FW001"
    }
    ```
  </Accordion>

  <Accordion title="order_completed">
    ```json theme={null}
    {
      "event": "order_completed",
      "orderId": "ord_789xyz",
      "total": 12.50,
      "currency": "GBP"
    }
    ```
  </Accordion>

  <Accordion title="cross_sell_modal_view">
    ```json theme={null}
    {
      "event": "cross_sell_modal_view",
      "product_count": 4,
      "cross_sell_type": "product"
    }
    ```
  </Accordion>

  <Accordion title="viewed_offer">
    ```json theme={null}
    {
      "event": "viewed_offer",
      "offer_id": 123,
      "link_id": "link_abc",
      "type": "banner",
      "value": "20% off"
    }
    ```
  </Accordion>

  <Accordion title="clicked_offer">
    Ausgelöst durch `click_offer`

    ```json theme={null}
    {
      "event": "clicked_offer",
      "offer_id": 123,
      "link_id": "link_abc",
      "type": "banner",
      "value": "20% off"
    }
    ```
  </Accordion>

  <Accordion title="products_searched">
    ```json theme={null}
    {
      "event": "products_searched",
      "query": "coffee",
      "result_count": 12
    }
    ```
  </Accordion>

  <Accordion title="experiment_viewed">
    Ausgelöst durch `viewed_experiment`

    ```json theme={null}
    {
      "event": "experiment_viewed",
      "experiment_key": "checkout-flow-v2",
      "variation_id": 1,
      "account_id": "40586258-8a99-4651-b79f-0a1ab602a926",
      "venue_id": 8709,
      "venue_slug": "your-store"
    }
    ```
  </Accordion>

  <Accordion title="story_viewer_opened">
    ```json theme={null}
    {
      "event": "story_viewer_opened",
      "story_id": 789,
      "story_index": 0,
      "story_title": "New Summer Menu",
      "total_stories": 5,
      "source": "menu_page"
    }
    ```
  </Accordion>

  <Accordion title="story_viewed">
    ```json theme={null}
    {
      "event": "story_viewed",
      "story_id": 789,
      "story_title": "New Summer Menu",
      "page_index": 2,
      "total_pages": 4,
      "has_video": true,
      "has_cta": true
    }
    ```
  </Accordion>

  <Accordion title="story_navigation">
    ```json theme={null}
    {
      "event": "story_navigation",
      "story_id": 789,
      "from_page": 1,
      "to_page": 2,
      "direction": "forward",
      "method": "tap"
    }
    ```
  </Accordion>

  <Accordion title="story_cta_clicked">
    ```json theme={null}
    {
      "event": "story_cta_clicked",
      "story_id": 789,
      "page_index": 2,
      "cta_type": "product",
      "cta_label": "Order Now",
      "cta_data": { "productId": 456 },
      "video_progress_percent": 75
    }
    ```
  </Accordion>

  <Accordion title="story_completed">
    ```json theme={null}
    {
      "event": "story_completed",
      "story_id": 789,
      "story_title": "New Summer Menu",
      "total_pages": 4,
      "time_spent_seconds": 32
    }
    ```
  </Accordion>

  <Accordion title="story_viewer_closed">
    ```json theme={null}
    {
      "event": "story_viewer_closed",
      "story_id": 789,
      "page_index": 2,
      "total_stories_viewed": 3,
      "total_pages_viewed": 8,
      "time_spent_seconds": 45,
      "close_method": "swipe_down"
    }
    ```
  </Accordion>
</AccordionGroup>

## Konfiguration

### Integrationen aktivieren

1. Gehen Sie zu **Settings > Integrations** in Ihrem Dashboard
2. Wählen Sie die Analyseplattform
3. Geben Sie Ihre Pixel-/Measurement-ID oder Ihren API-Schlüssel ein:
   * **Google Tag Manager**: Container-ID (GTM-XXXXX)
   * **Meta Pixel**: Pixel-ID
   * **Klaviyo**: API-Schlüssel
4. Events beginnen sofort zu fließen

### Unterstützte Chat-Integrationen

Das Analysesystem initialisiert bei entsprechender Konfiguration auch Chat-Widgets:

* Front Chat
* Superchat
* Tawk.to
* Intercom

## Fehlerbehebung

<AccordionGroup>
  <Accordion title="Events erscheinen nicht in Meta/Google">
    Überprüfen Sie, dass Ihre Pixel-ID korrekt ist und die Integration aktiviert ist. Serverseitige Events können aufgrund von Plattformverarbeitungsverzögerungen bis zu 24 Stunden benötigen, um in einigen Dashboards zu erscheinen.
  </Accordion>

  <Accordion title="Umsatzwerte stimmen nicht überein">
    Stellen Sie sicher, dass Ihre Analyseplattform für die richtige Währung konfiguriert ist. storekit sendet Werte in der Landeswährung des Stores. Beachten Sie, dass Preise in Events in kleineren Einheiten (Pence/Cents) angegeben sind, sofern nicht anders angegeben.
  </Accordion>

  <Accordion title="Fehlende Benutzeridentität">
    Anonyme Besucher werden mit einer gerätebasierten ID verfolgt. Die Benutzeridentität wird zugeordnet, sobald sie ihre E-Mail an der Kasse angeben.
  </Accordion>

  <Accordion title="Store-Designer-Modus">
    Analyse ist deaktiviert, wenn der Store im Store-Designer-Modus angezeigt wird, um zu vermeiden, dass Ihre Daten mit Testdaten belastet werden.
  </Accordion>
</AccordionGroup>


## Related topics

- [Rabatte per Bulk-Import](/docs/de/guides/discounts/bulk-import.md)
- [Webhook-Events](/docs/de/developers/webhooks/webhook-events.md)
- [Shipday – Dispatch und Routenoptimierung](/docs/de/guides/integrations/delivery/shipday.md)
- [Eine eigene Domain mit Ihrer storekit-Bestellseite verbinden](/docs/de/guides/marketing/custom-domains.md)
- [Bericht „Alle Transaktionen"](/docs/de/guides/reports/transactions-report.md)
