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)Stratification Violation ErrorAudience 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
  • v2025.2.72

v2025.2.72

v2025.2.72.0 – Redis Storage, Process Optimization​

Added​

Redis Storage​

For the correct functioning of the platform, it is now required to use Redis-compatible storage. Such storage:

  • enables a gradual transition away from file-based persistent storage;
  • increases the platform’s fault tolerance and manageability;
  • ensures more reliable and faster interaction between services.

We recommend using Kvrocks. The platform installation documentation includes a guide for connecting Kvrocks.

Using Redis is allowed but only with AOF data persistence mode or RDB + AOF mode.

Support for RabbitMQ Quorum Queues and Unified Virtual Host​

caution

Before installing the update, you need to create a new virtual host (by default, altcraft) and ensure that the current user has full permissions on it.

info

If there are messages left in old virtual hosts, you can use the Shovel plugin to transfer them. Below is an example of moving messages from the trk_read queue in the / virtual host to the altcraft virtual host:

rabbitmqctl set_parameter shovel trk_read '{
"src-protocol": "amqp091",
"src-uri": "amqp://altcraft:abcdefghijklmnopqrstuvwxyzABCDEF@localhost:5672",
"src-queue": "trk_read",
"dest-protocol": "amqp091",
"dest-uri": "amqp://altcraft:abcdefghijklmnopqrstuvwxyzABCDEF@localhost:5672/altcraft",
"dest-queue": "trk_read"
}'

Other Changes​

  • Users can now create a new report based on an existing one.
  • Added support for configuring a handler pool for the RMQ Event Sender.
  • The user session duration is now configured via the PROCAUTH_SESSION_TIME_SEC parameter, and the ability to continue the session when the IP address changes is controlled by PROCAUTH_SESSION_ALLOW_CHNET.

Improved​

  • Platform performance has been improved.
  • Stability of the procintegras process has been improved.
  • Task processing in the proctask process has been optimized.

Other​

  • Platform performance improved.
  • Fixed several UI/UX issues.
  • Increased stability of the procintegras process.
  • Fixed authorization-related errors.
  • Optimized task processing logic in proctask.
  • Fixed incorrect display of analytics metrics.
  • Confirmation link validation in templates works properly again.
  • Automation Scenario elements now operate more reliably — previously occurring errors have been resolved.
References

v2025.2.72.0: PL-18318 PL-18343 PL-18519 PL-18367 PL-18349 PL-18323 PL-18192 PL-18321 PL-18322 PL-18262 PL-18316 PL-18483 PL-18445 PL-18482 PL-18276 PL-18458 PL-18427 PL-18389 PL-18372 PL-18347 PL-18319 PL-18332 PL-18403 PL-18396 PL-18359 PL-18375 PL-18379 PL-18302 PL-18307 PL-18295 PL-18255 PL-17490 PL-17886 PL-18134 PL-17904 PL-16949 PL-16946 PL-17729 PL-17590 PL-16965 PL-17223 PL-15798 PL-17545 PL-17068 PL-17474 PL-17453 PL-17131 PL-17451 PL-17442 PL-17399 PL-16918 PL-17328 PL-17302 PL-16782 PL-17192 PL-17243 PL-17023 PL-16948 PL-17101 PL-17087 PL-17091 PL-11284 PL-16885 PL-17030 PL-17029 PL-16969 PL-17013 PL-6658 PL-16541 PL-16356 PL-16702 PL-3437 PL-16530


v2025.2.72.707 – Custom channel improvements, link shorter optimization​

danger

Pay attention to the important changes in the link shortener behavior:

  • The content of the web version of the message is now transmitted without modifications. This means that actions with it will appear in the profile card as content actions. Links to web versions are still transmitted with the dummy=1 parameter;
  • The link format has changed from ^(/s/[A-Za-z0-9_-]{5,20})$ to ^(/s[A-Za-z0-9_\-!~\.]{10,12})$.

Added​

  • Added dynamic display of process status when starting and stopping the platform using akd.
  • The number of profiles entered and exited is now displayed above scenario elements.
  • The variable insertion menu now includes scenario name and scenario ID, as well as element ID and element type.
  • Users can now override form templates using custom files.
  • Added a launch log for the trigger scenario element "Scheduled Capture".
  • The profile card now displays information about scenario errors if the profile was in the GKG.
  • API requests for the scenario list and template info now support updated_user and update_time parameters.

Improved​

Custom Channel Pipeline Improvements​

