# Nutzerprofile und Insights

Nutzerkontext und Kennzahlen zu Events ergänzen.

## Nutzerprofile

[Identify](/api/identify) erstellt oder aktualisiert ein Profil anhand von `project` und `userId`. `properties` enthält eigene Eigenschaften wie `name`, `email` oder `plan`. Sende denselben `userId` in deinen Events, damit sie dem Profil zugeordnet werden können.

```json
{
  "project": "my-project",
  "userId": "customer_123",
  "properties": {
    "name": "Elena Rossi",
    "plan": "pro"
  }
}
```

Das optionale `avatar` akzeptiert eine öffentliche HTTPS-URL oder ein Base64-Bild; `null` entfernt den Avatar. Unterstützt sind PNG, JPEG und WebP bis 2 MiB. Ein Avatar ist kein öffentlich zugänglicher Speicherlink: Profilbilder werden über authentifizierte Bildendpunkte geladen.

## Insights

Ein Insight wird durch Projekt und Titel identifiziert. [Insight setzen](/api/set-insight) ersetzt den Wert. Zulässig sind eine Zahl oder ein String.

```json
{
  "project": "my-project",
  "title": "Aktive Abonnements",
  "value": 1250,
  "icon": "👥",
  "notify": false
}
```

[Insight verändern](/api/mutate-insight) erhöht oder senkt eine Zahl mit `value.$inc`. Negative Zahlen senken den Wert. Ein fehlendes Insight beginnt bei 0; ein bisher nicht numerischer Wert wird für die Änderung ebenfalls als 0 behandelt.

```json
{
  "project": "my-project",
  "title": "Aktive Abonnements",
  "value": {
    "$inc": 1
  }
}
```

Mehrfach gesendete Änderungen werden mehrfach angewendet. Nach einem unklaren Netzwerkfehler den aktuellen Stand prüfen, bevor du erneut erhöhst.