Places
Channels
Learn the ins and outs of every channel that Braze supports—from email, SMS, and WhatsApp to in-app messages, push notifications, paid media, and more.Orchestration
Trying to implement winning strategies? Bring your questions about A/B testing, optimization with BrazeAI™, and creative personalization here.Data
Find answers and ask questions about our 100+ turnkey partner integrations, customizable SDKs, APIs, cloud data ingestion, and more.Recent Content
IOS background events not firing but Android does
When audio is playing on our mobile app, and the listener puts it into the background, Braze can successfully send the 1-minute events on Android, but not on iOS. Our app is in React Native. Help Please, if anyone has encountered a similar issue and how to resolve it. On iOS, the SDK seems to record all background events correctly, but does not send them to the Braze server until the app returns to the foreground — at which point all queued events are sent in one batch. If the app is closed before returning to the foreground, those background events are lost. This behaviour suggests that the Braze SDK disables data flushing while the app is in the background on iOS. I also noticed that whenever the app goes to the background on iOS, Braze logs a “session end” event, followed by all the accumulated background events when the app returns to the foreground — which further indicates that the SDK pauses data flushing during background execution. We have tried the following without success: Adding background-fetch and remote-notification to UIBackgroundModes in Info.plist. (I didn't think this could fix the issue but just tried it) Calling requestImmediateDataFlush() immediately after each logCustomEvent(). We use the "react-native-background-timer" package to send periodic pings (1 min to our backend API, and 10 min to Google Analytics using "@react-native-firebase/analytics"), and those continue to work reliably in the background — suggesting the limitation lies specifically within the Braze SDK rather than iOS itself.1View0likes0CommentsHow do you manage your offers/promotions?
Hey everyone, I'm curious about what tools and platforms people are using to manage their offers and promo codes. Are you using dedicated promotion engines like Voucherify or Talon.One? Going with loyalty platforms like SessionM? Managing everything directly within Braze? Or using something completely different? Would love to hear what's working well for your team and any pros/cons you've experienced with different approaches. Thanks!4Views0likes0CommentsRequest: Save Email as Template
I would love to have the ability to utilize emails I've created in campaigns in Canvases. But the only way to do that is to export the email out of campaign as a .zip file and then import it into templates. This then removes the best part of the email creation and editing process: drag and drop! So then I can no longer edit the email in the canvas without digging into the code. Anyone else have this problem? This is a feature I've been able to use in other email marketing services like hubspot! Would love a "save email as template" dropdown option. Or, when I'm creating a canvas, be able to select emails that I've created in campaigns.939Views6likes4CommentsHow to tell a recipient's bounce status in an export?
I am using the Braze export API to pull down recently added users, and want to check if any of them are marked as hard bounce, or have already accumulated any soft bounces (and if so, in what time period). Similarly, I'd like to be able to tell if a user has marked as spam. Is there an attribute capturing this information that I'm overlooking? Or is the best/only solution to create segments for those attributes and make multiple requests. Thanks!23Views0likes3Commentsre-loop canvas or template for multiple send
Hi All, Has anyone done a re-loop in the canvas where one customer would get the same message multiple times. Not trying to spam the customer but for transactional purpose where they would need to get the same template multiple times based on the number of accounts a customer might have or event a customer runs through. Currently, I duplicate the template and do a decision split to evaluate if they have multiple. If they do then they will get the duplicate template with the second account data and so forth. For simple 1 or 2 template communication that's easy but we also have a canvas with 23 templates and duplicating that multiple times just leave room for error. Curious if anyone has done it a better way Thank you ^-^12Views0likes1CommentSegment Users with Generalized Interactions
I can see how to segment for Users who have opened an email from or clicked a link in a specific campaign. Is there a way to see Users who have received / clicked for any campaigns, either in general or within a given date range? Thanks!Solved11Views0likes2CommentsExport Email Template rendered for User?
Within Braze's Email Template Preview, you can preview for either a random, specified, or custom user, to see and download the rendered email template. I know about the API endpoint for "See email template information" GET /templates/email/info - however, it only appears to support retrieving the raw template, without a means to render. Is there an API for retrieving a rendered email template; ideally for a specified or customized user? Thanks!Solved23Views0likes1CommentFind matched filter group in Canvas step
Is there a way to find which filter group a user matched when matching a step in a canvas? Ideally I want to use the returned events data which is in USERS_CANVASSTEP_PROGRESSION_SHARED or something like that, but I can only find a reference to the canvas_step_api_id, not anything internal to the step node itself apart from its name. Thanks59Views0likes8CommentsUnsubscribing from Subscription Groups
How can we set the unsubscribe to only remove the user from the specific subscription group? We don't want to do this through a preference center. We just want to have a link that automatically removes the user from the specific subscription group that the email was sent to. Also, when importing users via CSV that could be in multiple subscription groups should we handle the subscription_group_id to ensure that overlapping users remain subscribed to both lists? Is it automatic? Or would it override each other?