The operation of custom channel pipelines has been significantly improved. The following changes were made:

  • Fixed errors occurring during pipeline execution.
  • Added access to object names.
  • Pipelines can now accept event dates in the EventObject.
  • Added a unique message identifier in the pipeline, matching the ID in ClickHouse.

Other Improvements​

  • It is now possible to override the Firebase URL for each platform account in the configuration file.
  • The search and filtering interface across the platform has been updated.
  • Refactored link shortener operation. Duplicate link IDs were eliminated, and the maximum link length was reduced to 14 characters.
  • The maxAmountOfChanges constant was moved from segstat_recalc to a separate configuration parameter — SEGSTATIC_PROFILE_CHANGES_BATCH_SIZE.
  • Optimized the Best Send Time ML service. Related configuration parameters were also updated.
  • Improved platform performance.
  • Improved stability of procworkflow, webcontrol, and proctask processes.

Other​

  • Static segments created via API are now recalculated correctly.
  • Fixed incorrect calculation of segments with identical file names.
  • The last update date is now correctly displayed in profile databases.
  • The subscription capture trigger in scenarios now considers the selected channel and resource.
  • Fixed a JavaScript error on the campaign type selection page when creating a campaign from the calendar.
  • The session in the web interface no longer expires too quickly.
  • The adddate function now works correctly in the "API Call" scenario element.
  • The JSON filter now supports fields with underscores in their names.
  • Push templates imported via API can now be opened in the beta editor.
  • The not_strict and subscription_filter parameters in scenarios now work correctly.
  • AKMTA now correctly processes DSN when using the From field address in MAIL FROM.
  • Fixed 500 error when requesting the web version via API for profiles in the stop list.
  • Fixed an error that occurred when placing a pixel via the Tag Manager.
  • Fixed parsing of status responses from the SMSTraffic sender.
  • Phone numbers in .xls files are now parsed correctly.
  • The send_message_id value in custom JSON for Push now matches the send_message_id from the event capture hook.
References

v2025.2.72.707: PL-18764 PL-18548 PL-18710 PL-18763 PL-18671 PL-18659 PL-17043 PL-16495 PL-17891 PL-18293 PL-18486 PL-18752 PL-18674 PL-18761 PL-18095 PL-18634 PL-18661 PL-18548 PL-18531 PL-17937 PL-18383 PL-18264 PL-18449 PL-17595 PL-17827 PL-18750 PL-13124 PL-18737 PL-18070 PL-17894 PL-17772 PL-18132 PL-18672 PL-18703 PL-18712 PL-18669 PL-18619 PL-18613 PL-18648 PL-18546 PL-13124 PL-18573 PL-15659 PL-18734 PL-18705 PL-18693 PL-18668 PL-17784 PL-18662 PL-18608 PL-17418 PL-16610 PL-18697 PL-18043 PL-18685 PL-18683 PL-18676 PL-18656 PL-18605 PL-18524 PL-18660 PL-18658 PL-18447 PL-18494 PL-18632 PL-15330 PL-18592 PL-17661 PL-17120 PL-18534 PL-18446 PL-18304 PL-18261 PL-17705 PL-18417 PL-15337 PL-18164


v2025.2.72.1475 – password recovery and billing info​

caution

As part of this update, the structure of stored data has been changed, so for the platform to work correctly you must perform a migration. To do this, stop the platform and run the following command:

./aktool migrate add-updatefeed --config=/opt/MarketingPlatform/config/main.json

Do not run the migration multiple times! The migration is performed only once. If any errors occur, please contact technical support.

Added​

  • Metrics of profile processing time have been added for each campaign stage.
  • A numeric postfix has been added to the log file upon rotation.
  • For content, variables {segid} and {segname} have been added — ID and name of the segment.
  • New parameter PROCAUTH_WELCOME_LINK_TTL_SEC added — lifetime of the registration completion and password setup link.
  • Additional logs have been added to the Reply processing in AKMTA.
  • New indexes have been added in MongoDB for the most frequent queries to improve platform stability.
  • Integration with SMS provider 7tech has been added.
  • Logs for Notify requests have been added to obtain integration status.

Improved​

  • Profile sorting removed when filling a static segment.
  • Extended information in the freeze and account deactivation notification.
  • Password change page updated, along with the success notification email.
  • Improved stability of the proctask process.
  • Additional Market product fields are now imported with correct data types.

