Skip to main content

We are implementing Push Notifications with Klaviyo by using Klaviyo SDKs. We have application-level settings (toggle). The use case is that users have initially accepted push notifications, so it is enabled on the OS level. Then, the user can disable the toggle in the application, which does not disable notifications on the OS level.

When this setting is disabled, we want to delete user consent for Push Notifications in Klaviyo (delete the token). We used the unregister_client_push_token API and successfully removed the token (and consent). However, we noticed that after we called the API, the Klaviyo native SDK recovered the token for the user profile. We found out that this is the behaviour of the Klaviyo native SDK (both Android and iOS) and that a similar issue was filed for the React Native SDK (https://github.com/klaviyo/klaviyo-react-native-sdk/issues/169).

Could you please share guidance or best practices for revoking user consent and tokens with Klaviyo SDK?

Thank you!

 

Hi ​@udzi ! Thank you for reaching out to the Community - happy to provide some context here. 

 

Push consent is largely handled at the OS level, meaning the user takes direct action to grant consent for push notifications and both the device/application are updated to reflect their consent. 

Klaviyo’s Mobile SDK's pull those values set on the device and apply them to the profile through the SDK.  This means the token can be removed but if that user triggers our SDK through the application on their device, the SDK is just going to re-add them with the consent their phone has set.

If you’re looking to manually stop sending to a specific user or audience via toggle as you’ve mentioned, we'd recommend using profile properties and segmentation to avoid any conflict with the operating system settings.