Case Study · Customer Engagement

Launching 6 retention campaigns across push, in-app, and email with a consent-first Braze rollout.

Joyn had no CRM channel to reach anonymous or registered users, and messaging could only run with explicit consent. We built a consent-gated Braze integration with identity sync and conversion-event tracking, then launched a full set of retention and contractual campaigns across channels.

Role Led the Braze CRM rollout — consent flow, identity sync, event tracking, and multichannel campaign launch

2021-current Braze CRM/CEP 6 campaign types enabled Consent-first SDK init Anonymous + registered users

Retention depends on reaching users with the right content

Joyn ships new content constantly, but the win only happens if returning users keep finding a reason to come back week after week.

RETENTION

Weekly return is the real win

A user who tunes into Joyn week in, week out is the core retention target — but nothing was driving that habit proactively.

No proactive nudges = retention left to chance
REACH

Anonymous users were unreachable

Pre-registration users browsing the app had no channel for push or in-app messaging to bring them back.

Anonymous users = no way to bring them back
COMPLIANCE

Contractual comms had no home

Joyn needed a reliable channel for required terms-of-use and contractual emails, not just marketing messages.

No contractual channel = compliance comms had nowhere to go

What stood between Joyn and a working CEP

Before a single campaign could go live, three foundations had to be in place: consent, identity, and a way to measure what was working.

CONSENT

Messaging requires opt-in first

Push and in-app messaging could only be enabled after the user explicitly consented — the SDK couldn't simply run by default.

No consent flow = SDK couldn't run by default
IDENTITY

User profiles weren't linked

Without syncing Braze profiles to Joyn's own user identifier, engagement data couldn't be processed offline or tied to a real user.

Unsynced profiles = engagement data couldn't tie to real users
SIGNALS

No conversion events to trigger on

Without tracking events for key milestones, campaigns couldn't be triggered automatically or measured for performance.

No conversion events = campaigns couldn't trigger or be measured

A consent-first Braze rollout, end to end

From SDK initialization through identity sync to event-driven campaigns — each step unlocked the next layer of engagement.

1
Consent-gated SDK init install → consent → Braze

Initialized the Braze SDK only after the user provided consent on install, then prompted separately for in-app and push notification consent.Braze SDK · consent flow

2
Identity sync at registration

Synced the Braze user profile with Joyn's app-level unique user identifier and set up the user record in Braze on registration completion.Identity sync · offline processing

3
Conversion event tracking

Instrumented tracking events tied to key conversion milestones so campaigns could trigger automatically and be measured for performance.Event tracking · Braze

4
Multichannel campaign rollout

Launched six campaign types across push, in-app, and email — covering retention, recommendations, and contractual communication.Push · in-app · email

A full engagement layer, live across channels

6
Campaign types
Live in production
3
Channels covered
Push, in-app, email
2
User states reached
Anonymous & registered
7
Transferable platforms
Pardot, Salesforce, Marketo +4

From a single integration to a reusable engagement playbook

⚡

A reusable consent-driven CEP pattern

The consent → identity sync → event tracking → campaign pipeline built for Braze is directly transferable to Pardot, Intercom, Salesforce, Clevertap, Customer.IO, Marketo, and Eloqua.

↻

Behavior-driven retention loops

New episode reminders, weekly personalized recommendations, and "next best video" prompts now run on real usage events.

⊕

Compliant contractual messaging

Terms-of-use and contractual communications now have a dedicated, reliable channel alongside marketing campaigns.

Let's talk

Tackling something like this?

Tell me your biggest data or AI bottleneck and I'll send you how I'd approach it — the same way I worked this problem. No résumé dump, no pitch. Just a useful conversation.

Start the conversation →