Skip to main content
Altcraft Docs LogoAltcraft Docs Logo
User guide iconUser guide
Developer guide iconDeveloper guide
Admin guide iconAdmin guide
English
  • Русский
  • English
Login
    User documentationGetting StartedFAQAltcraft glossaryPlatform limits
      Profiles and databasesarrow
    • Subscription resourcesManaging databasesSubscriber profileProfiles import and data updateCommon Errors When Importing ProfilesScheduled customer data importManaging Data TablesAutomatic data collectionBulk customers profiles updateDouble opt-in subscriptionSuppression listsProfile relationsProfile history exportProfile exportCreating a static segment based on import resultsHow to open a CSV fileMatchingTypes of fields in the databaseGlobal control groupsSubscription Manager
      Communication channelsarrow
      • Email channelarrow
      • Email: ISP interactions best practices
          First mailingarrow
        • Quick StartEmail
        Email: sending domain configurationEmail: setting up and using postmastersHow email tracking works
        Push Channelarrow
        • Mobile Pusharrow
        • First Mobile Push Mailing
            Mobile Push Providersarrow
          • Firebase Cloud MessagingApple Push Notification ServiceHuawei Mobile ServicesRuStoreYandex.AppMetrica
          Integrate your app with Altcraft
            Deprecated: Manual Push Setuparrow
          • Deprecated: Setup and ConnectionProcessing and adding a subscriptionEvent registrationProviders: push message structure
          Web Pusharrow
        • First Web Push MailingResource and Website Setup
            Web Push Providersarrow
          • Firebase Cloud messagingApple SafariMozilla Services
          Transferring Data to the PlatformWeb Push SDK MethodsPWA and Push Notifications
            Migration and Subscription Transferarrow
          • Migrating push subscriptions from third-party servicesHow to transfer push subscriptions configured for Safari?Migration from OneSignal
        Push token deactivation
        SMS channelarrow
      • SMS
        In-Apparrow
      • First In-App PlacementSDK Setup and Integration
      WhatsAppViber*™
        Telegramarrow
      • Telegram BotTelegram Group
        Maxarrow
      • MAX BotMAX Group
      NotifyCommunication Channels WorkflowРуководство: SMS-рассылка через VK NotifyРуководство: SMS-рассылка через УТШРуководство: push-рассылка через сервис от "Согласие"
      Segmentationarrow
    • Static SegmentsDynamic SegmentsUpdatable Segments
        Segmentation Conditionsarrow
      • Segmentation by Profile dataSegmentation by Interactions with EntitiesSegmentation by Activity of the channel
          Segmentation by external dataarrow
        • Segmentation by external dataSegmentation by external SQL tablesRecommendations for segmentation by external data
        Segmentation by Profile structure
      Best Send Time (BST)Logical operators "AND" and "OR"Recommendations for working with segments
      Message templatesarrow
      • Working with message templatesarrow
      • Working in the editorEmail templateSMS templatePush templateTemplate for In-AppMAX templateTelegram templateWhatsApp templateViber templateNotify template
        Visual editor for email-templatearrow
      • Visual editor interfaceAdding blocksElements and their settingsCustom blocksElement stylesLayer manager
      Template fragmentsImage galleryContent personalizationCreating tables based on array elementsBlock editor for email template
        Altcraft Variables and Functionsarrow
      • Logical expressions in messagesLoops in messagesMarket variables in templatesUsing the JSONPath functionality
        Dynamic content in messagesarrow
      • Dynamic HTML contentDynamic JSON contentContent from SQL database in templatesDynamic API content
      Importing and exporting a message templateImporting a template from a third-party serviceExporting a template from Pixcraft
      Mailingsarrow
    • Broadcast mailingsTrigger mailingRegular mailingMultivariate testingMailing testingMailing schedulePlacementsMailings calendarMailing log — errors and troubleshootingManaging the Sender Queue
      Automation scenariosarrow
    • Managing scenariosScenario NodesClassic marketing scenariosStep-by-step welcome scenario guideScenario for automatic notification of the managerAbandoned cart scenarioCycle Handling in Automation ScenariosHigh-priority scenarios
      Campaignsarrow
    • Working with CampaignsLocal control groups (LCG)Stratification violation error when limit is reachedAudience expansion in campaignsAudience building
      Marketarrow
    • Market settings
        Productsarrow
      • How to create a product manuallyHow to import a product from a fileScheduled product importProduct and SKU SegmentsPreparing the YML file
      OrdersMarket variables in message templateGuide: how to send an order confirmation email
      Loyalty programsarrow
    • Loyalty programsLoyalty integration with external systemsCreating a loyalty program from scratchBasic loyalty program use casesOrder SegmentsPromotion codes
      Reports and analyticsarrow
    • Channel reportTraffic report
        Summary reportarrow
      • Summary report metrics
      Cohorts reportLifetime reportFunnels reportGoals reportAudience growth reportClick map reportLoyalty programs reportBounces reportUndeliveries reportReport on global control groups
      Weblayersarrow
      • Formsarrow
        • Create a formarrow
        • General settingsForm customization with custom codeForm constructorAppearanceActions and form publicationConditional logic in forms and surveys
        Data analyticsBinding data channel and formsNPS testing
        Pixelsarrow
      • Goal customer actions and scoring
        Pop-upsarrow
      • Creating and publishing a pop-upSetting up a popup in the code editorManaging pop-ups manually via scriptPopup analyticsGuide: pop-up for push subscriptionsCase: Creating a pop-up with the "Wheel of Fortune" widgetBasic cases of placing a popup via the Tag Manager
        Tag Managerarrow
      • Configuring and installing Tag ManagerTrigger typesVariable typesLinking a pixel and the Tag manager
      Settingsarrow
    • Account settingsCustom linksVirtual sendersSending policiesAudit journalTags FAQ
        Connectionsarrow
      • Connection to Facebook AdsConnection to Google AdsConnecting to Yandex.Audience™Connection to 360dialogConnection to EdnaConnection to Devino TelecomConnection to SMSTrafficConnection to VK Ads™Connection to MTS OmniChannelConnection via OAuth 2.0Basic Authentication connectionToken Authentication connectionCustom Authentication ConnectionConnecting to MAXConnection to NotifyConnection to Rapporto
        Users, groups and accessarrow
      • Password and login securityTwo-Factor Authentication (2FA)
      Attribute settings
      Integrationsarrow
    • Facebook Ads Manager
        Yandexarrow
      • Yandex AppMetricaYandex.Audience™
      Google Ads AudiencesWhatsAppStatic segment synchronizationViberVK AdsNotifyMAX
        Action hooksarrow
      • Lpgenerator™Tilda™Altcraft Action HooksAction hooks event typesEvent Capture Message StructuresJSON batch request (HTTP POST action hook)Message to RabbitMQ brokerMessage to RabbitMQ exchangerMessage to Kafka brokerTest event
        Integration of third-party services using Albatoarrow
      • Connecting Altcraft to Albato Launching the welcome scenario using AlbatoTransmitting event dataSetting up a trigger mailingEvent registrationGoogle Sheets and Altcraft integration AmoCRM and Altcraft integration
        Additional Informationarrow
      • Integration scopeData Transmitted During Synchronization
      API requests: where to startarrow
    • Import or update a profileTrigger mailing launchEngage profile in scenario
      Changelogarrow
    • v2026.3.79v2026.3.78v2026.2.77v2026.1.76v2025.4.75v2025.4.74v2025.3.73v2025.2.72v2025.1.71v2024.4.70v2024.3.69v2024.2.68.2v2024.1.68
    Documentation archiveEmail Marketer's Library
  • Communication channels
  • Push Channel
  • Push token deactivation

