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
  • Segmentation
  • Segmentation Conditions
  • Segmentation by Interactions with Entities

Segmentation by Interactions with Entities

This section contains rules for segmenting profiles based on their interactions with various functional entities of the Altcraft platform, such as automation scenarios, forms, popups, segments, and loyalty programs.

Scenarios​

Segmentation by participation in automation scenarios. Allows selecting profiles that are in a scenario, have completed it, or exited with an error.

Available operators:

  • has entered once — the profile has ever participated in the selected scenario.
  • has never entered — the profile has never participated in the selected scenario.
  • now in scenario — the profile is currently active in the scenario.
  • now not in scenario — the profile is currently not active in the scenario.
  • has left scenario — the profile successfully completed the scenario.
  • has left with an error — the profile exited the scenario due to an error.

Segments​

Selection of profiles based on their participation in other segments (dynamic or static). Allows creating complex multi-level selections.

Participation in a Dynamic Segment​

The rule checks whether a profile is included in the calculation result of another dynamic segment.

Available operators:

  • Is in segment — the profile is included in the selected dynamic segment.
  • Is not in segment — the profile is not included in the selected dynamic segment.

caution

Try to avoid the Is not in segment operator for large selections, as such a rule consumes significant system resources for comparing data arrays.

note

The dynamic segment for selection must be configured for the same database as the current segment.

Participation in a Static Segment​

The rule checks whether a profile is in a static segment (control group) or has ever been in it.

Available operators:

  • exists — the profile is currently in the static segment.
  • has entered once — the profile has ever been in this segment.
  • has never entered — the profile has never been in this segment.
  • entered once in the past — the profile is currently not in the segment but was in it previously.
  • is not in segment — the profile is currently not included in the segment.
  • entered at least [n] times during [x] days — the profile entered the segment the specified number of times in the last X days.
  • entered at least [n] times during period — the profile entered the segment the specified number of times in the selected period.
  • never entered during [x] days — the profile has not entered the segment in the last X days.
  • never entered during period — the profile has not entered the segment in the selected period.

Popup Behavior​

Segmentation based on user interaction with popups on your website.

