top of page
Jasper Hortillano

From Clutter to Clarity: Organizing Braze Data with an Array of Objects

If you’ve been using Braze for a while, then you likely have a nice accumulation of custom attributes. Often these types of fields are added one, or two, at a time as needs arise. However, continuing this strategy can be overwhelming from data management perspective – does the phrase “nickel and dime” resonate? There has to be a better way, right? Enter Braze’s Array of Objects. A powerful feature that allows you to organize and scale your growth without having to constantly add (and manage) independent new attributes.

A Transformation image from chaotic hand-drawn data icons to organized digital visualization

What It Is

Custom Attributes are already a cornerstone of effective targeting in Braze, allowing you to tailor your marketing efforts with precision. But what if you could take this precision a step further? Enter an Array of Objects; a feature that lets you assign custom attributes to a primary custom attribute. For those who’ve been around data for awhile, it could be compared to a nested table. Think of them as chapters (object arrays) added to a book (primary custom attribute) where you add more information to flesh out the story. What this means for marketers is more granular data, better segmentation, and ultimately, more impactful marketing campaigns.


When managing data in Braze, choosing the right structure is crucial for effective personalization, segmentation, and scalability. While it might be tempting to rely on multiple custom attributes for organizing your data, leveraging an Array of Objects offers a more efficient, flexible, and powerful approach and here’s why:


Why It Matters:

Organized and Scalable Data

One of the most significant advantages of using an Array of Objects is the ability to maintain a clean and organized data structure. Imagine you’re tracking users’ shopping cart items. With multiple custom attributes, you might end up with attributes like: product_name_1, product_price_1, product_name_2, product_price_2, and so on. This can quickly become a data administrator’s nightmare, especially as the number of items increases.


Instead, an Array of Objects allows you to store each product (1, 2, n) as an object within an array. Each object can contain attributes like name and price, neatly grouped together. This not only reduces clutter, but also makes your data more understandable and easier to manage.


Managing a flat structure with numerous custom attributes can become increasingly difficult. An Arrays of Objects offers a scalable solution, allowing you to store a variable number of related items without the need to define a fixed number of custom attributes upfront. For example, if a user’s cart expands from two to nine items, you don’t need to scramble to create additional custom attributes. The Array of Objects systematically scales, accommodating any number of items seamlessly. This makes data management more efficient and future-proof.


Simplified Integration and Data Synchronization

When integrating Braze with other systems, like an eCommerce or CRM platform, maintaining a consistent data model is important. An Array of Objects simplifies this process by enabling the ability to map complex data structures directly without the need to create numerous custom attributes.


Flexible Content Rendering

In a Braze Campaign or Canvas Flow, an Array of Objects gives you the flexibility to dynamically render content based on the properties within the array. For example, you could loop through an array of recommended products to display them in an email, tailoring the content to each user’s specific data. This approach not only enhances the user experience, but also makes it easier to update content. Instead of modifying multiple attributes, you can update the objects within the array, ensuring consistency and accuracy across your Campaigns and Canvases.

Screenshot of user profile dashboard showing personal info, session data, and custom attributes, specifically highlighting "example_object_array"

Screenshot of Array of brand purchase data objects showing names, dates, and units purchased

Pro Tip: Implement an Array of Objects

Ready to take your Braze data management to the next level? Here are some expert tips to ensure you get the most out of utilizing the Array of Objects functionality:


1. Data Planning

Please note that an Array of Objects is intended for custom attributes sent via API (available with modern data warehouses and CDPs). Unfortunately, CSV upload is not currently compatible.

  • Attribute Definition: Ensure that the Array of Objects in your custom attributes align with your campaign goals. They should make sense for your segmentation and overall strategy.

  • Data Types: Carefully select the data type (String, Number, Boolean, etc.) for each sub attribute, as this will impact how you can filter and segment your users.

  • Date Format: If you’re capturing dates, stick to the ISO8601 format. This will ensure that Braze’s segmentation tools work flawlessly with your data.


2. Implementation

For detailed instructions on how to do this, check out the Braze User Guide.


  • Pre-Load Braze Attribute Setup: Instead of automatically creating your Array of Objects during the initial data load, set them up beforehand via Postman or a similar tool. This ensures the data is processed correctly from the get-go.

  • Attribute Data Type Adjustment: After setting up your Array of Objects, ensure the correct data types are assigned for each sub-attribute in the Braze platform. This step is crucial for accurate data processing.

  • Test: Run a small data load test using tools like Postman. Save this API Payload test, it’ll come in handy later when you engage with your Data/IT team for fine-tuning.


3. Data/IT Team Collaboration

  • API Payload Example: Once your Array of Objects is finalized, create an API Payload example in JSON format. Share this with your Data/IT team to guide them in setting up the data load. A clear example saves time and reduces errors—sharing is caring!

Screenshot of JSON data structure showing user attributes and brand purchase history.

With this newfound knowledge, we recommend you take this opportunity to empower your future marketing with an Array of Objects. The heavy lifting of continuously curating attributes together will be behind you, leaving you with a more focused and refined data structure. This, in turn, will allow you to target customers with messages tailored to their unique profiles, think more about their purchase behaviors and preferences, rather than just basic actions like email opens or link clicks.


If you’re curious how this could work with your data or if you're struggling to organize that first “chapter” of your “book,” just let us know here and we'll gladly help you out. Happy targeting!

bottom of page