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 glossary
      Profiles and databasesarrow
    • Subscription resourcesManaging databasesSubscriber profileProfiles import and data updateScheduled customer data importAutomatic 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 practicesEmail: sending domain configurationEmail: setting up and using postmastersБыстрый старт
        Push channelarrow
        • Mobile Pusharrow
        • Settings & implementation
            Integrate your app with Altcraftarrow
          • Providers: push message structureProcessing and adding a subscriptionEvent registration
          Web pusharrow
        • Preliminary Settings
            Web browser push configurationarrow
          • Firebase Cloud messagingApple SafariMozilla Services
          Connecting Web Push to a WebsiteTransferring Data to the PlatformWeb Push SDK Methods
            Import of subscriptions from third-party push servicesarrow
          • Migrating push subscriptions from third-party servicesHow to transfer push subscriptions configured for Safari?Migration from OneSignal
      SMS channel
        Creating mailing from scratcharrow
      • EmailSMSWeb PushMobile PushWhatsAppViber*™Руководство: SMS-рассылка через VK NotifyMAX BotMAX GroupNotifyTelegram BotTelegram Group
      Communication Channels WorkflowРуководство: SMS-рассылка через УТШРуководство: push-рассылка через сервис от "Согласие"
      Segmentationarrow
    • Static SegmentsDynamic SegmentsUpdatable Segments
        Segmentation Conditionsarrow
      • Segmentation by Profile dataSegmentation by Interactions with EntitiesSegmentation by Activity of the channelSegmentation by external dataSegmentation by external SQL tablesSegmentation 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 templateMAX templateTelegram templateWhatsApp templateViber™ templateNotify template
        Visual editor for email-templatearrow
      • Visual editor interfaceAdding blocksElements and their settingsCustom blocksStyle managerLayer 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
    • Mailings calendarBroadcast mailingsRegular mailingTrigger mailingMultivariate testingMailing testingMailing schedulePlacement mailing
      Campaignsarrow
    • Working with CampaignsLocal control groups (LCG)Audience expansionAudience building
      Automation scenariosarrow
    • Managing scenariosNodes of the scenarioClassic marketing scenariosStep-by-step welcome scenario guideScenario for automatic notification of the managerAbandoned cart scenario
      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 systemsБыстрый стартBasic 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
      Integrationsarrow
      • Action hooksarrow
      • Altcraft Action HooksAction hooks event typesAction Hook Message StructureJSON 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 app a trigger mailingEvent registrationGoogle Sheets and Altcraft integration AmoCRM and Altcraft integration
      Facebook Ads Manager™Google Ads AudiencesMAXYandex.Audience™VK Ads™Static segment synchronizationYandex AppMetrica™Tilda™Lpgenerator™WhatsAppViber*™ integrationIntegration scopeData Transmitted During SynchronizationNotify
      Weblayersarrow
      • Formsarrow
      • Create a formForm constructorAppearanceActions after form activationData analyticsBinding data channel and formsConditional logic in forms and surveysNPS 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 typesVariables typesLinking a pixel and the Tag manager
      Settingsarrow
    • Account settingsCustom linksVirtual sendersSending policiesAudit journalTags FAQ
        Users, groups and accessarrow
      • Two-Factor Authentication (2FA)
        Connectionsarrow
      • Connection to Facebook Ads ManagerConnection to Google AdsConnecting to Yandex.Audience™Connection to 360dialogConnection to EdnaConnection to Devino TelecomConnection to SMSTrafficConnection to VK Ads™Connection to MTS OmniChannelCustom Authentication ConnectionOAuth2 connectionBasic Authentication connectionToken Authentication connectionConnection to RapportoMAX connectionConnection to Notify
      Attribute settings
      API requests: where to startarrow
    • Import or update a profileTrigger mailing launchEngage profile in scenario
      Changelogarrow
    • v2026.1.76v2025.4.75v2025.4.74v2025.3.73v2025.2.72v2025.1.71v2024.4.70v2024.3.69v2024.2.68.2v2024.1.68
    Documentation archivelibrary
  • Changelog
  • v2026.1.76

v2026.1.76

v2026.1.76 — MAX integration, Loyalty Programs & Segments optimization​

Migration​

danger

Migration is required for the platform to function correctly.