Available events for selection:

  • Pop-up opened — the popup was shown to the user.
  • Pop-up filling — the form in the popup was successfully filled and submitted.
  • Pop-up closed — the user closed the popup (click on the "Close" button).
  • Click on pop-up — click on any element of the popup, except the close button.
  • Pop-up target — the conditions for showing the popup were met (even if it wasn't shown due to limits).
  • Click on an element in Pop-up — click on a specific HTML element with a given name attribute.
  • Pop-up custom event — an event configured via JavaScript code.

Available selection conditions:

  • Exists — the event was registered at least once.
  • Does not exist — the event was never registered.
  • At least [n] times in a date range — the event occurred at least N times during the specified period.
  • Not happened in a date range — the event did not occur during the specified period.
  • At least [n] times during [x] days — the event occurred at least N times in the last X days.
  • Not happened during last [x] days — the event did not occur in the last X days.

Loyalty​

Promo code​

Segmentation by participation in loyalty programs using promo codes.

Available operators:

  • Assigned / not assigned — selection of subscribers to whom a promo code was assigned by a loyalty program (manually or automatically).
  • Activated / not activated — selection based on the fact of promo code activation (for example, when making a purchase).

Loyalty Programs​

Profile segmentation can use data based on actions in loyalty programs.

Available selection conditions:

  • Participation in a loyalty program — whether the profile is a participant in the selected loyalty program.
  • Points balance on members' accounts — the number of points in the loyalty program.
  • Points accrued in promotions.
  • Points expiration in promotions.

Available operators:

  • Member / Not a member.
  • Points balance equal / not equal / is within points range.
  • points amount from n to m within a period / points amount from n to m in the next x days.
  • in the next x days / points amount from n to m in the next x days.

To configure these conditions, you may need to select a loyalty program, a promotion, a balance type (active/final), and a point type.

Final and active balance

Accrued points can have an activation time. If it is not specified, the points become active immediately. If an activation time is set, the points cannot be used until that moment. The active balance is the number of points that can be used right now. The final balance is the total points balance, including inactive points.

Relations​

Segmentation by the presence of relations between subscriber profiles.

Available operators:

  • Is / Is not in direct relation — selection of subscribers who have or do not have a direct relation with another profile.
  • Is / Is not in reverse relation — selection of subscribers who have or do not have a reverse relation from another profile.

Forms​

Segmentation based on interaction with forms placed on the website.

Available selection conditions:

  • filled out — the subscriber has ever filled out the specified form.
  • did not fill out — the subscriber has never filled out the specified form.
  • filled out for the selected period — the subscriber filled out the form during the specified dates.
  • did not fill out for the selected period — the subscriber did not fill out the form during the specified dates.
  • filled out in the last [x] days from the current date — dynamic selection for the last X days.

Orders​

Segmentation based on orders registered in the Market module. Allows building selections by quantity, amount, average check, order composition, as well as by geography, sales channels, and statuses.

The following operators are available:

  • N orders that meet all conditions exist — selection of profiles with the specified number of orders that fall under the additional conditions.
  • No N orders that meet all conditions — selection of profiles that do not have the specified number of matching orders.
  • Total cost of orders that meet all conditions is in range/not in range — selection of profiles whose total order amount falls within the specified numeric range
  • Average check for period in range/not in range — the average cost of one order (sum of all orders / number of orders) for the specified period
  • Average check for the last X days in range/not in range — the average cost of one order for the last X days
  • Average purchase amount for products from segment A for period in range/not in range — the average cost of one product item from the specified product segment for the specified period
  • Average purchase amount for products from segment A for the last X days in range/not in range — the average cost of one product item from segment A for the last X days
  • Average check for products from segment A for period in range/not in range — the average cost of an order containing products from the specified product segment (sum of orders containing products from segment A / number of such orders)
  • Average check for products from segment A for the last X days in range/not in range — the average cost of an order with products from segment A for the last X days

Order Filtering Conditions​

In any of the rules described above, you can set additional order filtering conditions to specify which orders to include in the calculation.

Filtering conditions are divided into three groups:

Order-level parameters: sales channel, statuses, regions, dates, order amount, delivery cost, item status and count, goods quantity, products and SKUs.

Order Filtering Conditions

Sales Channel

Selects orders placed in the specified sales channel. Specify the channel and contact points (if empty, any is selected).

For example: "Channel: Internet, contact point: any" results in selecting orders from the internet channel in any contact.

Statuses

Selects orders with the specified statuses. Multiple selection is available: new, delivered, paid, canceled, partial refund, in transit, in process.

For example: "Statuses: Paid, Delivered" results in selecting orders that are already paid and delivered.

Regions

Selects orders placed in specific regions.

For example: "Regions: Moscow, Moscow Region" results in selecting orders placed in Moscow and Moscow Region.

Date creation

Selects orders created within a specified time period. Operators: equals / does not equal / greater than or equal to / less than or equal to / date in range / date relative to current date. You can ignore the year in the date.

For example: "Date creation: falls within the period [-7; 0] days relative to current date" results in selecting orders created within the last 7 days.

Order Update Time

Selects orders modified within a specified time period. Operators — date.

For example: "Order Update Time: falls within the period [-7; 0] days relative to current date" results in selecting orders modified within the last 7 days.

By order amount

Selects orders with a specified cost. You can specify the calculation currency.

For example: "By order amount: from 1000 to 5000, currency: RUB" results in selecting orders worth between 1000 and 5000 rubles.

Delivery Cost

Checks the delivery cost of the order. Specify the operator, amount, and currency. Operators — numeric.

For example: "Delivery Cost: is less than 500, currency: RUB" results in selecting orders with free or cheap delivery.

Item Status

Allows selecting orders by the statuses of their items.

  • Status type — the group the status belongs to: Any, Delivered, Canceled, Refund, In process.
  • Status — six predefined item statuses and custom statuses created manually. Multiple selection. If no status is selected, items with any status of the selected type match.

Operators:

  • at least one item — the order contains an item with the specified status.
  • all items — all order items have the specified status.
  • no items — none of the order items have the specified status.

For example: "Item status: at least one item, status: Delivered" results in selecting orders where at least one item is delivered.

Item Count

Checks how many items in the order are in the specified status. Specify:

  • operator — numeric (equals, greater than, less than, etc.)
  • number — the count of items
  • status — the specific item status
  • type — the status group: Any, Delivered, Canceled, Refund, In process

For example: "Item Count: is equal to 2, status: Delivered, type: Any" results in selecting orders where exactly 2 items are delivered.

Item Percent

Checks what percentage of order items are in the specified status. Specify:

  • operator — numeric (equals, greater than, less than, etc.)
  • percentage — the share of items
  • status — the specific item status
  • type — the status group: Any, Delivered, Canceled, Refund, In process

For example: "Item Percent: is less than or equal to 50, status: Delivered, type: Any" results in selecting orders where no more than half of the items are delivered.

Quantity of Goods

Selects orders with a specified quantity of goods. First choose a product or SKU — the condition checks how many of this specific item are in the order.

Operators: equals / does not equal / greater than / less than / greater than or equal to / less than or equal to (see numeric).

Counting methods:

  • in any item — any order item has the specified quantity of the goods.
  • total across items — all order items combined have the specified quantity of the goods.
  • in each item — each order item has the specified quantity of the goods.
  • different goods in the order — the number of items in the order (1 good = 1 item).

For example: "Quantity of Goods: from 5, by [value], in any position" results in selecting orders where at least 5 units of the goods are in any position.

Products/SKUs by Category

Selects orders containing goods from the specified categories. You can select multiple categories.

Second-level parameters — apply to products and SKUs included in order items.

For example: "Products/SKUs by category: Smartphones" results in selecting orders that contain products from this category.

Products by Name

Selects orders containing specific products — by name or article (SKU).

For example: "Products by name: Наушники TWS Apple AirPods Pro 3 белый 2025" results in selecting orders that contain this product.

Product Segments

Selects orders containing products that belong to the specified product segment. Multiple selection is available.

For example: "Product segments: Fantasy" results in selecting orders that contain products from this segment.

Product Fields

Main product fields: name, identifier, additional identifier, expiry date, warranty, manufacturer.

Product Fields

Product/SKU Name

String field — the product name. Operators — string.

Identifier

Numeric field — the unique product identifier. Operators: equals / does not equal / in list / not in list.

Additional Identifier

String field — the additional identifier (for example, a 1C article or product code). Operators: equals / does not equal / contains / does not contain / starts with / in list / not in list.

Expiration Date

Product expiry date. Operators: exists / does not exist / equals / does not equal / greater than / greater than or equal to / less than / less than or equal to / in range.

Warranty

Boolean field — whether the product has a warranty. Operators — boolean.

Manufacturer

String field — the manufacturer company name. Operators: exists / does not exist / equals / does not equal / contains / does not contain.

SKU Fields

Main SKU fields: name, identifier, additional identifier, expiry date, warranty, manufacturer.

SKU Fields

Product/SKU Name

String field — the product name. Operators — string.

Identifier

Numeric field — the unique product identifier. Operators: equals / does not equal / in list / not in list.

Additional Identifier

String field — the additional identifier (for example, a 1C article or product code). Operators: equals / does not equal / contains / does not contain / starts with / in list / not in list.

Expiration Date

Product expiry date. Operators: exists / does not exist / equals / does not equal / greater than / greater than or equal to / less than / less than or equal to / in range.

Warranty

Boolean field — whether the product has a warranty. Operators — boolean.

Manufacturer

String field — the manufacturer company name. Operators: exists / does not exist / equals / does not equal / contains / does not contain.

Additional Fields

Segmentation is also available for additional fields of orders, SKUs, and products.

Additional Fields

Operators depend on the field data type:

  • integer — equals / does not equal / greater than / greater than or equal to / less than / less than or equal to / in range
  • decimal — equals / does not equal / greater than / greater than or equal to / less than / less than or equal to / in range
  • string — equals / does not equal / contains / does not contain / in list / not in list
  • boolean — True / False
  • list — exists / does not exist / equals / does not equal
  • date — equals / does not equal / greater than or equal to / less than or equal to / date in range / date relative to current date

Additional fields are displayed in the corresponding condition sections. For example:

  • Additional field "Color" for SKU — in the "SKU Fields" section
  • Additional field "Tax duty" for products — in the "Product Fields" section

Goal/Pixel Behavior​

Goal Achieved​

Segmentation based on subscriber actions on external resources (websites, apps) tracked using Altcraft pixels.

Available operators:

  • Exists / Does not exist — checks for the presence or absence of goal achievements.
  • Total goal value — calculates the sum of the cost of achieved goals. Operators: greater than / less than / equal to. Can be specified for all time, for a period, or for the last [x] days.

  • Average goal value — calculates the arithmetic mean of the cost of achieved goals. Operators: greater than / less than / equal to. Can be specified for all time, for a period, or for the last [x] days.

  • At least [n] times / Not happened — selection based on the number and frequency of actions performed. Can specify goal, pixel, or referer (traffic source).

  • Meets / Does not meet complex condition — extended selection based on additional data passed when registering a goal via API.

Rules can be configured for selection by:

  • Goal value (cost)
  • Data from the pixel_data object (string, numeric, date, boolean)
  • Profile device and geo-data (browser, OS, country, city, etc.)
  • Sent messages and promo codes
  • UTM labels
  • URL Referer and Origin
  • Profile order data

Campaigns​

Segmentation by participation in a campaign.

  • currently in campaign — the profile is currently in the campaign.
  • not in campaign — the profile is currently not in the campaign.
  • entered at least once — the profile has ever been in the campaign.
  • never entered — the profile has never been in the campaign.
  • currently not, but entered at least once — the profile is currently not in the campaign but was previously.
  • entered at least [n] times in the last [x] days — the profile entered the campaign the specified number of times in the last X days.
  • entered at least [n] times in period — the profile entered the campaign the specified number of times in the selected period.
  • never entered in the last [x] days — the profile has not entered the campaign in the last X days.
  • never entered in period — the profile has not entered the campaign in the selected period.

Control Group / Test Group​

Segmentation by participation in test or local control groups.

Available operators:

  • is in GCG — the profile is currently in the global control group.
  • is not in GCG — the profile is currently not in the global control group.
  • has entered once — the profile has ever been in the control group.
  • has never entered — the profile has never been in the control group.
  • entered once in the past — the profile is currently not in the control group but was previously.
  • entered at least [n] times during [x] days — the profile entered the control group the specified number of times in the last X days.
  • entered at least [n] times during period — the profile entered the control group the specified number of times in the selected period.
  • never entered during [x] days — the profile has not entered the control group in the last X days.
  • never entered during period — the profile has not entered the control group in the selected period.

Last updated on Sep 28, 2026
Previous
Segmentation by Profile data
Next
Segmentation by Activity of the channel
  • Scenarios
  • Segments
    • Participation in a Dynamic Segment
    • Participation in a Static Segment
  • Popup Behavior
  • Loyalty
    • Promo code
    • Loyalty Programs
  • Relations
  • Forms
  • Orders
    • Order Filtering Conditions
  • Goal/Pixel Behavior
    • Goal Achieved
  • Campaigns
  • Control Group / Test Group
© 2015 - 2026 Altcraft, LLC. All rights reserved.