Migrating from Braze
The Braze path mirrors the Klaviyo guide — read that one for the full parallel-run plan and cutover checklist, which apply unchanged. This page covers what differs: the export and the mapping.
The same rule governs everything: consent state must survive the move exactly. Unsubscribed and suppressed profiles are never imported as subscribers.
1. Export from Braze
Segments → select a segment → CSV export (user data export). Export each
segment you intend to keep. Suppressed and unsubscribed users may appear in
the export with their email_subscribe state — the import preset handles
them (by skipping them), so you don't need to pre-filter.
2. Import with the built-in preset
Dashboard → Subscribers → Lists → Import from CSV → File format → Braze export, and upload the CSV as-is. The importer applies this mapping:
| Braze column | Hober | Notes |
|---|---|---|
email | subscriber email | Required. |
external_id | external_id | Braze carries it natively — this is what unifies imported profiles with your SDK and server events. |
email_subscribe | consent | opted_in → express consent with braze_import provenance. unsubscribed/suppressed → the row is skipped, never imported (it counts in the failed total with its reason, so the numbers stay honest). subscribed — Braze's not-opted-in-but-not-out default — and anything else → implied, which seeds consent only where none exists, so a stored opt-out in Hober always survives. |
| everything else | attributes | Snake_cased keys, empty values dropped. |
3. Templates
Braze templates use Liquid — the same language as Hober's merge tags — so
content ports with far less translation than Klaviyo's Django syntax.
Braze-specific objects ({{ custom_attribute.${name} }}, {{ ${first_name} }})
need renaming to Hober's attribute tags; see the
personalization guide for the
available variables, and always preview + test-send before anything ships.
4. Parallel run and cutover
Follow the Klaviyo guide from step 6 onward — slice-first routing, weekly two-way suppression sync, deliverability thresholds, and the cutover checklist apply verbatim (substitute Braze for Klaviyo, including leaving the Braze account read-only for one billing cycle as the rollback path).