Hello to all the creative workaround masterminds in here.
I've been thinking about push-out out tracking approaches and would love to see if you have any other ideas.Â
First, some context:
What: I'm looking to set up a Push Opted-Out event or some sort of directional tracking when users revoke the permission on (one of) their device(s). We can use this as a guardrail metric against our push campaigns.
Why: It's a nice guardrail, especially for scaling CRM teams/Lifecycle strategies. It helps sense checking what users might get value from vs feel annoyed with. It helps address stakeholder concerns around sending too much/too little in a data-driven way, rather than gut feeling. Even if it's a directional metric.
In our case we use Braze + Mixpanel, so the obvious solution to above is to use an "All events" Currents feed and stream the Token State Change event into Mixpanel (users.behaviors.pushnotification.TokenStateChange >> push_token_foreground_push_disabled=true ).
However, life is not always that easy and there's a chance I can't get approval on the extra budget to enable that (we have a more limited Currents setup at the moment). I've worked in companies with tricky setups where data activation is hard and Currents is not used, so I guess this might be relevant for other use cases as well...
To get ahead on alternative solutions, I thought of below -- but please share if you have other ideas?
- [No dev dependency] A scheduled Braze Canvas that periodically detects “now push-ineligible” (foreground push enabled for app changes to false) and logs a custom Push Opt-Out Detected event in the users' profile (via a webhook calling brazeBridge.logCustomEvent("completed survey").
- Pro: relatively easy setup; can be used as conversion event in campaigns/canvases.
- Con: probably very close to the TokenStateChange event provided by Braze, but won't be streamed to CDP/Mixpanel (for the same Currents feed limitation); usable only within Braze.
- [Dev dependency] Client-side instrumentation to detect permission changes and send a custom event from the apps.
- Pro: as accurate as Braze's TokenStateChange event, and will be available at every data tool we need (CDP/Mixpanel/Braze etc)
- Con: dev work (+dependency with product roadmap) + is it even worth the effort vs cost of upgrading Currents feed type?
Appreciate!