Credit Karma Braze Email Template System
When I joined the Credit Karma Money team, their email template system was a GitHub repository built on Handlebars.js. Technically sound, but every new email required developer-level knowledge — which made it hard to scale alongside a growing campaign operation.
My job was to change that.
I led the migration of the entire template system from the GitHub-based Handlebars workflow into Braze, rebuilding it from the ground up in Liquid. Over ten months, I designed and built a modular, scalable architecture spanning 160 campaign templates and 23 reusable content blocks — covering both transactional and promotional email programs across Credit Karma Money's checking and savings products.
The Architecture
The system is built around a composition model. Global includes handle the universal layer — branded headers and footers, responsive CSS, cross-client compatibility, and font loading. On top of that foundation, 23 purpose-built content blocks cover every structural need: hero sections, body copy, feature callouts, CTA buttons, bullet lists, disclaimers, and support modules. Campaign templates assemble these blocks using Liquid variable definitions, so the logic stays clean and the composition stays flexible.
This architecture meant that building a new email no longer required writing HTML from scratch. It required knowing which blocks to use and what to pass them.
What Was Built
The template library covers two product lines and two email types: Transactional and Promotional.
Personalization and Dynamic Content
Templates use Liquid to pull in customer-specific data at send time: first name, transaction amounts with automatic currency formatting, merchant names, and preference-aware unsubscribe and notification management URLs. Conditional rendering lets a single template adapt its content based on user properties or event data, reducing the need for duplicate templates while supporting meaningful personalization.
For the promotional program, I also implemented custom Braze event tracking via an operational Canvas to capture user progression and success metrics through key onboarding milestones like direct deposit eligibility and digital wallet setup. These events fed directly into Canvas campaign flows for sequenced follow-up.
The Result
A system that non-developers can use on their own. Marketers can compose, personalize, and deploy emails without touching code — using Braze's Content Block interface to assemble templates from the pre-built module library.
The migration expanded what the CRM channel could do: richer segmentation, more sophisticated dynamic content, consistent branding at scale, and a dramatically faster loop from strategy to deployment.
Details:
Role: Email Front-End Developer, Credit Karma Money
Languages Used: HTML, CSS, Liquid
Marketing Automation Platform: Braze
Email Creation Dates: May 2023 – March 2024
Email template examples:
Documentation artifacts from the migration: