How to Measure In-App Message Engagement in Braze

A hand interacting with an in-app message beside a notebook of engagement tallies.

To measure Braze in-app message engagement, start from impressions rather than sends, because an in-app message only counts once it's displayed. Judge creative on body and button clicks per impression, judge business effect on conversions against a control, and set button reporting identifiers before launch. Re-eligibility and calendar days change the counts, so read them knowingly.

Key Takeaways

  • Measure in-app messages from impressions, because Braze treats them as received at the moment of display.
  • Judge creative on body and button clicks per impression.
  • Button click reporting only works when the reporting identifier is set to 0 or 1.
  • Braze counts an in-app conversion if the user viewed the message, whether or not they clicked, so read conversions against a control.
  • Re-eligibility changes unique impressions and total conversions; note it beside every report.
  • Users who started a session before a campaign stopped can still see the cached message and count as unique impressions.

Why are in-app messages measured differently from push or email?

Push and email are sent to a device or inbox, then opened or not. An in-app message waits for a trigger in the app, and Braze treats it as received at the moment of display.

That makes impressions the natural starting point. A send figure says who was eligible, while an impression says who actually saw the message, so engagement rates should be read against impressions.

Dismissals belong in that base too. Braze logs an impression but not a click when a user dismisses a message, so a low click rate can reflect quick closes rather than weak content.

Which metrics measure Braze in-app message engagement?

The table sets out the metrics that matter most and the trap in each. Every rate here depends on how Braze defines its base.

MetricWhat Braze countsHow to read it
Unique impressionsUsers who saw the message, counted once per calendar day in your workspace's time zoneYour reach, and the base for conversion rate
Body clicksClicks on the message body, as a share of impressionsResponse to the overall message
Button 1 and 2 clicksButton clicks, reported only when the reporting identifier is set to 0 or 1Which call to action worked, if the identifiers were set
ConversionsThe conversion event performed after viewing, within the window, whether or not the user clickedBusiness effect, best read against a control
Total conversionsOne per viewing instance, so it can rise with re-eligibilityRepeat impact, not unique converters

The button rows are where setup decides the report. If the reporting identifiers weren't set to 0 and 1 before launch, those button metrics won't report.

How does Braze count in-app conversions?

Braze counts an in-app conversion when a user received and viewed the message, then performed the conversion event within the window. That holds whether or not they clicked.

It's a broad attribution rule, and it means a conversion doesn't prove the message caused the action. A user who saw the message and would have converted anyway still counts.

Read conversions against a control group for that reason. The gap between users who saw the message and comparable users who didn't is the effect worth reporting.

The conversion rate also uses daily unique impressions as its base. Unique impressions can only count once per calendar day, while conversions can rise within that day, so a user who converts repeatedly can lift the rate.

How does re-eligibility change the numbers?

Re-eligibility lets a user see the same in-app campaign again. Braze documents that unique impressions can increment again on a new calendar day if re-eligibility is on and the user triggers the message, and that unique impressions then equal unique recipients.

Total conversions change too. With re-eligibility off, a user who views once counts as one conversion however often they act afterwards. With it on, total conversions can rise once for each new viewing instance.

Decide which question you're answering before you compare campaigns. Comparing a re-eligible campaign's totals with a one-time campaign's totals mixes repeat exposure with unique reach.

Multiple devices are handled for you when re-eligibility is off. Braze notes that the user should see the message only once, even across several devices.

What else can distort in-app results?

Stopping a campaign doesn't end its impressions at once. Users who started a session before it stopped may still see the cached message on the trigger event, and they count as unique impressions.

Custom HTML needs extra care. Custom HTML in-app messages talk to the SDK through a JavaScript bridge, and Braze notes the SDK can't automatically attach click listeners to elements inside custom code. If clicks aren't logged through the bridge, your click report will be empty for that message.

Time range and data source matter as well. Campaign analytics show the last 90 days by default, and Braze recommends Snowflake as the more precise source when dashboard and Snowflake figures differ.

In what order should you set up and read an in-app campaign?

Set up measurement before launch, then read results in this order.

  1. Choose a conversion event that reflects the outcome you want, not a click.
  2. Add a control group so conversions can be compared with users who didn't see the message.
  3. Set the reporting identifiers to 0 and 1 on any buttons you want to measure.
  4. For custom HTML, confirm clicks are logged through the JavaScript bridge before launch.
  5. Decide whether re-eligibility is on, and note it beside the report.
  6. After launch, read unique impressions for reach, then body and button clicks per impression.
  7. Judge business effect on conversions against the control group.

Steps one to five can't be fixed after the data has been collected. Reports from a campaign launched without them answer fewer questions.

Which measurement mistakes should you avoid?

Name the mistakes so they can be caught in review. A missing identifier is a button launched without its reporting identifier, so its clicks never appear in the report.

A viewer credit reads every conversion as proof the message worked, when Braze counts conversions from viewers whether or not they clicked. A re-eligibility mix compares totals from re-eligible and one-time campaigns as if they measured the same thing.

A stop tail treats impressions after a campaign stopped as an error. A silent custom message is a custom HTML layout that never logs its clicks.

Where does this connect to the rest of the programme?

Building in-app messages that are worth measuring is covered in creating engaging in-app messages. The same reading discipline for email is set out in email campaign reporting.

Conversion events are only as good as the events behind them, covered in tracking user events in Braze. In-app messages often sit inside wider journeys, covered in multichannel engagement campaigns, and dynamic content in them is covered in seven ways to deliver dynamic content.

As a Braze implementation partner, CustomerIK recommends deciding the measurement before the message. Identifiers, a control group and a clear re-eligibility choice turn an in-app report from a tally into an answer.

Frequently Asked Questions

1. Does Braze count an in-app conversion if the user didn't click?

It does. Braze counts a conversion if the user viewed the message and then performed the conversion event within the window, whether or not they clicked.

2. Why aren't my in-app button clicks showing in the report?

Button click reporting only works when the button's reporting identifier is set to 0 for the first button or 1 for the second.

3. Does dismissing an in-app message count as an impression?

It does. Braze logs an impression but not a click when a user dismisses the message.

4. Why do impressions continue after I stop a campaign?

Users who started a session before the campaign stopped may still see the cached message, and they count as unique impressions.

5. How does re-eligibility affect unique impressions?

With re-eligibility on, unique impressions can count again on a new calendar day when the user triggers the message, and they equal unique recipients.

Sources

CustomerIK is a Braze implementation partner working across onboarding, technical integration, marketing operations and customer data management.

If you're setting up in-app reporting and want the measurement checked before launch, let's talk.

Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website.

Accept all cookies
Accept all cookies

These items are required to enable basic website functionality.

Always active

These items are used to deliver advertising that is more relevant to you and your interests.

These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features.

These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.