Appearance
Concepts
Subscribers, devices, tags
A subscriber is a person. They own devices — one per channel endpoint (an FCM token, an email address, a phone number for SMS/WhatsApp/RCS, a Telegram chat, a web push subscription) — and tags: unlimited key/value data (plan: pro, language: ms). Calling WingBlaze.login("user-123") binds the subscriber to your user id; multi-device users converge onto one subscriber.
Two tags have built-in behavior:
language(orlocale) selects multi-language message variants at delivery.- The subscriber's IANA
timezone(captured by the SDKs) powers timezone delivery, quiet hours, and optimal-time.
Segments
Saved tag filters with nesting:
json
{ "all": [{ "tag": "plan", "eq": "pro" }, { "any": [{ "tag": "country", "in": ["MY", "SG"] }] }] }Operators: eq, ne, exists, in; groups nest three levels. Segments are evaluated live — at send time and inside journey branches.
Messages and campaigns
A message is reusable content: title, body, image, deep link, per-language variants, and Liquid personalization from tags (see Campaigns for the syntax). A campaign targets a message at a segment with a schedule. See Campaigns for recurrence, timezone, optimal-time, throttling and A/B options.
Events
Anything you trackEvent lands in the append-only event stream, alongside automatic delivered / opened / clicked receipts. Events drive journey triggers, conversion goals, insights, and the MAU meter that generates your invoice.
Multi-tenancy
Everything is scoped to an org (billing boundary, team, API keys) and its apps (audience boundary). Agencies: see white-label & client workspaces.