Other​

  • Fixed several UI/UX issues in the interface.
  • The --faster flag of the ./akd restart command works correctly again.
  • Fixed a bug where conditions with array references were not displayed in the "JSON filter" element.
  • Images in Viber templates are once again correctly inserted through the gallery.
  • Eliminated false triggers related to profile relations.
  • Campaign schedule start time is now calculated correctly, even when using a time zone different from the account’s.
  • Fixed errors occurring when recalculating profile segments.
  • Scenarios are now saved correctly when using the "Capture profiles on subscription add/change" node with custom channel filters.
  • Fixed JS error when opening the "Segment by schedule" node.
  • AKMTA now saves emails received from the postmaster mailbox.
  • Added X-Letter-Id header for Sendsay sender.
  • Profile card now displays unsubscribe events for the Viber™ channel again.
  • The uppercasefirst function now works correctly with profile fields.
  • Fixed errors related to sending emails after form submissions.
  • Telegram template preview works correctly again.
  • Fixed a bug where incorrect data was displayed in GCG.
  • Fixed issues related to user roles and access rights.
References

v2025.2.72.1475: PL-18764 PL-18548 PL-18710 PL-18763 PL-18671 PL-18659 PL-17043 PL-16495 PL-17891 PL-18293 PL-18486 PL-18752 PL-18674 PL-18761 PL-18095 PL-18634 PL-18661 PL-18548 PL-18531 PL-17937 PL-18383 PL-18264 PL-18449 PL-17595 PL-17827 PL-18750 PL-13124 PL-18737 PL-18070 PL-17894 PL-17772 PL-18132 PL-18672 PL-18703 PL-18712 PL-18669 PL-18619 PL-18613 PL-18648 PL-18546 PL-13124 PL-18573 PL-15659 PL-18734 PL-18705 PL-18693 PL-18668 PL-17784 PL-18662 PL-18608 PL-17418 PL-16610 PL-18697 PL-18043 PL-18685 PL-18683 PL-18676 PL-18656 PL-18605 PL-18524 PL-18660 PL-18658 PL-18447 PL-18494 PL-18632 PL-15330 PL-18592 PL-17661 PL-17120 PL-18534 PL-18446 PL-18304 PL-18261 PL-17705 PL-18417 PL-15337 PL-18164


v2025.2.72.1664 – interface improvements​

tip

As part of the update, the structure of stored data has been changed, so to ensure the platform works correctly, a migration must be performed. To do this, stop the platform and run the following command:

./aktool migrate add-updatefeed --config=/opt/MarketingPlatform/config/main.json

If you have already performed the migration, do not run it again! Migration is performed only once. If you encounter errors, please contact the technical support team.

Improved​

Interface fixes​

Several UI/UX issues have been resolved:

  • Localization has been added instead of system names in certain places
  • Improved display of some warnings and error messages
  • Added a documentation link for Basic Authentication and Token Authentication connections
  • Updated fonts and styles of some texts in the platform
  • Fixed overlapping of certain Scenario elements

Other​

  • WhatsApp sending with a "PHONE" button in EDNA now works correctly
  • Fixed an issue where templates with images could not be imported from an archive
  • Field values are now saved correctly when creating promo codes
  • Optimized performance of the procintegras process
  • Fixed issues with sender queue counters
  • Improved stability of the "Change field value" node
  • Fixed several issues related to template previews
  • Added the ability to save a connector to an external DB with SSL connection without specifying certificates
  • Fixed an error when trying to view analytics for goals containing slashes in their name
  • Viewing API content through a Scenario element now works correctly
  • Fixed empty query error in SQL segmentation requests

*Meta Platforms Inc., the company behind Instagram, Facebook, and WhatsApp, has been designated as an extremist organization and is banned in the Russian Federation.
**Viber is a trademark of Rakuten Group, Inc. and is blocked in the Russian Federation.

Last updated on Jul 25, 2025
Previous
v2025.3.73
Next
v2025.1.71
  • v2025.2.72.0 – Redis Storage, Process Optimization
    • Added
      • Redis Storage
      • Support for RabbitMQ Quorum Queues and Unified Virtual Host
      • Other Changes
    • Improved
    • Other
  • v2025.2.72.707 – Custom channel improvements, link shorter optimization
    • Added
    • Improved
      • Custom Channel Pipeline Improvements
      • Other Improvements
    • Other
  • v2025.2.72.1475 – password recovery and billing info
    • Added
    • Improved
    • Other
  • v2025.2.72.1664 – interface improvements
    • Improved
      • Interface fixes
    • Other
© 2015 - 2026 Altcraft, LLC. All rights reserved.