Reporting and Analytics
42 TopicsBraze 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!35Views2likes1CommentAbandoned 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?48Views1like2CommentsHelp 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!127Views1like3CommentsTracking 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!57Views1like3CommentsReporting 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, Coralie73Views0likes1CommentUser 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!113Views0likes2CommentsLiquid 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 you37Views0likes0CommentsDifferent Open Rates on an AB Test with Same Subject Line and Same Email Design
Hi! We are observing a high difference of Open Rates (a difference of up to 10 points of percentage) between two variants of an email, which have the same Subject Line, same Preheader and same Email Layout. The only thing that differs between the two variants are the dynamic offers in the emails, but the design and layout is exactly the same. We have used the variant split of Braze canvases to randomly distirbute the variants. After 2 weeks of test, the Open Rate seems to start stabilizing between the two variants. Has anyone already experienced such a use case with Braze? Regards, Liva77Views0likes2CommentsFindings from our December campaign analytics and performance survey
We recently conducted a survey to gain insights into how and when our marketing users review the analytics and performance of their campaigns and Canvases. We had an impressive response, with 1300 submissions. Thank you to everyone who participated! Timing of campaign/Canvas review survey findings: Within 24 hours after launch: 45% of you check your analytics right after launching a campaign or Canvas. This quick review allows for quick adjustments and optimizations of ongoing campaigns. If your campaign or Canvas will add users over time, don’t panic over early performance indicators, but keep an eye out for any warning signs. On specific days of the week: 20% of you prefer to check performance on set days, like Mondays and Fridays, which helps plan and strategize for the week ahead. Daily checks: 19% monitor active campaigns and Canvases daily, ensuring they stay on top of performance metrics. Varied by campaign/Canvas: A notable 46% of you also indicated your frequency depends on the specific campaign or Canvas and the metrics you track. This flexibility is key to adapting to different goals and strategies. Other: 8% of you have unique approaches that don’t fit into the other categories. Best practices for reviewing campaigns and Canvases: 🗓️ Set a review schedule: Whether daily, weekly, or after a specific milestone, having a consistent schedule helps you stay organized and proactive as you launch new one-off and ever-green campaigns. 📈 Focus on key metrics: Identify which metrics matter most for each campaign or Canvas. This could include engagement rates, conversion rates, or customer feedback. 🤸 Be flexible: As many of you noted, the approach can vary by campaign. Be open to adjusting your review process based on the goal of your campaign or Canvas. 📃 Document your learnings: Keep track of insights gained from each review, and share your findings with other internal teams! This will help refine your marketing strategies and improve future campaigns or messaging tactics. How do you approach reviewing your campaigns and Canvases? What metrics do you find most valuable? Let's learn from each other! Share your analytics practices and insights in the comments below. Happy analyzing and happy holidays! 🎄30Views3likes0Comments