To perform the migration, follow these steps:

  1. Replace the platform files with the files from the new build.
  2. Set the CH_READ_ACTIONS: true parameter in the configuration file on ALL hosts.
  3. Run ./akd upgrade and confirm the migration.
  4. Set the CH_READ_ACTIONS: false parameter in the configuration file on ALL hosts.
  5. Fully restart the platform using the ./akd restart command.

The migration is resource-intensive and requires updating all profiles across all account databases. MongoDB and ClickHouse databases are involved in the process.


Additionally, in this update, all active mailings that do not use a resource will stop working.

To ensure mailings continue to work correctly, create a new or select an existing resource and assign it in the mailings settings.

A list of such mailings can be obtained using the command ./aktool mailings upgrade-blocker-list or ./aktool mailings upgrade-blocker-list --account-id 12345 (for a specific account).


MAX messenger integration​

This update introduces support for a new communication channel — integration with the MAX messenger. Two types of integration are available:

  • MAX Bot — for sending personalized messages to users
  • MAX Group — for sending messages to group chats

You can create a message template for the MAX messenger using the built-in template editor. A template may include the following elements:

  • Text.
  • Image.
  • Video.
  • Audio.
  • File.

You can also immediately add interaction buttons for recipients:

  • Text button — displays a button with text.
  • Link button — opens a specified link.
  • Callback button — returns a specified text or command to the bot after clicking.
  • Open application — opens a mini-application.
  • Request location — requests the user’s location.
  • Request contact data — requests the user's contact details and phone number.
  • Button group — a combination of buttons of several types.

The channel can be used in mailings, scenarios, and campaigns, and analytics is also available:

Segmentation Optimization​

Processing of "exists / does not exist" conditions for channel events (send, open, click, etc.) has been optimized, significantly accelerating segmentation:

  • up to 90x faster for simple conditions.
  • up to 8x faster for complex conditions with multiple filters.

The algorithm for recalculating static segments based on dynamic conditions has also been optimized, reducing database load and speeding up recalculation of large segments.

To use the accelerated segmentation mechanism, complete the migration steps described at the beginning of the article.

Other​

  • When importing into the stop list, a report with rejection reasons is now displayed (similar to database import).
  • Added the ability to update object attributes (for example, completed Mailings).
  • Fixed an issue where Mailings inside a campaign were not sent when using dynamic segments.
  • Fixed an issue with procloyalty startup on dedicated servers.
  • Product segments can now be used in order filters.
  • Added logging for Web Push notifications in Safari.
  • Fixed an issue where links did not work in preview for Telegram bot templates and Custom channels.
  • Improved loyalty program analytics interface.
  • Fixed an issue where it was impossible to add a Mailing via a Custom channel after cloning a Scenario.
  • Optimized performance of loyalty program APIs.
  • Fixed event duplication in ClickHouse. Added deduplication and reversal mechanisms for duplicate events (send, open, click, etc.) and pixel goals.
  • Fixed an issue with profile entry into a Scenario when using scheduled segments with the "in dynamic segment" condition.
  • Fixed an issue where profiles returned to a previous node if the "Condition" node was unavailable.
  • Fixed an issue where static segments with conditions were not recognized as updatable.
  • Profiles now correctly exit the "Wait for event" node in Scenarios.
  • Fixed incorrect display of Scenario IDs in condition nodes.
  • Attributes can now be selected in segment or RTG setup even if no value is assigned.
  • Deactivated and hierarchically assigned attributes are now available for viewing in entity objects.
  • Fixed issues related to form creation and configuration.
  • Fixed an issue where content in the event capture storage was saved when it should not have been.
  • Fixed an issue when creating a transaction with points accrual and a 5-year expiration.
  • Added message lifetime (TTL) configuration. You can now define message validity in Smart Mailing settings or via API when launching triggered Campaigns. Messages with expired TTL are guaranteed not to be delivered.
  • Segmentation by Custom channel events now works correctly.
  • Fixed issues with parallel execution of identical tasks on different cluster hosts.
  • Fixed an issue where scheduled segments did not start in Scenarios linked to Campaigns.
  • Unsubscribe events via API are now correctly captured in event tracking.
  • Link shortening in Telegram communications works correctly again.
  • Reduced memory consumption of certain platform processes.
References

