From web development to digital marketing, we build for growth. Head to Mavlers Agency.

Mavlers Logo
Book a call
All blogs

Braze

Unlocking Braze catalogs: The foundation for scalable personalization

Discover how to set up and use catalogs in Braze so you can deliver personalized experiences for your customers, dynamically, and at scale.

By Sarthak Banta

10 minutes

June 10, 2026

Unlocking Braze catalogs: The foundation for scalable personalization

The promise of AI-powered personalization at scale has dominated industry conversations, amplified more recently by the rise of agentic workflows. Yet, the day-to-day reality of customer experience remains largely unchanged. While the ideal scenario promises automated, hyper-personalized journeys across every touchpoint, few organizations have successfully, and consistently, realized this vision. 

As it turns out, AI isn’t the great equalizer on its own. The truth is that AI cannot solve the personalization puzzle in a vacuum. It requires a foundational partner, which is a robust data architecture. 

In Braze, the lack of a proper data architecture results in sloppy personalization for your customers. But once you codify the architecture, you can use Braze catalogs for personalization at scale.

What are Braze catalogs?

A catalog is a structured data table that lives inside Braze and can be referenced using Liquid inside message templates. It is a lightweight in-platform database. 

This makes Braze Liquid personalization easier to manage. 

Each row represents an item, such as a product, article, course, offer, destination, subscription plan, store, or feature. Each column represents an attribute of that item, such as name, category, price, image URL, CTA URL, availability status, audience fit, priority, or region. 

For example, an e-commerce brand might create a product catalog with fields such as:

  • Product ID
  • Product name
  • Category
  • Price
  • Sale status
  • Image URL
  • Product page URL
  • Inventory status
  • Recommended audience
  • Priority score

Similarly, a media brand might use a catalog for articles, newsletters, authors, subscription plans, or content categories. A travel brand might use it for destinations, hotel properties, routes, or location-based offers. A subscription business might use it for plan features, age ranges, learning themes, renewal messages, or winback offers. And so on. 

The point is this: catalog data is not tied to one individual user profile. It is reusable business data that can be referenced across campaigns, Canvases, and channels.

The connection between the catalog and the user usually happens through user attributes or event properties. For example, a user may have last_viewed_product_id = SKU-4821 stored on their profile or passed through an event. The email template can then look up SKU-4821 in the Product Catalog and render the product name, image, price, and CTA.

That pattern is simple, but extremely powerful. The catalog enrichment layer is separate from the user data layer. If the product price changes in the catalog, future messages automatically reflect the new price. There are no template edits, nor engineering tickets, nor version flip-flopping involved.

Why Braze catalogs matter in lifecycle marketing 

Lifecycle marketing is almost never a one-campaign deal. Sooner or later, a customer is going to need:

  • A welcome journey
  • Product education
  • Usage nudges
  • Replenishment reminders
  • Cross-sell recommendations
  • Renewal messaging
  • Winback offers
  • Loyalty communications
  • Content-based engagement

Without catalogs, you must solve these needs by creating multiple message versions, duplicating content blocks, adding complex Liquid logic, or relying on engineering support for Connected Content.

That may work initially, but it becomes difficult to maintain as the program grows.

Catalogs help solve this by separating message logic from item data. Instead of building ten different versions of an email for ten product categories, you can build one modular template that references the right catalog item based on user behavior, preferences, lifecycle stage, or journey context.

A common question is: when should we use catalogs instead of custom attributes or Connected Content? Refer to the table below for a practical way to think about it. 

Custom attributes vs catalogs vs Connected Content
FeatureBest used forExamplesKey distinguishing factor
Custom AttributesData about the userPreferred category, loyalty tier, child age range, last purchased product, subscription status, preferred language, nearest store IDFocuses entirely on individual user profiles and preferences.
CatalogsReusable data about miscellaneaProducts, plans, articles, offers, stores, courses, destinations, events, subscription packages, app featuresActs as the missing middle layer to operationalize structured content and offer logic.
Connected ContentReal-time data fetched from an external system/APILoyalty balances, real-time inventory, live pricing, account status, booking status, data that shouldn’t be stored in BrazeUsed when data must be real-time at the exact moment of message send or open.

