Skip to main content

Core Concepts

Subscribers

A subscriber is a person in your product, identified by an externalId you control (usually your user ID). Everything else — devices, consent, events, segment membership — hangs off the subscriber. Call identifySubscriber from a client SDK, or upsert subscribers from your backend.

Devices

A device is a specific browser or app installation belonging to a subscriber. Each device carries a push token (FCM token, APNs token, or Web Push subscription) that Hober uses for push delivery. A subscriber can have many devices; invalid tokens are detected on send and feed your deliverability stats.

Channels

A channel is a configured sending endpoint owned by your workspace: an iOS app, an Android app, a web push domain, an email sender, or an SMS/WhatsApp number. You register channels in the dashboard, attach provider credentials, and every send goes out through one or more of them.

Not to be confused with Android's notification channels — the OS-level categories (e.g. "Promotions", "Alerts") that Android 8.0+ uses to group notifications. In the SDKs that concept appears as channelId during Hober.init().

Notifications, campaigns, and journeys

A notification is a single message: content per channel, an audience, and a send time (now, scheduled, or recurring). Notifications can carry variants for A/B testing.

A campaign groups several related messages into one container with per-message reports — the shape of a product launch or a promotion with multiple touches.

A journey is an automation flow: subscribers enter on an event or segment condition, move through waits and branches, and receive messages along the way. Entry and exit rules keep people from getting messages that stopped being relevant.

Templates

A template is reusable message content with Liquid merge tags ({{ subscriber.first_name }}). Compose from a template, preview with real subscriber data, and keep wording consistent across campaigns. See the templates guide.

Lists and segments

A list is a static set of subscribers you manage explicitly. A segment is a live audience defined by rules over attributes and tracked events — membership updates as behavior happens. Both can be send targets; see audience filters.

Events

An event is a named action a subscriber performed (order_completed, level_up). Events come from the client SDKs' track() or from your backend via the server-side tracking API. Events drive segments, journey triggers, and in-app message display rules.

Hober enforces delivery rules at dispatch time, on every send path: recorded consent per channel (including one-click unsubscribe and STOP replies), quiet hours, and frequency caps. A send that violates them is suppressed and reported — it does not go out because a campaign, journey, API call, or AI agent asked.

API keys

  • SDK key — authenticates client-side SDKs; sent as the X-SDK-Key header. Safe to ship in your app; it can register devices and track events, not read your data.
  • Server key (hober_srv_…) — authenticates backend calls: sends, subscriber management, server-side event ingestion. Treat it like any secret.

Both are issued per environment in the dashboard.

Workspace and roles

Your workspace holds channels, audiences, and content, and your teammates join it with a role — owner, admin, developer, marketer, or analyst — that scopes what they can see and send. See team and roles.