Skip to content

Creating a Content Card

This article covers how to create a Content Card in Braze. Here, we’ll cover choosing a messaging type, composing your card, and scheduling your message delivery.

You can create a Content Card using the Braze platform using campaigns and Canvases.

Step 1: Choose where to build your message

Not sure whether your message should be send using a campaign or a Canvas? Campaigns are better for single, simple messaging campaigns, while Canvases are better for multi-step user journeys.


  1. Go to Messaging > Campaigns and click Create Campaign.
  1. Select Content Cards, or, for campaigns targeting multiple channels, select Multichannel Campaign.
  2. Name your campaign something clear and meaningful.
  3. Add Teams and Tags as needed.
    • Tags make your campaigns easier to find and build reports out of. For example, when using the Report Builder, you can filter by particular tags.
  4. Add and name as many variants as you need for your campaign. You can choose different platforms, message types, and layouts for each of your added variants. For more on this topic, refer to Multivariate and A/B testing.


  1. Create your Canvas using the Canvas composer.
  2. After you’ve set up your Canvas, add a Message step in the Canvas builder. Name your step something clear and meaningful.
  3. Select Content Cards as your messaging channel.
  4. Choose when Braze calculates audience eligibility and personalization for the Content Card. This can be at step entry or at first impression (recommended). Steps containing Content Cards can be scheduled or action-based.
  5. Choose whether to remove Content Cards when users complete a purchase or perform a custom event.
  6. Set an expiration for the Content Card (time in feed). This can be after a duration of time or at a specific time.
  7. Filter your audience for this step as necessary in the Delivery Settings. You can further refine the recipients of this step by specifying segments and adding additional filters. Audience options will be checked after the delay, at the time messages are sent.
  8. Choose any other messaging channels that you would like to pair with your message.

Step 2: Specify your message types

Next, select a Card Type. Braze provides three essential Content Card types: Classic, Captioned Image, and Image Only.

To learn more about the expected behavior and look of each of these message types, refer to Creative Details, or check out the links in the following table. These Content Card types are accepted by both mobile apps and web applications.

Message Type Example Description
Classic Classic Content Card The Classic Card has a simple layout with a bolded title, message text, and an optional image that sits to the left of the title and text. It’s best to use a square image or icon with the Classic Card.
Captioned Image Captioned Content Card The Captioned Image Card allows you to showcase your content with copy and an attention-grabbing image.
Image Only Image Only Content Card The Image Only Card allows you to get creative and command attention with space for images, GIFs, and other non-text based content.

Step 3: Compose a Content Card

You can edit all aspects of your message’s content and behavior in the Compose tab of the message editor.

Sample Content Card details in the Compose tab of the message editor

The content here varies based on the Card Type chosen in the previous step, but may include any of the following options:


Click Add Languages and select your desired languages from the provided list. This will insert Liquid into your message. We recommend selecting your languages before writing your content so you can fill in your text where it belongs in the Liquid. See our full list of available languages.

Title and message

Write anything you want. There are no limits, but the faster you can get your message across and get your customer clicking—the better! We recommend clear and concise titles and message content. These fields are not provided for Image Only Cards.


To add an image to your Content Card, click Add Image or provide an image URL. Clicking Add Image opens the Media Library, where you can select a previously uploaded image or add a new one. Each message type and platform may have its own suggested proportions and requirements—be sure to check what those are before commissioning or making an image from scratch! Content Card message fields are limited to 2 KB in total size.

Pin to top

A pinned card will display at the top of a user’s feed and can’t be dismissed by the user. If more than one card in a user’s feed is pinned, the pinned cards will display in chronological order. After a card has been sent, you cannot update its pinned option retroactively. Changing this option after a campaign has been sent will only affect future sends.

Side-by-side of the Content Card preview in Braze for Mobile and Web with the option "Pin this card to the top of the feed" selected.

On-click behavior

When your customer clicks on a presented link in the card, your link can either lead them deeper into your app or to another site. If you choose an on-click behavior for your Content Card, remember to update your Link Text accordingly!

The following actions are available to take for Content Card links:

Action Description
Redirect to Web URL Open a non-native web page.
Deep Link into App Deep link into an existing screen in your app.
Log Custom Event Choose a custom event to trigger. Can be used to display another Content Card or trigger additional messaging.
Log Custom Attribute Choose a custom attribute to set for the current user.

Note: The Log Custom Event and Log Custom Attribute options require the following SDK Version compatibility:

Step 4: Configure additional settings (optional)

You can use key-value pairs to create categories for your Cards, create multiple Content Card feeds and customize how cards are sorted.

To add key-value pairs to your message, switch to the Settings tab and click Add New Pair.

Step 5: Build the remainder of your campaign or Canvas

Build the remainder of your campaign; see the following sections for further details on how to best utilize our tools to build Content Cards.

