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
  • Mailings
  • Multivariate testing

Multivariate testing

Multivariate testing, also known as MVT, or A/B/n testing, is a mailing that allows you to send multiple message templates (up to 8) to a part of the audience to compare their effectiveness. After that, the winning template is selected and sent to the rest of the audience. When the message is sent to each of the recipients, the mailing will end in the same way as a broadcast.

To create a new multivariate test mailing, select Mailings → Multivariate testing and press the + Create button. Also, you can use the mailings calendar to create a new multivariate testing mailing.

General settings​

In the main settings, specify the name and description of the new segment, and if needed, set the access group, add tags and attributes for additional grouping:

Mailing settings​

The following information is defined in mailing settings:

  • communication channels (Email, SMS or Push),
  • subscribers,
  • several templates with content,
  • audience size for testing,
  • selection of winner template.

Channels​

On the first tab, you can select the communication channel you want to use. This channel must be available in at least one subscription resource. The resource is selected on the next tab.

note

For Email sending, you can use the field with the main subscriber contact information — Email field.

Subscribers​

On the Subscribers tab you can choose a resource to send messages from and an audience you want to communicate to. It can be a database or a segment.

tip

Mailings are sent to customers who subscribe to a certain resource. Please, make sure that message recipients are subscribed to the resource before mailing.

In the Audience part for testing block, you set an audience part, that will receive several content kinds for comparing templates efficiency.

Templates​

On this tab, you can select the content that you want to use in the mailing. In Altcraft, messages templates combine content for mailing by all available channels.

tip

Please, make sure, that the template has content for the selected channel.

Press Add button and select the template. Any mailing type can use up to 8 templates. A/B testing mailing will send one message to each customer using selected templates in random order in equal parts.

Click on the template miniature to see a preview, or click on the template name to open the template editor:

Test settings​

On this tab, you can configure how the winning template will be selected. The following options are available:

  • Number of opened messages
  • Number of message link clicks
  • Select manually

Selection winner by openings/clicks​

If you want to select the winning template automatically, set the mailing Start time. This is the time and date for the mailing test launch.

After launch, the mailing will automatically collect statistics by the total number of messages openings or link clicks. You can set a time for collecting statistics using Time to select the winner parameter.

After the mailing collects statistics on opens or clicks, the message template that is most effective based on the selected indicator will be sent to the main part of the audience according to the specified schedule:

tip

The mailing schedule is described in detail on this page.

caution

If you select a time zone other than your account zone in the schedule settings, only the winner template will be sent according to that time zone. Test messages will be sent according to the account's time zone.

To complete the setup, click Finish. The options you select will be displayed in the Mailing settings block. Using the button in the upper right corner of the block you can edit the settings:

Save the mailing to activate it.

Manual winner selection​

If you want to use the Select manually option, set the Start time. Mailing start is the time and date of launch of the test part of the mailing.

Next, set the mailing schedule. According to this schedule, the winner template will be sent to the main part of the audience.

Save the mailing to activate it. After the mailing sends test messages, it will switch to Active (Waiting for you) status.

At this step, you need to analyze the performance of each template and choose the winner template. To do this, click on the "Make a decision" button in the mailing editing window:

You can also select the winning template in the window with the list of mailings by clicking on the corresponding button in the context menu:

You will see a window with statistics for each template:

  • Send is the number of messages sent.

  • Delivery rate is the number of messages delivered.

  • Content CTR is the percentage of clicks in a message. Calculated using the formula: (Number of clicks / Number of messages delivered) * 100%.

  • Content OR is the percentage of openings in a a message. Calculated using the formula: (Number of messages opened / Number of messages delivered) * 100%.

If you don't have enough data to choose the winning template, you can use the Channel report. Click on the analytics icon to open it:

In the report, select the parameters necessary to evaluate performance. These can be absolute or relative values (such as Open Rate or CTR/CTOR). You can also check negative reactions by the number of complaints and unsubscriptions.

Instant mailing launch​

If you want to launch a mailing right after its creation, toggle the appropriate option at the bottom part of the page.

  • If the limits were not configured, messages will be sent to all customers.

  • If limits were configured, the mailing will be launched besides schedule.

Communication policy​

Communication policy sets limits for communication with one subscriber. It is configured in the Limitations block. By default, the mailing will use account policy or resource policy.

Smart settings​

The Smart Settings block includes the following additional mailing options:

  • Virtual sender — lets you select a virtual sender for the mailing (a set of rules for sending messages from the platform’s real senders).
  • Custom tracking domains — tracks message interactions using additional tracking servers. Specify each domain on a separate line.
  • BCC email list — BCC recipients for outgoing messages. Specify each address on a separate line.
  • Do not check contact data for uniqueness — disables uniqueness validation of mailing recipients based on subscription data.

Mailing Watchers​

You can also configure mailing watchers in Smart Settings. Watchers receive the same messages as mailing recipients. To do this, you need a watchers database. It is created the same way as a regular database, but you must enable the corresponding option in General settings.

In Smart Settings, select the watchers database and set the message sending limit for each mailing launch:

Message Time-To-Live (TTL) Restriction​

Message Time-To-Live (TTL) is the period during which the system attempts to send a message from the delivery queue. If the message is not delivered within this time, sending stops and the message is removed from the queue.

TTL should be used for campaigns that are relevant only for a limited time. For example, if a message is related to a promotion, an event reminder, a one-time code, or an offer that quickly loses relevance.

To configure TTL, enable the Limit message lifetime (TTL) option and specify the waiting time in days, hours, minutes, or seconds.

After the specified time expires, the system stops delivery attempts for the undelivered message and registers a delivery failure event.

Message TTL specifics
  • The TTL value must be within the limits defined by the MTA_MIN_TTL and MTA_MAX_TTL configuration parameters.
  • If TTL is set in multiple places, the value with the highest priority is applied: the expiration API parameter > the value specified in Smart settings > the MTA_TTL_DEFAULT configuration parameter.
  • TTL is counted separately for each recipient starting from the moment message delivery begins.
  • After TTL expires, the system stops delivery attempts even if the channel is still technically able to deliver the message.
  • TTL does not work for channels that do not return message delivery statuses: Telegram, MAX, and custom channels.
Last updated on Apr 28, 2026
Previous
Trigger mailing
Next
Mailing testing
  • General settings
  • Mailing settings
    • Channels
    • Subscribers
    • Templates
    • Test settings
      • Selection winner by openings/clicks
      • Manual winner selection
  • Instant mailing launch
  • Communication policy
  • Smart settings
    • Mailing Watchers
    • Message Time-To-Live (TTL) Restriction
© 2015 - 2026 Altcraft, LLC. All rights reserved.