MailLandDocs
Analytik

Analytics – Übersicht

Verfolgen Sie die E-Mail-Leistung mit Echtzeit-Ereigniszusammenfassungen, täglichen Statistiken, Raten und Volumenmetriken

MailLand bietet Echtzeit-Analytics auf Basis von ClickHouse für leistungsstarke Aggregationen über Millionen von Ereignissen. Verfolgen Sie Zustellungen, Öffnungen, Klicks, Bounces und Beschwerden mit flexiblen Datumsbereichen und Filterung nach E-Mail-Typ.

Ereigniszusammenfassung

Aggregierte Ereignisanzahlen für einen Zeitraum abrufen:

GET https://api.mail.land/v1/transactional/analytics/events/summary
Get event summary
curl "https://api.mail.land/v1/transactional/analytics/events/summary?from=2026-01-18&to=2026-02-17" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."

Abfrageparameter

ParameterTypStandardBeschreibung
fromdatetimeVor 30 TagenStartdatum (Alias: startDate)
todatetimeJetztEnddatum (Alias: endDate)
emailTypeint-0 = Transaktional, 1 = Marketing, weglassen für alle
refreshboolfalseCache umgehen und frische Daten abrufen
Event summary response
{
  "from": "2026-01-18T00:00:00Z",
  "to": "2026-02-17T23:59:59Z",
  "sent": 142500,
  "delivered": 140325,
  "opened": 44878,
  "clicked": 5843,
  "bounced": 1125,
  "complained": 28,
  "source": "clickhouse",
  "data_source": "clickhouse",
  "is_degraded": false,
  "queryTimeMs": 45
}
FeldBeschreibung
sentVom MTA akzeptierte E-Mails
deliveredErfolgreich an den Mailserver des Empfängers zugestellt
openedEindeutige Nachrichten mit mindestens einem Öffnungsereignis: enthält automatisierte Aktivität (siehe Hinweis unten)
clickedEindeutige Nachrichten mit mindestens einem Klickereignis: enthält automatisierte Aktivität (siehe Hinweis unten)
bouncedPermanente Fehler: harte Bounces, abgelaufene Nachrichten (Wiederholungen erschöpft) und administrative Bounces. Out-of-Band-Bounces werden derzeit nicht gezählt (bekannte Lücke, separat verfolgt)
complainedEmpfänger, die eine Spam-Beschwerde eingereicht haben
sourceDatenquelle: clickhouse, postgres (Fallback) oder cache
data_source, fallback_reason, is_degradedFelder in snake_case, die den Degraded-/Fallback-Zustand beschreiben: nur der Events-Summary-Endpunkt fällt auf PostgreSQL zurück, und die Antwort wird dabei als is_degraded: true markiert; alle anderen Analytics-Endpunkte sind reine ClickHouse-Endpunkte
queryTimeMsAbfrageausführungszeit in Millisekunden

Öffnungen und Klicks enthalten automatisierte Aktivität, das Apple-Mail-Privacy-Protection-Prefetching und Sicherheits-Link-Scanner, die MailLand derzeit nicht herausfiltert. Betrachten Sie diese Zahlen als Obergrenze für menschliches Engagement, nicht als exakte Zählung.

Die Antwort enthält X-Cache: HIT-, MISS- oder FRESH-Header, die anzeigen, ob Daten aus dem Cache bereitgestellt wurden. Verwenden Sie refresh=true, um eine frische Abfrage zu erzwingen.

Tägliche Statistiken

Tägliche Ereignisaufschlüsselungen für Diagramme abrufen:

GET https://api.mail.land/v1/transactional/analytics/stats/daily
Get daily stats
curl "https://api.mail.land/v1/transactional/analytics/stats/daily?from=2026-01-18&to=2026-02-17" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
ParameterTypStandardBeschreibung
fromdatetimedie letzten 7 vollen UTC-TageStartdatum
todatetimeJetztEnddatum
emailTypeint-Nach E-Mail-Typ filtern
Daily stats response
[
  {
    "date": "2026-02-17T00:00:00Z",
    "sent": 4750,
    "delivered": 4680,
    "opened": 1498,
    "clicked": 195,
    "bounced": 38
  },
  {
    "date": "2026-02-16T00:00:00Z",
    "sent": 4320,
    "delivered": 4260,
    "opened": 1380,
    "clicked": 175,
    "bounced": 32
  }
]

Raten

Zustellungs-, Öffnungs- und Klickraten als Prozentsätze abrufen:

GET https://api.mail.land/v1/transactional/analytics/rates
Get rates
curl "https://api.mail.land/v1/transactional/analytics/rates?from=2026-01-18&to=2026-02-17" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
ParameterTypStandardBeschreibung
fromdatetimeVor 30 TagenStartdatum
todatetimeJetztEnddatum
emailTypeint-Nach E-Mail-Typ filtern
Rates response
{
  "from": "2026-01-18T00:00:00Z",
  "to": "2026-02-17T23:59:59Z",
  "deliveryRate": 98.47,
  "openRate": 31.49,
  "clickRate": 13.02
}

Ratenberechnungen:

RateFormel
Zustellratedelivered / accepted * 100 (max. 100): nicht sent
Öffnungsrateopened / delivered * 100 (max. 100)
Klickrateclicked / delivered * 100 (max. 100): nicht clicked / opened

Alle drei Ratenabfragen werden parallel ausgeführt, um optimale Leistung zu erzielen.

Die meistgeklickten Links in Ihren E-Mails anzeigen:

GET https://api.mail.land/v1/transactional/analytics/links/top
Get top links
curl "https://api.mail.land/v1/transactional/analytics/links/top?from=2026-01-18&to=2026-02-17&limit=10" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
ParameterTypStandardBeschreibung
fromdatetimeVor 30 TagenStartdatum
todatetimeJetztEnddatum
limitint10Maximale Anzahl zurückzugebender Links
emailTypeint-Nach E-Mail-Typ filtern
Top links response
[
  {
    "url": "https://your-app.com/orders/track",
    "clicks": 2340,
    "uniqueRecipients": 1890
  },
  {
    "url": "https://your-app.com/dashboard",
    "clicks": 1150,
    "uniqueRecipients": 980
  }
]

Stündliches Volumen

Sendevolumen pro Stunde verfolgen, optional mit Baseline-Überlagerung zur Anomalieerkennung:

GET https://api.mail.land/v1/transactional/analytics/volume/hourly?days=7
Get hourly volume
curl "https://api.mail.land/v1/transactional/analytics/volume/hourly?days=7" \
  -H "Authorization: Bearer eyJhbGciOiJIUzI1NiIs..."
ParameterTypStandardBeschreibung
daysint7Rückblickszeitraum (1–30)
Hourly volume response
[
  {
    "hour": "2026-02-17T14:00:00Z",
    "sent": 520,
    "baseline": 480.5
  },
  {
    "hour": "2026-02-17T13:00:00Z",
    "sent": 495,
    "baseline": 480.5
  }
]

Die baseline ist das historische Durchschnittsvolumen für diese Tagesstunde, berechnet vom VolumeAnomalyWorker. Sie ist null, wenn noch keine Baseline-Daten verfügbar sind.

Caching

Analytics-Endpunkte werden serverseitig gecacht, um die Abfragelast zu minimieren:

EndpunktCache-Dauer
events/summary (Standardbereich)5 Minuten
events/summary (benutzerdefinierter Bereich)3 Minuten
stats/daily3 Minuten
rates3 Minuten
links/top5 Minuten
volume/hourly3 Minuten

Der Endpunkt events/summary fasst gleichzeitige identische Anfragen pro Server zusammen: nur eine Abfrage erreicht ClickHouse pro API-Instanz, und alle Aufrufer dieser Instanz erhalten dasselbe Ergebnis. Die übrigen Endpunkte auf dieser Seite fassen nicht zusammen; jede Anfrage liest zunächst den Cache und fragt dann ab.

Datenquellen

MailLand verwendet ClickHouse als primäre Analytics-Datenquelle für schnelle Aggregationen über Milliarden von Ereignissen.

Nur events/summary fällt auf PostgreSQL zurück, wenn ClickHouse nicht verfügbar ist oder keine Daten liefert, und diese Antwort wird dann als is_degraded: true markiert. Jeder andere Analytics-Endpunkt auf dieser Seite ist reines ClickHouse und hat keinen Fallback.

Das Feld source in den Antworten zeigt an, welcher Datenspeicher das Ergebnis geliefert hat. Das Feld queryTimeMs hilft bei der Leistungsüberwachung.

Aufbewahrung

Analytics-Ereignisdaten richten sich nach dem Plan des Workspace: Protokolle werden im Free-Plan 30 Tage, im Pro-Plan 90 Tage und im Max-Plan 180 Tage aufbewahrt.

Nächste Schritte

Auf dieser Seite