Push token deactivation

A push token is considered invalid (hardbounce) and its subscription status changes to Hardbounced if the provider response contains one of the markers from the tables below. A marker is a substring of the error text: matching is case-sensitive, except for the FCM API v1 marker, which is compared as an exact match.

When a marker matches, the subscription is deactivated at the moment the provider response is processed — for the FCM API v1 marker, right after the hbounce event is registered. The hbounce and undeliv events are generated at the same time — they can be used to build automation scenarios.

Provider errors that deactivate the token​

Provider groupMarkers in the error textError description
Firebase / FCM: Android, iOS, Samsung, Opera, Yandex, Chrome via Firebase, Firefox via Firebase, RuStoreNotRegisteredThe app was uninstalled from the device, the token was revoked, or the device stopped receiving pushes from FCM. The platform no longer sends to this token and deactivates the subscription.
Firebase / FCM: Android, iOS, Samsung, Opera, Yandex, Chrome via Firebase, Firefox via Firebase, RuStoreInvalidRegistrationThe token is incorrect: damaged, malformed, or generated for a different app or project. The platform no longer sends to this token and deactivates the subscription.
Firebase / FCM: Android, iOS, Samsung, Opera, Yandex, Chrome via Firebase, Firefox via Firebase, RuStoreRequested entity was not found.FCM has no record of this token in its database (the token never existed or was deleted). The platform no longer sends to this token and deactivates the subscription.
Firebase / FCM (FCM API v1 sender)The registration token is not a valid FCM registration tokenSame meaning as InvalidRegistration: FCM API v1 does not recognize the token as valid. The platform no longer sends to this token and deactivates the subscription.
Chrome Web Push (legacy API)NotRegistered / InvalidRegistrationSame meaning as in FCM: the push subscription was removed by the user or the browser, or the token is damaged. The platform no longer sends to this token and deactivates the subscription.
APNs (iOS, Safari)UnregisteredThe device token was revoked by Apple: the app was uninstalled, pushes are disabled in iOS settings, or the token was reissued. The platform no longer sends to this token and deactivates the subscription.
APNs (iOS, Safari)BadDeviceTokenApple did not recognize the token: invalid format, damage, or the token is not associated with this app. The platform no longer sends to this token and deactivates the subscription.
Safari Web Push (native)UnregisteredThe Safari push subscription was removed (the user disabled notifications or reset the site permissions). The platform no longer sends to this token and deactivates the subscription.
Firefox Web Push (legacy)No such subscriptionThe Firefox push subscription was not found: it was revoked by the user or expired. The platform no longer sends to this token and deactivates the subscription.

Providers without deactivation​

Provider groupBehavior
Huawei (Android / Web / iOS)All errors are considered temporary
Yandex AppMetrica (all token types)All errors are considered temporary
Mail.ru PushAll errors are considered temporary

Errors that do not deactivate the token​

All provider responses that do not contain markers from the tables above (including Sender MissMatch) are considered temporary errors: a softbounce is registered for them, delivery is retried, and then an undelivery (undeliv) is recorded. The subscription status does not change, and sending continues on subsequent runs.

Summary​

Provider responseEventsSubscription status
Contains an HB marker from the tablehbounce + undelivHardbounced (token deactivated)
Another errorsbounce (retries) → undelivUnchanged (token remains active)
info

Subscription statuses are described in the Subscriber profile article. Push undelivery causes are collected in the Undeliveries report.

Last updated on Sep 30, 2026
Previous
Migration from OneSignal
Next
SMS channel
  • Provider errors that deactivate the token
  • Providers without deactivation
  • Errors that do not deactivate the token
  • Summary
© 2015 - 2026 Altcraft, LLC. All rights reserved.