Don’t force all your personalization efforts into a single method. Catalogs are not a replacement for user attributes or APIs. They are the missing middle layer that helps marketers operationalize structured content and offer logic at scale.

Braze Catalog Selections

Generally, teams using catalogs begin with basic lookups: pull one row by ID and render a few fields. That is useful, but it is only the starting point.

The kick comes from Braze Catalog Selections.

Selections are filtered views of catalog data. Instead of pulling a specific row, a selection applies business logic and returns a set of eligible items. For example:

  • Show the top 3 products in the user’s preferred category
  • Show only articles published in the last 7 days
  • Show only offers available in the user’s market
  • Show only courses that match the user’s current skill level
  • Show only stores or locations relevant to the user’s region

Crucially, the logic lives in the selection definition, not in the message template. 

Your Liquid template can call the selection, while the filtering, sorting, and eligibility logic is managed in Braze. This approach simplifies Braze Liquid personalization by moving recommendation and eligibility rules out of the template and into reusable catalog selections. If the merchandizing, editorial, CRM, or product team wants to adjust what qualifies as a recommendation, they can update the selection without rebuilding the campaign. This is where catalogs move from being a static lookup table to a decisioning layer for lifecycle marketing.

Braze Catalog Selections are not the same as machine-learning recommendation models. 

But for many lifecycle use cases, rules-based ranking configured by people who understand the business is more predictable, more auditable, and faster to iterate than a black-box model.

Keeping catalogs updated: The question of data architecture

A catalog is only as valuable as the data inside it. Treat catalogs as production data assets, not one-time uploads. You don’t want customers to see stale pricing, expired offers, or discontinued products. 

As you know, there are three ways to update catalogs. But when to choose the right one is often unclear.

1. Manual CSV uploads 

Manual upload is fine for getting started. It is useful when teams want to validate the schema, test Liquid logic, and prove the use case before investing in automation.

But manual upload is rarely suitable for production personalization at scale. If pricing, availability, content, offers, or product details change frequently, manual maintenance will eventually create data drift. 

So you may use manual uploads for testing, early-stage pilots, and one-off campaigns.

2. Catalog REST API 

For a majority of production use cases, the catalog API is the right approach. 

Your backend, product database, CMS, data warehouse, or internal system can send programmatic updates into Braze. This can support individual row updates, bulk updates, replacements, and deletions depending on the setup. A fairly common model is: 

  • Nightly sync for standard data such as product names, categories, URLs, and descriptions
  • More frequent updates for fields like sale status, promotional pricing, availability, or content priority
  • Event-driven updates for high-velocity fields where freshness matters more

This approach makes catalogs reliable enough to power always-on lifecycle journeys

3. CDI + Catalog API 

For more mature Braze programs, catalog updates often sit alongside a broader data architecture.

If you’re already using Cloud Data Ingestion to sync user attributes from a data warehouse, the same data environment can support catalog API updates for reference data.

This creates two parallel tracks:

  • User data flows into Braze for segmentation, personalization, and journey logic
  • Reference data flows into catalogs for products, content, offers, plans, stores, or recommendations

They allow Braze messages to render more accurately at send time because both the user context and the item context are being refreshed systematically. This is a critical point for marketing leaders. Catalogs are not just a CRM feature. They are part of your data activation architecture.

Mistakes to avoid while using Braze catalogs 

Below are some of the common mistakes we come across in our audits: 

  • Catalogs built for only one campaign: If the catalog is designed around a single send, it may not scale. Build Catalogs around reusable entities such as products, plans, content, stores, offers, courses, or events.
  • Not enough filtering fields: If marketers can’t filter by category, market, lifecycle stage, language, eligibility, availability, or priority, the catalog will be difficult to use in advanced journeys.
  • Overloading Liquid logic: Catalogs should simplify message logic, not create unreadable Liquid. If the Liquid becomes too complex, revisit the catalog structure, user attributes, event properties, and selection strategy.
  • No fallback strategy: Dynamic personalization needs graceful fallbacks. Every catalog-powered message should account for missing, expired, unavailable, or ineligible items.
  • Treating catalogs as a one-time upload: If your source data changes frequently, build an update process using the catalog API or a warehouse-driven pipeline.
