intermediate
segmente
zielgruppen
targeting

Zielgruppen-Segmente

Bauen Sie Zielgruppen-Segmente gegen Live-Flottendaten - filtern nach Fahrten, Wallet, Abo, Score, Sprache und mehr.

Levy Fleets TeamMay 18, 202612 min read

Zielgruppen-Segmente

Ein Segment ist ein gespeicherter Filter über Ihre Fahrer. Engage wertet jedes Segment gegen Ihre Live-Datenbank aus, sodass der angezeigte Zähler dem entspricht, was den nächsten Versand erhält.

Navigation

Segmente unter Engage > Segmente.

Wie Segmentierung funktioniert

Jede Segmentdefinition ist ein Baum aus UND / ODER / NICHT-Gruppen mit Regeln. Engage kompiliert den Baum zu einem parametrisierten SELECT gegen customers mit Rollup-Views (engage_ride_agg, engage_wallet_agg usw.) und führt ihn über die engage_run_segment_sql RPC aus.

Die RPC erzwingt eine SELECT-Whitelist und verbietet Semikolons, sodass eine Segmentdefinition niemals einen Schreibvorgang ausführen kann. Service-Role steuert den Aufruf.

Verfügbare Attribute

QuelleAttribute
customerscreated_at, language, city, country, timezone, marketing_*_consent, push_token, rider_score, rider_score_tier
rides (Rollup)first_ride_at, last_ride_at, total_count, total_revenue, force_ended_count
wallet_transactions (Rollup)current_balance, lifetime_topup, last_topup_at, auto_topup_enabled
subscriptions (Rollup)active_plan, status, next_renewal_at, churned_at
violations (Rollup)total_count, last_violation_at, severity_max
referrals, loyaltycounts, tier, points balance

Die Rollup-Views werden zur Abfragezeit ausgewertet. Es gibt kein Staleness-Fenster.

Operatoren

OperatorFunktioniert aufBeispiel
equalsText, Zahl, Boollanguage = "es"
not_equalsText, Zahl, Boolcountry != "DE"
greater_thanZahl, Datumrides.total_count > 5
less_thanZahl, Datumwallet.current_balance < 3
within_lastDatumlast_ride_at within last 30 days
more_than_agoDatumlast_ride_at more than 60 days ago
is_set / is_nullbeliebigpush_token is_set
inTextlanguage in ("en", "de")

Boolesche Komposition

Gruppieren Sie Regeln mit UND, ODER, NICHT. Gruppen können bis zu 4 Ebenen tief verschachtelt werden.

Beispiel - Re-Engagement-Kandidaten

UND
├── rides.last_at more than 60 days ago
├── rides.last_at within last 180 days
├── marketing_email_consent = true
└── NICHT
    └── violations.severity_max &gt;= "high"

Dieses Segment findet Fahrer, die früher aktiv waren, noch nicht zu lange weg sind, per E-Mail kontaktiert werden dürfen und keine schweren Sicherheitsprobleme haben.

Live-Zähler

Jedes Segment zeigt einen Live-Zähler, der 60 Sekunden gecacht wird.

  1. Regeln bauen.
  2. Vorschau klicken.
  3. Zähler erscheint mit 10 Stichprobenzeilen zur Plausibilitätsprüfung.

Speichern und Wiederverwenden

Gespeicherte Segmente leben auf Ihrem Subaccount und sind RLS-geschützt - kein anderer Betreiber sieht sie.

  1. Speichern klicken.
  2. Segment benennen (Aktiv 30T, Hochwertig inaktiv usw.).
  3. Erscheint im Zielgruppen-Dropdown des Kampagnen-Composers.

Bearbeiten beeinflusst keine bereits laufenden Kampagnen - diese nutzen die zum Sendezeitpunkt kompilierte Zielgruppe.

CSV-Export

Klicken Sie CSV exportieren auf der Detailseite. Der CSV streamt aus dem gleichen kompilierten SQL.

Ad-hoc-Segmente

Nicht jedes Segment muss gespeichert werden. Der Kampagnen-Composer akzeptiert einen Inline-Filter für Einmalversände:

  1. Im Composer: Zielgruppe > Benutzerdefinierter Filter.
  2. Regeln bauen.
  3. Engage nutzt sie nur für diesen Versand.

Empfohlene Starter-Segmente

SegmentDefinition
Aktiv 30Tlast_ride_at within last 30 days
Inaktiv 30-60Tlast_ride_at between 30 and 60 days ago
Inaktiv 60-90Tlast_ride_at between 60 and 90 days ago
Tief inaktiv 90T+last_ride_at more than 90 days ago
Niedriges Guthaben, keine Auto-Aufladungwallet.current_balance < 3 AND wallet.auto_topup_enabled = false
Neue Anmeldung, noch keine Fahrtcreated_at within last 14 days AND rides.total_count = 0
Top 10 % nach Fahrtanzahlrides.total_count &gt;= 50 (anpassen)
Deutschsprachig aktivlanguage = "de" AND last_ride_at within last 60 days
Abo-Verlängerung nächste 7 Tagesubscription.next_renewal_at within next 7 days AND subscription.status = "active"

Performance und Limits

  • Segment-SQL ist parametrisiert - keine String-Interpolation, keine Injection.
  • Validierung begrenzt Verschachtelung auf 4 Ebenen.
  • Zähler sind 60 Sekunden pro Segment gecacht.
  • Große Segmente (>100k Fahrer) kompilieren problemlos, aber Versände unterliegen Ratenbegrenzungen.

Best Practices

  • Immer vor dem Speichern Vorschau ansehen.
  • Consent-Flags in jedes Segment einschließen.
  • Benannte Segmente für wiederkehrende Versände.
  • Aktive Quote überwachen.

Fehlerbehebung

Segmentzähler ist null

  • Haben Sie sowohl marketing_*_consent als auch die Rollup-Filter geprüft?
  • Neue Kundenspalten sind nullable - eine NOT-NULL-artige Regel schließt jeden ohne Score aus.

Zähler sieht zu hoch aus

  • Rollup-Views ignorieren gelöschte Kunden via is_deleted = false. Prüfen Sie auf Test-/Mitarbeiter-Accounts.

Bearbeitung brach laufende Kampagne

  • Tat sie nicht. Kampagnen erfassen ihre Zielgruppe zur Kompilierzeit. Änderungen wirken beim nächsten Versand.

Hilfe nötig?

Bei Segmentierungs-Fragen: support@levyelectric.com.