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
  • Profiles and databases
  • Profile relations

Profile relations

tip

To attach, detach, edit or modify relations automatically you would need API integration. Check this Section of API documentation.

The relations between profiles allow you to implement customer interaction strategies on the platform. You can relation profiles within the same database or relation profiles from different databases. There are two types of communication:

Direct — outgoing. Shows the relationship of the profile to other profiles. For example, the relationship of a referral client with his clients. Feedback is incoming. Shows how other profiles relate to the selected profile. For example, clients of one agent or manager of a company evaluate the quality of his work. Each relationship has properties - relationships between clients. Properties can be in the form of numeric or Boolean (false - true) values.

Relation objects are created in the user interface. You can add, remove, strengthen, or change a relation either manually or using special API requests described in this section of the documentation.

Managing relations​

In the main menu search for Relations in the Data section. Here all your existing relations are enlisted, accompanied by created-updated summary and databases involved. Using actions menu on the right side you can quickly clone or delete a relation. To edit an existing relation, click on its name. To add a new record, click + Create at the top of the page:

General settings​

In General settings enter the new relation's name and short name as well. Short name will be used in message template editor and relations API requests.

Below select Databases containing profiles you are going to relate:

  • Database A — contains profiles that are collecting relations. These can be your products, managers, agents — or partners. We can call them objects.
  • Database B — contains profiles that initiate relations — your or your partners' customers, reviewers or subjects we can call them.
tip

If you are using one database relations, select it in both drop-downs!

Relation properties​

One relation can contain up to 11 properties, describing the value or weight of interaction between profiles. For each new property enter a name and a short name for templates and API.

Property type sets which data will be used to measure relation impact:

  • Integer — any integer number. Fits well for quality assessment, numbers of purchases, social network profile views and post likes.
  • Float number — a floating-point number. Monetary values and other more complex numbers can be recorded in this property.
  • Boolean — a boolean true-false value. Can be used for one-time or on-off actions: subscriptions, recommendations, or availibility.

For numeric properties you can store statistics: save amount and save top. The sorting direction determines whether to store the highest or lowest values in the top, and the limit (from 1 to 20) sets the number of relations for statistics:

Relating profiles manually​

Open the subscriber profile in Database A. On the Data tab, go to the Relation section. The available relations for the profile of the current database are displayed here.

In the window that opens, specify the rule for selecting a profile from the Database B. Standard rules are used, as in the search or segmentation of profiles.

Click "Apply " and "Select":

Then enter relation's property weight:

After adding a relation, a brief summary and a top on the properties of the relation will be available in the profile, as well as a list of related profiles from the Database B. You can change the weight of the relation or delete it using the drop-down menu on the right side of the entry:

What are relations and relation values used on the platform for?​

1. Segmentation​

They can be used to create a static or dynamic segment. Due to this, the target audience is "separated" from all the clients of one database based on the attitude of its participants to each other.

Additionally, you can add checks for certain communication properties:

  • false or true — for Boolean properties
  • more/less, more/less or equal, equal/not equal — for numeric properties

In the segmentation rule, select the presence or absence of direct or reverse, and add the necessary parameters.

tip

For example, you can use the rule below to find customers who approve of your projects and even donate more than 200 currency pieces.

2. Dynamic content in templates​

Relation values can be added to message template using special variables.

In the variables menu, select direct or feedback and the desired value for substitution.

tip

For example, for an online training center, you can notify methodologists about how many hours students spent studying with certain instructors, and for clients - provide an up—to-date schedule of the instructors they prefer.

Relation variables can also be inserted manually using the following editor script:

{relation.[short_connection_name].[direct for direct or reverse for reverse].[property name].[count — quantity, total — sum, top — top relations]}

The number of direct relations to the profit property:

{relation.managers_loyal.direct.profit.count}

Top feedbacks with the profit property. A loop is used to output list of values.

tip

The loop substitutes the data of those profiles that are specified in the relation, and not from the database through which the mailing is sent. Thus, if you send an email to your agent, it may use personal customer data stored in a separate database.

{for $index $item = relation.managers_loyal.reverse.profit.top}
{$item.lead._fname} {$item.lead._lname} ({$item.value} profit)
{else} There is no ‘profit’ for you :(
{end}

The sum of the value of the profit property for direct relation:

{relation.managers_loyal.direct.profit.total}

3. Trigger mailing or automation scenario​

A trigger mailing can be configured to create or delete a relation:

The trigger can be triggered when both the direct and reverse relation between profiles changes. This may take into account the appearance, change or deletion of the relation, as well as the achievement of the relation property set in the trigger value.

Or connections can be implemented in automation scenario:

tip

For example, if you have a referral program, set up 2 different automated workflows for both referral and for customers engaged by the referral:

for the referral — a trigger "When a direct relation is attached". It will launch when a referral engages a new customer for you. Use this scenario or trigger to further motivate your referral. You can additionally specify values, like profit of the initial transaction.

for the engaged customers — a trigger for reverse relation. Use it to promote your products and motivate customers to become new referrals.

Last updated on Dec 26, 2024
Previous
Suppression lists
Next
Profile history export
  • Managing relations
    • General settings
    • Relation properties
  • Relating profiles manually
  • What are relations and relation values used on the platform for?
    • 1. Segmentation
    • 2. Dynamic content in templates
    • 3. Trigger mailing or automation scenario
© 2015 - 2026 Altcraft, LLC. All rights reserved.