Marketing data activation

Braze integration — powering personalised
customer comms at scale

A fintech's marketing team was running campaigns on stale spreadsheet exports. We built the full data layer — journey models, zero-copy Braze sync, and encrypted PII delivery — so every message is based on what a client actually did.

0
Manual segment exports — fully automated
3h
CDI sync cadence — client profiles always current
100%
PII encrypted in transit — zero privacy exposure
Industry Fintech · Customer lifecycle & CRM
Engagement type Data modelling · Marketing activation
Stack

Campaigns running on week-old spreadsheets

The marketing team at a growth-stage fintech were doing everything manually. To run a lifecycle campaign — welcome series, funding nudges, re-engagement flows — an analyst would pull a segment from the database, export it to a spreadsheet, and upload it to Braze by hand. By the time the campaign fired, the data was days old.

Worse, there was no single view of where a client was in their journey. The company's product had three key stages — application, funding, and trading — each tracked in a different system, with no shared model connecting them. The marketing team had no way to know which stage a client was at, or what they'd done in the last 48 hours.

A client could apply, get approved, and fund their account — and still receive a "haven't heard from you" re-engagement email the next morning, because the segment hadn't been refreshed.

End-to-end: from raw events to Braze profiles

We designed and built the full data layer — from staging models through to the Braze CDI sync — so the marketing team could run personalised campaigns from the Braze UI without touching a spreadsheet or pinging an analyst.

01
Client journey data models

Built best-practice dbt models representing the full client lifecycle — application status, funding events, and trading activity — as a unified analytical layer in BigQuery. Each stage is a clearly defined dimension with timestamps, statuses, and the business logic needed for segmentation.

02
Zero-copy models for Braze

On top of the journey models, built a zero-copy layer specifically for Braze ingestion — pre-filtered to only include clients who meet the business requirements (valid contact details, opted-in status, etc.). The model reads directly from the warehouse with no data movement, no duplication, and stays queryable from the Braze UI.

03
Braze CDI sync — every 3 hours

Set up Braze Connected Data Integration (CDI) to push client attributes as a structured payload on a 3-hour Airflow schedule. Braze receives a full profile for each client — lifecycle stage, product holdings, recent activity, preferences — and updates the client record in real time. Comms can now be triggered on actual behaviour, not batch exports.

04
PII encryption in transit

All personally identifiable information — names, email addresses, phone numbers — is encrypted at the pipeline layer before leaving the warehouse. Data arrives in Braze encrypted and is decrypted only at the point of use. No raw PII traverses the integration, removing the privacy exposure that comes with standard sync approaches.

Marketing team fully unblocked. Zero manual work.

0
Manual exports — segment data flows automatically on schedule
3h
Maximum lag between a client action and their Braze profile updating
Live
Client journey stage available in Braze UI for segmentation and campaign targeting
Marketing team can build and launch lifecycle campaigns entirely within Braze — no engineering dependency for segment refreshes
Campaigns target clients based on actual journey stage — application, funding, or trading — rather than broad static lists
Braze AI personalisation features unlocked — client attributes and preferences available as inputs to AI-driven content and send-time optimisation
PII encryption means the integration is compliant from day one — no raw personal data exposed in transit or at rest in the integration layer

Model the journey first. Connect Braze second.

The temptation with a Braze integration is to go straight to the sync. We pushed back on that. Before any data moved to Braze, we spent time modelling the client journey properly in the warehouse — because a sync is only as good as the data behind it.

The zero-copy approach meant there was no separate data store to maintain and no duplication risk. The Braze layer reads from the same models the analytics team uses — so the "active client" a marketer targets in a campaign is identical to the "active client" a data analyst reports on. One definition, everywhere.

Ready when you are.

Book a free 30-minute call. We'll find the gaps, prioritise the fixes, and give you a clear path forward.

Usually responds within 24 hours