Published on December 03, 2021/Last edited on December 03, 2021/7 min read
Personalization matters. More than a decade into the mobile-first era and on the heels of the massive digital transformation ushered in by COVID-19, consumers have become accustomed to receiving tailored messages and experiences when they interact with their favorite brands—and 90% feel frustrated when they get outreach that feels irrelevant. But to fulfill that need, brands need the right personalization tools at their disposal. That’s why Braze launched Connected Content back in 2015: Not just to make personalization possible for our customers, but to allow them leverage dynamic content as part of their tailored messaging and to do it in real time.
At its core, Connected Content is designed to allow marketers to retrieve content and data from an external source—such as their company’s back end or public APIs—and use that information to dynamically personalize the content of the messages they send. This provides endless possibilities for advanced personalization, dynamic content, and real-time messaging decisions. Leveraging Liquid personalization, marketers are able to parse and make full use of the content and data that Connected Content can serve up, leading to impressive results: Just take a look at how Overstock boosted email opens by 3X.
Given all that, it’s important that brands are clear on how to use Connected Content effectively to provide the kinds of personalized experiences consumers crave. So that’s exactly what we’re going to explore.
Connected Content can be used across all of the different messaging channels supported by Braze. To leverage this tool in connection with a given message, all you need to do is insert the {% connected_content %} Liquid tag within the campaign composer in the Braze dashboard. The basic syntax of the request is as follows:
By default, Braze makes a standard HTTP GET request at message send-time to the endpoint specified within that message’s Connected Content tag. If the response returns a JSON, Braze will automatically store that in a variable called connected, which can then be parsed and used within the body of the message in question.
If the Connected Content call returns text, that text will render directly within the body of the message.
While inserting text into messages is the most common use case for this feature, it’s also possible for brands to use Connected Content to pull in other information. We often see brands using it to include visual elements in their customer outreach—think product logos for eCommerce emails or photos of a previously searched travel location for a travel brand’s Content Cards.
While the Braze platform is built to support enormous volumes of messages, some of the API endpoints that you’re looking to leverage in your Connected Content campaigns may not be.
Imagine for a moment that your brand is looking to send a campaign personalized with location-specific weather data via Connected Content to a segment of 2 million people. Because Connected Content retrieves information and content at the time that a message is sent, sending this campaign could potentially cause Braze to make 2 million calls to the weather data provider’s API endpoint. That kind of volume can easily overwhelm public APIs or internal endpoints that aren’t built for that scale of traffic, potentially causing technical issues and delaying sends. (Side note: If you’re looking for technical guidance on scaling API endpoints, look no further than this article on the slashdot effect, written by my colleague Zach McCormick.)
For that reason, marketers tend to rely heavily on the Braze platform’s ability to cache in order to not overwhelm the endpoint they’re hitting. Thankfully, Connected Content is designed to offer entirely configurable caching. The cache time can be independently configured directly within the Connected Content tag, allowing marketers a great deal of control over how caching is leveraged in connection with this feature.
Braze defaults to 5 minutes of caching for GET requests and no caching for POST requests. However, you can update this behavior by adding a :cache_max_age parameter to your Connected Content call and specifying a value in seconds.
You can update this behavior by adding a :cache_max_age parameter and specifying a value in seconds.
As the digital landscape continues to evolve, we’ve seen security becoming an increasingly key area of focus. Accordingly, Braze offers multiple authentication options in connection with Connected Content, including Basic Authentication, Token Authentication, and—as of April 2021—Open Authentication, which has become the de facto Enterprise-grade authentication pattern for modern applications.
In addition, Braze now supports the ability to include dynamic Liquid variables within both the headers and the body of a Connected Content tag, making it possible for the response from one Connected Content call to be used in a subsequent call. This opens the door both for Open Authentication and for advanced use cases where the response of the initial Connected Content call is required for the next Connected Content call.
In the case of an Open Authentication flow in relation to Connected Content, brands can:
While Connected Content is notable for its power and flexibility, sometimes taking full advantage of this flexibility can result in additional complexity. So how can Braze customers get the most out of this essential feature without requiring ongoing access to technical resources to build and optimize their marketing program? By combining Connected Content with another key Braze product: Content Blocks.
In essence, Content Blocks are modular sections of reusable content that can be used across any of your brand’s campaigns or Canvas customer journeys. This feature makes it possible for Braze customers to take the Liquid and Connected Content requests they’ve built and then distribute them seamlessly across the full breadth of the Braze platform.
What does that look like in practice? Imagine that your brand wants to dynamically populate an email with detailed product recommendations, URLs, and images. In many cases, this information isn’t stored within the Braze platform, but rather in an internal product information tool—or even in a file housed in a Cloud Storage bucket. But using Connected Content, you can seamlessly retrieve this information, parse through it, and dynamically template it into the email. In turn, Content Blocks allow you to take that personalized element and reuse it in future emails and other messages, without having to start from scratch.
You’d start by creating a Content Block within the Braze dashboard, then adding Liquid to make the Connected Content request, properly parse the payload, and save the relevant properties down to individual Liquid variables. These variables can then be used later in the campaign.
Once the Content Block is configured, all you need to do is pull in the Content Block at the top of the campaign, allowing the variables defined in the Content Block to be used. This approach is simpler and more intuitive than using Connected Content in an ad hoc way and allows marketers to focus on making the creative content as effective and dynamic as possible, rather than on technical needs.
Ready to harness Connected Content—and maybe Content Blocks, too—to improve your brand’s marketing campaigns and more easily reach your business goals? Check out the technical documentation for Connected Content to get started.
Sign up for regular updates from Braze.