Reporting and Analytics
44 TopicsHow 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!23Views0likes3CommentsSegment 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!Solved11Views0likes2CommentsAbandoned Cart Journey and Revenue Calculation
We have launched an Abandoned Cart Journey (Canvas) for an eCommerce site and we are setting it up with this configuration "Cart Updated" event as entry criteria "Cart Updated" event as exit criteria to support moving the "Abandoned Cart" email delay to start at the last time the user updates the cart "Make Purchase" event as exit criteria to not email folks who made a purchase and "Purchase" as the conversion event and Two Abandon Cart emails with a X and Y duration delay After we launched this journey, we are finding that the revenue reported in canvas reflects the full revenue of the site and not just the revenue from folks who have received an abandoned cart email. This is because all e-commerce buyers will have "Cart Updated" events and hence will be added to this journeys. Customers who finish making the purchase will be removed from this journey due to the exit criteria but are still considered as part of the conversion event and revenue calculation. Is there a way around this? Is the roadmap feature for "Deeper Conversion Attribution" in the Planned Set aimed at solving this?75Views1like4CommentsBraze MCP Server - Prompts and Use Cases
Hey all, I was very excited to see the release of the Braze MCP server and set it up with Claude this morning. It's very impressive, so far I've gotten nice analytics reports for overall Canvas performance, but limited to 14 days at a time with the canvas data series analytics API, or to ask for the 'top performing Push campaigns for July 2025'. I wanted to hear some other prompts people were using to get reporting value quickly from Braze. I also was interested to pull in messaging templates (Email, IAM) and see how well it could add/edit liquid. Disclaimer: Of course don't give the MCP API key more than read access while we play around with the functionality as we don't want it to go and edit anything in Prod!104Views3likes3CommentsHelp with Query around custom event properties
Hey all! Trying to run a query to output volume of a specific custom event (with a specific property) performed by users who entered a specific canvas. I'm using the USERS_BEHAVIORS_CUSTOMEVENT_SHARED table, which includes event "name" and "properties" (according to the documentation --- Custom properties of the event stored as a JSON encoded string). I managed to output the total event occurrences but got stuck when it came to filtering by event property and pretty sure it's a syntax issue... Query - Total Voucher Redemptions: This looks at total "Voucher Redeem" events from users who entered the specified canvas. WITH canvas_users AS ( SELECT DISTINCT user_id FROM USERS_CANVAS_ENTRY_SHARED WHERE canvas_api_id = 'XXXXXXXXXXXXXXXXXXXXXXXX' ), voucher_redeems AS ( SELECT DISTINCT user_id FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED WHERE name = 'Voucher Redeem' ) SELECT COUNT(DISTINCT cr.user_id) AS users_redeemed_voucher FROM canvas_users cr JOIN voucher_redeems vr ON cr.user_id = vr.user_id; Query - Filter by specific property: I need to basically filter above to only include event occurrences where the "Voucher Redeem" property "campaign_name" matches a specific string. Just can't figure out how to do it. Chat GPT advised me the following, but I get zero results. WITH canvas_users AS ( SELECT DISTINCT user_id FROM USERS_CANVAS_ENTRY_SHARED WHERE canvas_api_id = 'XXXXXXXXXXXXXXXXXXXXXXXX' ), voucher_redeems AS ( SELECT DISTINCT user_id FROM USERS_BEHAVIORS_CUSTOMEVENT_SHARED WHERE name = 'Voucher Redeem' AND REGEXP_LIKE( PARSE_JSON(properties):campaign_name::STRING, '[XXXX]' ) ) SELECT COUNT(DISTINCT cr.user_id) AS users_redeemed_voucher FROM canvas_users cr JOIN voucher_redeems vr ON cr.user_id = vr.user_id; Has anyone successfully queried event properties and can shed some light on the solution here? Much appreciated!144Views1like3CommentsTracking Comms Cadence Across Manual and Automated Messages
I'm looking to get a sense of the average comms cadence our members typically receive. It’s a bit tricky to assess since our messaging is highly targeted and includes a mix of automated and manual communications. Just wanted to see if anyone else has successfully tackled this—I’d love to hear what’s worked for you!66Views1like3CommentsReporting for Canvas steps
Hi all, We’re currently exploring how to build a reporting pipeline from Braze to our data warehouse and would like your input. Specifically, we’re trying to track the journey a contact takes through a Braze Canvas: from entry to any conversion or exit, and export this data for analysis. Our objectives: Understand which steps a contact entered, converted on, or exited from. Capture timestamped events (ie. entry, conversion, exit, etc.) in a way that allows us to reconstruct the user’s path. Push this data into our data warehouse for reporting. We believe the following Currents event tables might be useful: USERS_CANVAS_ENTRY_SHARED USERS_CANVAS_CONVERSION_SHARED USERS_CANVAS_EXIT_MATCHEDAUDIENCE_SHARED USERS_CANVAS_EXIT_PERFORMEDEVENT_SHARED Possibly: USERS_CANVAS_EXPERIMENTSTEP_* for A/B paths We’d like to confirm: Are these the correct tables for capturing the step-by-step journey through a Canvas? Are there best practices for joining or correlating this data in our data warehouse? Should we stream this via Braze Currents, or is there a better approach for deeper Canvas-level reporting? Any advice, sample schemas, or learnings from similar setups would be hugely appreciated! Thanks, Coralie81Views0likes1CommentUser Data Export with callback endpoint
Hey hey! Hope y'all doing well. Has anyone ever exported User Data using not currents but a callback endpoint? I'm currently trying to automate exporting user data from a given segment using a callback endpoint. I'm using a Pub/Sub topic in GCP to do this. The problem is that I don't fully understand the mechanisms on how Braze publishes the URL to download the folder containing the user data in the payload response, after the API call. For example, if I'm exporting a big segment (10k+), the response from Braze is immediate: { "message": "success", "object_prefix": "812ad47c-451b-4d0a-b158-6d33713ba07b-1734705464", "url": null } But the URL is still not available (probably due to the size of the segment). My idea was to set a Pub/Sub topic which would be populated with the URL once it is ready, but I don't know what is the mechanism that Braze uses to update the URL in the payload response. I know it's a narrow specific problem, but any ideas, suggestions, or provocations would be of amazing enlightenment to me. Thank you!120Views0likes2CommentsLiquid ids for variant ID, segment ID, template id
Hello - I need to drive traffic to a third party (impact). I have a canvas set up and I want to measure conversion based on the variant ID, the segment id and the email template ID. The conversion is tracked via impact. I was hoping I could dynamically add these to the url like so: http://whatever.co/?variant_id={{variant_id}}&segment_id={{segment_id}}&template_id={{template_id}} or http://whatever.co/?sid1={{variant_id}}&sid2={{segment_id}}&sid3={{template_id}} I thought that liquid variables may do this, but every test I run, the liquid parameters are excluded. Is there any way to make this work? Thank you39Views0likes0Comments