Choose delivery schedule or trigger

Content Cards can be delivered based on a scheduled time, an action, or based on an API trigger. For more, refer to Scheduling your campaign.

You can also set the campaign’s duration and Quiet Hours and determine the Content Card’s expiration. Set a specific expiration date or the days until a Card expires, up to 30 days. All variants have identical expiration dates.

Scheduled delivery

For Content Card campaigns with scheduled delivery, you can choose when Braze evaluates audience eligibility and personalization for new Content Card campaigns by specifying when the card is created. For more, refer to card creation.

Choose users to target

Next, you need to target users by choosing segments or filters to narrow down your audience. You’ll automatically be given a snapshot of what that approximate segment population looks like right now. Keep in mind that exact segment membership is always calculated just before the message is sent.

Choose conversion events

Braze allows you to track how often users perform specific actions, conversion events, after receiving a campaign. You have the option of allowing up to a 30-day window during which a conversion will be counted if the user takes the specified action.

If you haven’t done so already, complete the remaining sections of your Canvas component. For further details on how build out the rest of your Canvas, implement multivariate testing and Intelligent Selection, and more, refer to the Build your Canvas step of our Canvas documentation.

Step 6: Review and deploy

After you’ve finished building the last of your campaign or Canvas, review its details, test it, then send it!

Next, check out Content Card reporting to learn how you can access the results of your Content Card campaigns.

Things to know

Sending behavior

Once Content Cards have been sent, similar to emails, they sit waiting in an “inbox” ready to be delivered to the user. After content is pulled into the Content Card (at time of displaying), the content cannot be changed during its lifespan. This applies even if you are calling an API through Connected Content, and the data from the endpoint changes. This data will not get updated. It can only be stopped from sending to new users and removed from users’ feeds. If you modify a campaign, only future cards that are sent will have the update.

If you need to remove old cards, you must stop the campaign to do so. To stop a campaign, open your Content Card campaign and select Stop Campaign. Stopping the campaign will prompt you to decide how to handle users that have already received your card. If you would like to remove the Content Card from your users’ feeds, select Remove card from feed. The card will then be hidden by the SDK on the next sync.

Dialog for confirming Content Card deactivation

Card removal events

Some Content Cards are only relevant up until a user performs some action. For example, a card nudging users to activate their account shouldn’t be shown after the user completes that onboarding task.

Within a campaign or Canvas Message, you can optionally add a Removal Event to specify which custom events or purchases should cause previously sent cards to be removed from that user’s feed; triggered via SDK or REST API.

Content Card Removal Conditions panel with Content Card Removal Event option

Updating launched cards

Content Cards cannot be edited after they are sent. If you find you need to make changes to cards that have already been sent, consider the following approaches.

Option 1: Duplicating the campaign

One approach is to archive the campaign and remove active cards from the feed. Then you can duplicate the campaign and launch it with updates so that any eligible users would received the updated cards.

  • If users should never be re-eligible for a Content Card, filter for users who have not received the previous version of the Content Card by setting the filter Received Message from Campaign to the condition to Has Not.
  • If users who received the prior card would be re-eligible in X days, then set the filter for Last Received Message from specific campaign to more than X days ago OR Received Message from Campaign with the Has Not condition.

Example: A campaign is triggered off of session start with re-eligibility set to 30 days. A user received the campaign two days ago and you want to change the copy. First archive the campaign and remove the cards from feed. Then duplicate the campaign and re-launch with the new copy. If the user has a session again, they will receive the new card immediately.

  • Reporting: Each version of the card would have separate analytics.
  • Existing Recipients: New and existing recipients would see the updated card at the next feed refresh if they are eligible.

Option 2: Stop and relaunch

If a card has re-eligibility turned on, you could chose to:

  1. Stop your campaign.
  2. Remove active Content Cards from users’ feeds.
  3. Edit your campaign as needed.
  4. Restart your campaign.

With this approach, newly eligible users will get the new card and previous recipients would get the new card when they’re re-eligible.

Example: A campaign is triggered off of session start with re-eligibility set to 30 days. A user received the campaign two days ago, and you want to change the copy. First, stop the campaign and remove the card from the feed. Then re-publish the campaign with the new copy. If the user has a session again, they will receive the new card in 28 days.

  • Reporting: One campaign will contain all reporting analytics for the card versions launched. Braze will not differentiate between versions launched.
  • Existing recipients: Users who have already received the card would not receive the updated cards until they become re-eligible. If re-eligibility is turned off, they would never receive the new card.

Keeping cards in users’ feeds

If desired, you could keep an active Content Card campaign in users’ feeds and not remove them. When edits are made to the live campaign, it means the previous unedited version of the campaign card would still be live, and only users that meet the criteria after the edits will see the new version. However, users already exposed to the campaign may see two versions of the card.

New Stuff!