v2026.1.76.0: PL-21468 PL-16462 PL-21464 PL-21432 PL-21456 PL-21443 PL-20569 PL-21441 PL-21439 PL-21425 PL-21438 PL-21137 PL-15793 PL-21420 PL-21418 PL-21397 PL-21413 PL-21360 PL-21369 PL-21377 PL-21402 PL-18631 PL-21374 PL-19708 PL-21142 PL-21376 PL-19366 PL-21229 PL-21364 PL-21357 PL-20988 PL-21193 PL-21294 PL-21295 PL-17213 PL-21269 PL-21209 PL-21230 PL-21223 PL-21215 PL-21217 PL-21214 PL-21162 PL-21190 PL-21183 PL-21003 PL-21164 PL-17598 PL-17820 PL-17675 PL-21135 PL-21147 PL-21108 PL-20839 PL-21045 PL-19209 PL-21004 PL-20969 PL-20775

v2026.1.76.951 — Fixes and improvements​

Important

All platform processes now write logs exclusively in JSON format. If you use external log collection systems, please take this change into account when configuring.

Improved​

  • Optimized the performance of the webcontrol process when calculating dynamic segments.
  • Optimized the operation of API, segments, mailings, and scenarios — read requests are now distributed across database replicas.
  • Logs from all processes are now correctly written in JSON format.
  • Fixed an issue where a disabled loyalty module continued to create queues.
  • Fixed an issue where support chat history was lost after page reload.
  • Added performance monitoring metrics for mailings.
  • Added API handlers loyalty/register_member_batch and loyalty/register_member_batch_task for bulk profile import into a loyalty program.

Other​

  • Fixed profile looping in the "Condition" node when no filters were present.
  • Improved loading speed of the static and updatable segment editing page.
  • Fixed an error with date substitution via variables in segmentation queries to external databases.
  • Fixed an issue where synchronization of updatable segments with SQL databases was not working correctly.
  • Fixed recalculation of segments with segmentation queries containing "array" type parameters.
  • Fixed an issue where segment search was not working when importing conditions.
  • Calculations with "OR" conditions inside nested segments now work correctly.
  • Fixed an issue where custom channel mailings were not sent when the template contained required fields.
  • Links in the preview of custom channel templates now open in a new window.
  • Added link validation for buttons in Telegram templates — a template with an invalid link can no longer be saved.
  • Fixed JSON validation when saving templates — templates with dynamic JSON containing variable substitutions can now be saved.
  • Variables in custom channel mailing fields are now correctly substituted.
  • Fixed the resource filter in profile subscriptions — the filter no longer resets when deleting a subscription or applying changes.
  • Fixed an issue where a profile with a custom channel subscription could not be saved.
  • Fixed an error in the "Condition" node when checking the total purchase amount in the Market module.
  • Conditions for selecting updatable product segments are now available in scenarios.
  • Fixed column display in analytics.
  • Users without "Master" permissions can now save promo codes.
  • Fixed matching by profile_id in scheduled imports.
  • Fixed list filtering by attribute with the "Not set" value.
  • Fixed minor UI issues related to the block editor and browser navigation.
References

v2026.1.76.951: PL-21645 PL-21633 PL-21630 PL-21613 PL-21595 PL-21599 PL-21615 PL-21606 PL-21597 PL-21598 PL-21586 PL-21578 PL-21583 PL-21565 PL-21498 PL-18083 PL-20863 PL-21562 PL-21477 PL-21548 PL-13978 PL-21029 PL-21410 PL-19757 PL-21478 PL-21352 PL-21338 PL-21187 PL-21191 PL-21184 PL-20897 PL-20634 PL-20940 PL-19867 PL-15846 PL-21484 PL-21530 PL-21528 PL-21522 PL-21496 PL-21499 PL-21386 PL-21435 PL-21385 PL-21169 PL-21424 PL-21475 PL-21457 PL-21454 PL-21384 PL-20660 PL-21436 PL-21158 PL-21375 PL-21416 PL-20179 PL-21400 PL-21346 PL-21354 PL-21322 PL-21277 PL-21316 PL-21270 PL-21138 PL-21121 PL-19911 PL-20235 PL-17714 PL-21016 PL-20713 PL-20983 PL-20985 PL-17974 PL-20964 PL-20667 PL-18947 PL-19639 PL-18914 PL-18973

Last updated on Apr 10, 2026
Previous
Changelog
Next
v2025.4.75
  • v2026.1.76 — MAX integration, Loyalty Programs & Segments optimization
    • Migration
    • MAX messenger integration
    • Segmentation Optimization
    • Other
  • v2026.1.76.951 — Fixes and improvements
    • Improved
    • Other
© 2015 - 2026 Altcraft, LLC. All rights reserved.