I'd expect that Mixpanel's mobile SDK implicitly tracks whether the customer has push notifications enabled for the app, and only sends push notifs to the users who has them enabled.
Is it true, and can I rely on it to avoid wasting events quota on initially useless Message Sent events?
Also, if this is tracked, how can I track the % of users who have push notifications enabled?
Best answer by shawnbarrett
I've had this question in the past and I talked to someone on their support. They shared with me that when setting up a notification, you will see a preview of the profiles being matched by your criteria. By default, Mixpanel dismisses profiles that are not eligible for the notification like whether the user has unsubscribed, don't have an email, and so on.
With that being said, a user could have disabled notifications in his/her device, and at the time the message is created, Mixpanel might not know this. This means that the notification will be sent to all the matched profiles (and thus a notification sent event will be created), but since the user has disabled them, when contacting Apple's - or Google's - servers, Mixpanel will get an error.
In that case, the notification was still sent, but the person did not receive it, and the profile is updated dropping that toke for the device. Explaining last part, when the user installs the app, and the user accepts to receive a notification, the app must register that notification token in Mixpanel. When a denial occurs (like in this case where the user disabled it), the token for the profile will be removed.
Turning off push notification can't be tracked since that functionality lives outside of the app in which mixpanel is tracking activity. In order to see if users have turned it off, you will need to send a push notification to them (unfortunately). Mixpanel has an article that details tracking uninstall tho - https://help.mixpanel.com/hc/en-us/articles/360000413323-Mobile-Uninstall-Tracking-
If you do want to see based off of your current users in Mixpanel for users who have turned off push notifications, you can search in your explore report for users whose $ios_devices property is not set (we talked about how to set this in your other post ). When a device no longer has push notification enabled, that property is an empty list as per their documentation here - https://help.mixpanel.com/hc/en-us/articles/115004617486-Why-are-iOS-device-push-tokens-being-removed-when-we-try-to-send-push-notifications-
That was a whole lot to take in (phew!). Hopefully it helps you out as it did me!