Forum Discussion

abenton's avatar
abenton
Practitioner II
10 months ago

Non-User-Specific Custom Events?

Hi all, we want to set up a campaign that is sent to anyone in our target audience when a specific event occurs on-site, but it would not be a user-specific custom event. Is there a way to do this without assigning the event action to each user? Example: a recurring event on our site occurs on non-standard intervals and we want to send a push to customers when we're X% away. 

  • JosephC's avatar
    JosephC
    Active Member

    Hey there abenton! You find a solution?  I'm thinking 2 options... both of which are backend/data engineering heavy:
    1) Use your code to make an API call that sends ONLY to your segment - maybe resource intense
    2) Cloud Data ingestion - Delay prone

    1 - We have several messages that are "triggered from the code". Our engineering team builds in logic that will make the API call triggering a message from our backend.  We make these calls real time for certain transaction messages, or based on different algo. type criteria (e.g. 14 days after last event, to this audience). I would think with engineering, you could set it up like this. - IF event occurs - make API call... -

    2 - Use CDI (Cloud Data ingestion) to create/update a custom attribute which is the trigger for the message - you set entry criteria as ACTION - When custom attribute is any new value - CDI_attribute. We use a CDI sync from Snowflake that creates/updates an engagement attributes which let's us know which users are active.
    CAUTION - I don't know if this will work realtime. We only update at 9am. If you need an immediate trigger - this probably won't be so precise. all depends on your infrastructure.

    3) I am looking into how you might use a Webhook to trigger the subsequent canvas/send - but doesn't seem promising. I think at a minimum you'd need to create a user that represents your custom event and then have some sort of forloop that cycles through each userID in the segment (triggering the canvas for each)... I may follow up... this is probably not gonna work.

    Happy to clarify! sorry for the lengthy response 😅
    -Joseph

    • abenton's avatar
      abenton
      Practitioner II

      Hey Joseph, thank you for the response and all the thought you put into these options! I think you're right, any solution we come to will need to be fairly backend/data eng heavy. I'll dig into these options a bit more and sync with our dev teams for input. Thanks again!

      • DavidO's avatar
        DavidO
        Strategist II

        Hacking onto JosephC's great list of ideas. It would be 'not quite automated' but you could build the API call in something like Postman, and whenever the action occurs, all you need to do is hit a button and bingo, segment contacted. From here you could look at ways of automating the call.

  • bob's avatar
    bob
    Specialist

    I agree with all the other things mentioned, but if you really want to do this in Braze yourself, you could:

    Trigger an event/attribute update to a 'fake' user - on that exists in Braze, but doesn't correspond to an actual user.

    That will cause, for that user, a webhook campaign or a canvas with a webhook step in it...

    ... that triggers a campaign/canvas for the actual audience via the Braze API.

    I'm not convinced this is the right way of solving your actual problem, but it could be made to work and would work reasonably well.

    I'd be really interested in working on this with you if you'd like to reach out.

    • DavidO's avatar
      DavidO
      Strategist II

      Whether this☝️ is the perfect solution or not, bob this is still some golden logic. Love it!

  • DavidO's avatar
    DavidO
    Strategist II

    Hi abenton

    I just want to clarify I am reading this correctly. Essentially, you want any user to be able to trigger a certain event on a page but when the event occurs it messages an entire segment, not just that user.

    i.e. I go on your page and click a product and as a result, it sends a push to all the users in a certain segment, not just me.


    • abenton's avatar
      abenton
      Practitioner II

      Hey David! Not quite... we don't want this tied to specific user actions. It's more of a "site action" that we want to trigger a communication to a group of users. Something that can be done manually, BUT because it happens at non-standard times and fairly frequently, we are trying to find a way to automate. So instead of a user action trigger, ideally we could have a site/event action trigger (if that makes sense). 

  • Hi abenton , hope all is well! FYI, this is the exact use case for API-Triggered Campaigns where the message is sent based on logic/trigger that occurs from your backend, not based on the user's actions. You'll need some Engineering resources no matter what, although we can always try to take some effort off of their plates by building the API-triggered Campaigns/Canvases, maybe creating a webhook to capture the data, etc. 

    • abenton's avatar
      abenton
      Practitioner II

      Hey Allan, thanks for the reply! I love the Braze video series you've been posting on LinkedIn! We're exploring a way to API trigger these comms with our engineering teams but were hoping there may be an internal Braze solution before we got too deep. Sounds like they'll need to be involved either way though. Thanks again!