Google Tag Manager

Forum Discussion

_davidgarcia_'s avatar
_davidgarcia_
Supporter
2 months ago

Custom Event + Properties

So, I am triggering a few custom events which contains a few properties as below

appointment_booked (appt_time, appt_location, app_details, appt_virtual)

all strings except for appt_virtual which is boolean

  1. In canvas config, I am segmenting users which has received the appt_virtual event more than 0 times
  2. I have a action path activity with x2 actions (performed custom event appt_virtual where appt_virtual is true)  and the other action where is false.

all users are going to the "everything else" path? why ?  and decision split or audience path doesnt allow me to filter based on the custom event properties, whats going on? why such limitation. whats the correct way to configure it?

  • Hi,

    I believe that when you add an action path within the flow, the user has to trigger the event again, in addition to the one they already performed to trigger the canvas and enter the flow. In other words, the user would have to trigger an appointment_booked event again to progress through the action path.

    Depending on the configured “window time,” the event might not be triggered again, which is why everyone ends up in the “everything else” path.

    Since it’s not possible to filter the audience path based on properties, the most feasible option would be to filter and create different canvases based on those properties.

    Let me know if this comment helps!

  • Divyesh's avatar
    Divyesh
    Collaborator

    Let’s break down what’s happening and how to correctly configure this.

    1. Why is this happening?
      • In Braze’s Canvas, there are two types of properties: canvas_entry_properties and event_properties. Canvas_entry_properties include data present when the user enters the Canvas, while event_properties only become available immediately after a triggering event occurring within the Canvas evaluation window. Typically, custom event data that occurred before the Canvas launch (even if the event count is > 0) is not retroactively available for filtering in decision split conditions or action paths.
      • When you segmented your users based on having received the appt_virtual event more than 0 times, that segmentation is based on an aggregate historical property and not on the live event property value that the Canvas decision split is evaluating.
      • Within the action path, when you specify a filter for the custom event appt_virtual (looking for true or false), the evaluation is expecting a specific event property from an event that occurred in the evaluation window. Since the event properties aren’t carried over or “live” in that decision split, no users meet the condition and all default to the else path.
    2. Why can’t you filter by these custom event properties in a decision split or audience path?
      • The limitation is by design. In Canvas, filtering by custom event properties is only supported in very specific contexts – either as part of the Canvas entry (canvas_entry_properties) when the Canvas is triggered by an API call or immediately following an Action Paths step where event_properties from a fresh triggering event are available. Historical custom event properties (aggregated counts, previous occurrences) aren’t directly available for steps later in the journey.
    3. What is the correct way to configure your Canvas?
      • If your goal is to bifurcate users based on the most recent appt_virtual property (true/false) from an event happening during the Canvas journey, ensure that the triggering event for your Canvas includes the relevant event property. In other words, trigger the Canvas (or an Action Paths decision split) using the appointment_booked event, and then in an Action Paths step immediately following the event trigger, reference the event’s properties (i.e. appt_virtual) using event_properties.
      • Alternatively, if you need to use a historical count (e.g. appt_virtual was ever true), consider segmenting users outside of Canvas or using canvas_entry_properties that are passed into the Canvas when it is triggered (for example via an API call that includes the most current value of appt_virtual).

    A step‑by‑step recommendation:
    1. Ensure your Canvas is triggered by the custom event (appointment_booked) so that the associated event properties become available immediately during the journey.
    2. Insert an Action Paths step right after the trigger event. In that Action Paths step, reference the event_properties (not aggregated historical counts), filtering on appt_virtual being true or false.
    3. Confirm that you are not using legacy segmentation (based on historical counts) inside the decision split, as that won’t have access to live event properties.

    For more detailed context on event properties vs. canvas entry properties and how these work within Canvas journeys, see the official Braze documentation on Canvas Entry Properties and Event Properties:
    https://www.braze.com/docs/user_guide/engagement_tools/canvas/

    I hope this clarifies why the current configuration isn’t working as intended and helps you adjust your setup accordingly.