Braze agency

Practical use cases for Braze catalogs 

1. Product recommendation blocks

Catalogs can power dynamic product blocks in email, push, in-app messages, and Content Cards. If you’re looking for how to use Braze Catalogs for product recommendations, this is one of the most common and impactful use cases. Instead of manually updating product names, images, prices, and URLs in every message, teams can reference catalog fields dynamically. 

You could create a Braze product recommendations email for:

  • Recently viewed product follow-ups
  • Abandoned cart support content
  • Back-in-stock messaging
  • Category-based recommendations
  • Bestseller modules
  • Starter kits for first-time buyers
  • Cross-sell and upsell journeys

For example, if a user browsed a specific product category, the message can reference products from that category and show relevant recommendations without creating separate campaign versions.

2. Content personalization

Catalogs are not limited to e-commerce. They are extremely useful for content-led lifecycle programs. 

For example, a brand can create a content catalog that includes blog articles, guides, videos, recipes, activities, educational resources, or onboarding content.

Fields might include:

  • Content ID
  • Title
  • Description
  • Category
  • Audience segment
  • Funnel stage
  • Image URL
  • CTA URL
  • Publish date
  • Priority

This allows lifecycle teams to dynamically recommend content based on customer interests or lifecycle stage. A children’s education brand could show STEM activities to parents interested in science, geography activities to parents interested in travel, and animal content to parents who previously engaged with wildlife campaigns.

3. Subscription and plan messaging

For subscription brands, catalogs can simplify complex plan-based messaging. 

Teams can create a plan catalog that stores plan names, descriptions, age ranges, benefits, product images, CTA links, upgrade paths, and winback offers.

This makes it easier to build personalized onboarding, upgrade, renewal, and winback journeys.

For example, if a customer’s child ages out of one subscription, the next best subscription can be pulled from a catalog and displayed dynamically.

4. Store and location personalization

Catalogs can support location-based personalization when store or location data is structured properly.

A catalog could include store name, address, city, region, store hours, local offer, and booking URL. This is helpful for retail, hospitality, healthcare, fitness, restaurants, and event-based businesses.

A user’s location or preferred store can be used to show the nearest branch, local event, region-specific offer, or localized CTA.

5. Offer and promotion management

Catalogs can make promotional logic easier to manage when multiple offers are running across segments, markets, or lifecycle stages.

For example, a promotions catalog could include:

  • Offer ID
  • Offer name
  • Discount value
  • Promo code
  • Start date
  • End date
  • Eligible segment
  • Channel
  • CTA URL
  • Legal disclaimer
  • Priority

You can reference all the offer details from the catalog. This is especially useful for global or multi-market teams where offers vary by country, language, product category, or customer status.

The last word on Braze catalogs 

Keep these key implementation takeaways in mind when using Braze catalogs for personalization:

  • Use multiple purpose-specific catalogs.
  • Create a selection library that captures reusable filtering and ranking logic.
  • Leverage API-driven updates for production Catalogs. 
  • Use consistent IDs across the data stack. 
  • Review catalog freshness periodically. 

Catalogs help lifecycle teams store and reference structured, non-user data directly inside messages. In practical terms, they give marketers like you a scalable way to bring product details, content metadata, offer information, store data, plan details, or recommendation logic into campaigns and canvases without hardcoding every variation into the message.

Sarthak Banta
LinkedIn

Subject Matter Expert (SME)

Braze Certified Practitioner with certifications in AI Fundamentals and Liquid Essentials, among others. Specializes in lifecycle strategy, event-based messaging, and personalization, building high-impact customer journeys across automotive, e-commerce, fintech, and edtech.

Susmit Panda
LinkedIn

Content Writer

Specializes in writing on email marketing, CRM, and marketing automation platforms. Combines strong writing expertise with deep domain knowledge to create clear, insight-led content on lifecycle strategy, campaign optimization, and martech ecosystems.

You may also like

Tell us about your requirement

We'll get back to you within a few hours!

Select a service