Segments for messages
Segmenting your message recipients is an important process that allows you to engage with your audience more effectively.
Segmentation helps to:
- personalize communication - send relevant offers only to customers who are interested in them
- increase the effectiveness of campaigns - segmentation helps identify the most interested groups, saving resources and time on less effective mailings.
- improve engagement and deliverability rates - when messages are relevant to recipients' interests and needs, it leads to higher email open rates, click-through rates and overall engagement, which in turn affects domain reputation and chances of reaching the inbox.
You can customize segments in enKod via: Data → Segments → New segment → for messages
Conditions can be given their own calculation rule:
- for all conditions from the group - each condition will be taken into account in the segment, it works via logical “AND”.
- for any condition from the group - contacts that fall under at least one of the conditions will be counted in the segments, it works with a logical OR.
The settings are as flexible as possible: you can even create groups of conditions within the general list of conditions, for each of which a different calculation rule - “all” or “any” - can be configured separately.
By contact information
These subconditions take into account the date of contact's subscription, the contact mailing groups, RFM segments, presence of unsubscribes, tags, data fields with specific conditions.
Field
Material in the process of writing
Mailing group
How operators work for conditions by mailing group:
- equal - contacts that are subscribed to each of the specified mailing groups will be selected (selecting multiple groups works via logical AND).
- not equal - contacts that are not subscribed to any of the specified mailing groups will be selected (selection of several groups works through logical OR).
- one of - contacts that are subscribed to at least one of the specified mailing groups will be selected (multiple group selection works via logical OR).
- none of - contacts that are not subscribed to any of the specified mailing groups will be selected (multiple group selection works via logical AND).
For example, if you need to select contacts who are not subscribed to any mailing group, use the “none of” operator and select all mailing groups in the account.
Subscription date
The segment takes into account all possible ways for a contact to subscribe to a mailing group in enKod.
The conditions depend on the selected channel:
- by email channel
- by SMS channel
- by Web Push channel (subscription means permission to send Web Push notifications in the browser)
- by Mobile Push channel (subscription means permission to send Mobile Push notifications in the application).
For email and SMS you need to select the appropriate mailing group or groups. Operators available:
- to any mailing group - works via logical OR: will find contacts subscribed to at least one of the selected groups
- to each mailing group - works via logical AND: finds contacts who have subscribed to all selected mailing groups.
Note that the fact of subscription is taken into account, not the current state of the contact. That is, if a contact was subscribed, but has already unsubscribed at the moment of segment recalculation - he will still be found by the segment as falling under the conditions.
A mandatory subcondition for any channel is the subscription time subcondition:
- between dates
- exactly
- less than
- more than
Birthday
You choose in which of your pre-created data custom fields you want to store the date of birth. Include this field in the segment and configure the necessary subconditions. Within the birthday subcondition you can use data fields of the following types only:
- date
- date-time
In this case, unlike the basic segmentation by date and date-time, the birthday condition always ignores years, hours, minutes and seconds.
.
This condition can be customized relative to the desired date:
- today - dynamic value that changes daily; years, hours, minutes and seconds are not counted.
- will happen in - dynamic value that changes daily; years, hours, minutes and seconds are not counted.
- N days
- N months - date is day to day, there are variations for months with different number of days. For example, if today is the 31st day, and next month will be 30 days, exactly one month later for today (31) will be the 30th day of the next month.
- happened - a dynamic value that changes daily; calendar month; years, hours, minutes and seconds are not counted. There are variations:
- N days ago
- N months ago - the date is day to day, there are variations for months with different number of days. For example, if it is now 31 and the previous month had 30 days, exactly one month ago for today (31) will be the 30th day of the previous month.
- in month -
- current - a dynamic value that changes monthly; years, hours, minutes, and seconds are not counted
- one of - you can set any combination of months; static value; multiple choice works via OR
- in days of the month - you can specify the desired period (from Y on such and such a date and to X on such and such a date) of days - static value; range of days of the month; works inclusively.
Unsubscribed
The segmentation takes into account all possible unsubscribe methods handled by enKod.
How the group selection operators work:
- from all mailing groups - via AND (from all groups of the selected channel)
- from any mailing group - via OR (at least from one of the selected ones)
- from each mailing group - through AND (from all of the selected groups)
When calculating the segment, it is the fact of unsubscribing that is taken into account, not the current state of the contact. That is, even if a contact is currently subscribed to a mailing group, but has unsubscribed from it once before, it will be counted in the “unsubscribed from” segment. If you need to find unsubscribers who are currently still subscribed to certain groups, you can combine the unsubscribe condition with the mailing group condition.
By clicking on “+” you can customize the “by unsubscribe reason” sub-condition. The available reasons depend on the selected channel:
- for Email only -
- from the email - select contacts who unsubscribed by clicking the unsubscribe button in the message:
- {{{link_unsubscribe}}
- {{{link_unsubscribe_manager}} - if the unsubscribe was confirmed by the contact
- {{{Unsubscribe('groupname', 'groupname2')}}
- {{{UnsubscribeRedirect('link', 'groupName', 'groupName2')}}.
- three soft bounces in a row - if a contact was automatically unsubscribed due to 3 of any soft errors in a row
- getting into the global black list - for any reason of adding a contact to the global blacklist (hard bounces, complaints, etc.)
- for Email and for SMS -
- an action in the contact card - when a mailing group is manually unblocked in the corresponding section of the contact card
- an action in the segment - via “Unsubscribe from mailing groups” action in the segment editor
- through import - at the stage of configuring contact imports when selecting “Replace” for contacts already existing in enKod (the contact unsubscribes from mailing groups not transferred during import and subscribes to new mailing groups).
- by API:
- POST /v1/unsubscribe/
- GET /v1/unsubscribe/
- POST /v1/unsubscribe/persons/
- methods on add/update if they use one of the addAndReplace or ignoreAndReplace methods:
- POST /v1/person/
- GET /v1/person/
- POST /v1/persons/
- POST /v2/persons/
- finish scenario block - if the contact has gone through the “Finish” block where the action “Resubscribe to mailing groups → Unsubscribe from a mailing group” was selected
- removing a contact - since only existing contacts are involved in the recalculation, the segment will find only those already restored after deletion by any means:
- deletion by API via DELETE /v1/persons/
- deleting a contact via import, for example, in Data → Contacts → Actions → Remove contacts
- when deleting a contact via contact card
- deletion via segment: Data → Segments → Create/Editing a segment for messages → Actions - Delete contacts
- deletion via a “Finish” scenario block: in the “Finish” block the action “Remove contacts” was selected
Unsubscribe reason segmentation:
- an action in the contact card
- an action in the segment
- removing a contact
recalculates only those contacts that were removed after 11/21/2024
Tag
You can segment by contact tags using conditions:
- tag is equal to the selected tag
- tag is not equal to the selected one
- tag is one of selected
- tag is none of selected
How the operators for tag conditions work:
- equal - contacts that have each of the specified tags will be selected (selecting multiple tags via logical AND)
- not equal - contacts that do not have any of the specified tags will be selected (selection of several tags via logical OR)
- one of - contacts that have at least one of the specified tags will be selected (multiple tag selection via logical OR)
- none of - contacts that have none of the specified tags will be selected (selecting multiple tags works via logical AND)
For example, if you need to select contacts that have no tags, use the “none of” operator and select all tags in the account.
RFM-segments
Segmentation works by RFM tags (segments) of contacts assigned to them during RFM analysis. If you manually changed the names of RFM segments, you will see the ones you set yourself in the condition.
There are a total of two types of conditions available:
- current RFM-segment is equal or not equal to the specified one
- previous RFM-segment is equal or not equal to the specified one.
With these conditions you can select contacts:
- of a specific RFM segment
- that have changed the selected RFM segment to another one
- not belonging to the selected RFM-segment
By messages
With this condition, you can segment contacts by the fact of doing (and not doing) various actions on messages:
- by sending them to the contact - via Email, Web Push, SMS, WhatsApp channels
- by delivery bounces from the messages to the contact - sent via Email, SMS, WhatsApp channels
- opening of messages - sent via Email, Web Push channels
- reading - WhatsApp only
- clicking in message - sent via Email, Web Push, SMS channels
Sent
Any messages activated in the enKod interface are considered as “Sent” in the segment:
- Email
- Web Push
- Mobile Push
- SMS
- WhatsApp
Not every sent message can be delivered. In some cases (e.g. for Email and WhatsApp channels), external factors and message content affect deliverability. Read more in the articles:
- about warmup for Email messages;
.
Contacts who have received sent messages can be segmented by:
- any message from one of the available channels
- specific message from one of the available channels
All (any/any channel specific) sent messages can be segmented by sub-conditions:
- by sending time - more details on the principle of operation are given in “General logic of subconditions by time” -
- between dates
- exactly
- less than
- more than
- by sending count *
- exactly
- minimum - non-strict inequality is used for counting
- maximum - non-strict inequality is used for counting.
Additional sub-conditions are also available for any messages:
- for Email, Web Push, Mobile Push, SMS, WhatsApp channels -.
- with tag - all selected tags will be counted according to logical OR
- for Email channel -
- by sending type -
- instant
- scheduled
- regular
- by API
- by event
- DOI
- for Web Push channel -
- by sending type -
- instant
- scheduled
- regular
- for Mobile Push channel -
- by sending type -
- instant
- for SMS channel -
- sending type
- instant
- scheduled
- regular
- by API
The “Not Sent” condition works similarly with identical sub-conditions.
Opened
Opening means:
- for Email - downloading a tracking pixel (1×1 pixel picture) from the server, located at the end of the email.
This usually happens when a contact opens the email in any email client, but in rare cases fake opens can be counted due to preloading of the pixel by email clients such as:
Note: If an email message weighs more than 102 KB, Gmail will hide some of the content under the “Show full version” button. If the email was opened in Gmail, but the recipient did not click this button - the opening will not be counted.
.
- For Web Push - show notification in browser
Contacts can be segmented by:
- any opened messages - channel needs to be specified here:
- Email, for which subconditions are available:
- by opening time - more details about the principle of operation are written in “General logic of subconditions by time” -
- between dates
- exactly
- less than
- more than
- by opening count
- exactly
- minimum - non-strict inequality is used for counting.
- maximum - non-strict inequality is used for counting.
- by sending type
- instant
- scheduled
- regular
- by API
- by event
- DOI
- with tag - all selected tags will be counted according to logical OR
- unique messages only - only opens made in different messages will be recalculated in the segment.
- Web Push for which sub-conditions are available:
- by opening time - see "General logic of subconditions by time" for more details on how this works
- between dates
- exactly
- less than
- more than
- by opening count -
- exatcly
- minimum - a non-strict inequality is used to calculate
- maximum - a non-strict inequality is used to calculate
- by sending type -
- instant
- scheduled
- regular
- with tag - all selected tags will be counted according to logical OR
- specific opened messages, where you can select any message (regular/scripted) of Email or Web Push channel. Regardless of the channel, sub-conditions will be available for customization:
- by opening time - more details about the principle of operation are given in “General logic of subconditions by time” -
- between dates
- exactly
- less than
- more than
- by opening count
- exactly
- minimum - non-strict inequality is used for counting.
- maximum - non-strict inequality is used for counting.
The “Not opened” condition works similarly with identical subconditions.
Clicked
Clicked means:
- for Email, SMS channels - recipient's clicking on the hyperlink in the text/button/image of the message
- for Web Push, Mobile Push channel - recipient's click in any area of Web or Mobile Push.
The condition counts for any and/or specific channel messages:
- Email
- SMS
- Web Push
- Mobile Push
Contacts clicked in any/specific messages of Email, SMS, Web Push, Mobile Push channels can be segmented by sub-conditions:
- by click time - see "General logic of subconditions by time" for details
- between dates
- exactly
- less than
- more than
- by click count -
- exactly
- minimum - a non-strict inequality is used to calculate
- maximum - a non-strict inequality is used to calculate
Additional sub-conditions are also available for any messages:
- with tag - all selected tags will be taken into account according to logical OR
- for the Email channel -
- by sending type -
- instant
- scheduled
- regular
- by API
- by event
- DOI
- for Web Push channel -
- by sending type -
- instant
- scheduled
- regular
- for Mobile Push channel -
- by sending type -
- instant
- for SMS channel -
- by sending type
- instant
- scheduled
- regular
- by API
Only for specific email channel messages is an additional segmentation sub-condition available - clicking on a specific link.
The “by link” subcondition:
- available only when specific Email channel message of any sending method (including scenario) is selected in all statuses except “Draft”
- not available for split test messages
You can specify the link you want in 3 ways:
- select from a list of links
- select from the link map
- manually enter
Segmentation works differently for different ways of specifying a link:
- if a link is selected in a link map or list, the segment will only find contacts who clicked on it, even if the exact same URL is found elsewhere in the email;
- if the link is manually entered, segmentation will find all contacts who clicked on the link with such URL (even if there are several such links in the email)
The list and link map display links only for the most recent version of the email.
Manual link entry can be used to segment contacts who clicked on links in an older version of the email, even if those links no longer exist in the email.
Example: You use the same link in different parts of a particular email: header, body, and footer -
link.com
link.com
link.com
Each of the three links was clicked on by 3 different contacts (a total of 3 people clicked on the email).
- If you manually enter the value
link.com
in the link field, all three contacts will be found - When you select
link.com
on a map or list, the segment will find 1 contact who clicked on that particular link at that particular location.
Select Link → Link Map
You will see the layout of the selected message with highlighted clickable elements (links). Select the link you need by clicking on the corresponding highlighted block.
Select link → List
The links in the list are displayed in the order in which they are specified in the email layout. This is done to make it easier to find the necessary link in case the same link is used in different places in the email.
In the search bar you can enter the link you need or a part of it - the search works by incomplete matching and will find all matching results.
In order to select the link you need for segmentation, click on it.
Display and recalculation of references in a segment
- Links with UTM and URL parameters
In the list, such links are specified with all the final set of UTM and URL-parameters that were set when sending the message, regardless of the way these tags were set (specified in the layout or set in the sending settings of the Message Wizard). In case tags are specified both in the settings and in the layout, the links with the layout tags will be displayed, since they will be prioritized over the tags from the settings (and they will be substituted).
If a message that has never been sent before is selected on the link map or in the list of links, the links with tags will still be displayed for it.
Even if you mix up the labels when manually filling in the link, this will not affect the result of the recalculation (all clicked contacts will be found).
For example, when segmenting by https://www.shop.ru/katalog/?utm_source=google&utm_content=email
will also take into account references of the form https://www.shop.ru/katalog/?utm_content=email&utm_source=google
(tags in a different order).
- Links containing dynamic content
In the list of links, dynamic content is displayed in the form in which it was specified in the layout, i.e. before the generation of this dynamic content.
For example: a link is specified in the layout -
https://www.shop.ru/{{extraField.Name}}/
In the list of links and once selected, the link is displayed as:
https://www.shop.ru/{{extraField.Name}}/
(not as: https://www.shop.ru/ivan/
)
- System links
Segmentation is available for all system links (e.g. web version link), except unsubscribe and unsubscribe manager links. To find all clicked links to the web version, type {{link_view_in_browser}} in the input field or select a link on the map or in the list.
- Links that are displayed in the email only after generating dynamic content for the contact
Links obtained when generating dynamic content (for example, outputting a product link from a product feed via the GetCart method) will be displayed on the link map and in the list of links. When you select them, the segment will find all contacts who clicked on each of them, regardless of what was generated for a particular recipient.
For example, you output three links to three different products in an email, using the {{url}} variable three times. Once generated, each of the links will take on a unique value (since the links are for different products). You can use the segment to find contacts that:
- clicked on one particular of the three links (by selecting this link on the map or from the list)
- clicked on any of the three product links (by manually typing {{url}} into the link field).
- Links containing snippets
In the list or link map, links of the form <a href=“{{Snippet(‘snippetName’)}}”>
are displayed in the form in which they were specified in the layout: ({{Snippet('snippetName')}}). When manually entering a snippet link in the link address field, use the same logic - enter {{Snippet('snippetName')}}.
Freestanding snippets without the <a href>
HTML tag will not appear on the map or list, and will not be counted in segmentation.
Features of segment setup by click
Let's look at the different situations in detail.
You sent an e-mail
- To find contacts who clicked on a specific URL at a specific place in the email - select the link you want in the list or on the link map
- To find all contacts who clicked on a specific URL anywhere in the email (one link is listed multiple times in the layout) - enter the URL you want manually. Notice:
- If your link contains UTM tags or URL parameters, the order in which you enter them will not matter.
- if your link contains snippets, dynamic content of any kind - the link must be entered in the form in which it is specified in the layout (i.e. before the generation of dynamic content; it is not allowed to copy and paste the link from the received email)
After sending the email, you edited the links in the email via Message Details → Edit Links
Only new, edited links will be displayed in the list and map of links. However, if you select such a link, the segmentation will include contacts who clicked on the old link that was previously in the same place.
- To find contacts who clicked on a link from the old version (that link no longer exists), use the link box and type in the old link manually
- To find contacts who have clicked on both the old and new links - select the new link from the list or on the link map. In addition, if you enter the old link manually into the link input field, all contacts who clicked on both the old and the new link, which is now in its place, will also be found.
After activating the email, you edited the layout
The list and link map will display the data of the new version of the email and when selecting a link from the map or from the list, contacts who clicked only in the new version will be counted.
- To find contacts who clicked on a link from an older version of the email, use the field to enter the link and type it in manually
- To find contacts who clicked on a specific link only in the new version of the email, use the field to enter the link and manually type in the new link
- To find contacts who clicked on a specific link in a specific place in the new version of the email, use a list or map of links
You want to find contacts who clicked on any link in an email from any of the versions
Use the “clicked in email” condition with no additional conditions.
The “Not clicked” condition works similarly with identical sub-conditions.
Delivery bounces
Delivery bounce is the reason why the recipient did not receive the message sent to him.
The segment works for channels:
- Email
- SMS
- WhatsApp
You can segment by:
- any messages
- specific messages
For all (any/specific messages) listed channels a sub-condition is available:
- by sending time - more details about the principle of operation are written in “General logic of subconditions by time” -
- between dates
- exactly
- less than
- more than
For all any messages a subcondition is additionally available:
- with tag - all selected tags will be taken into account according to logical OR
For any SMS channel messages, an additional sub-condition is available:
- by sending type -
- instant
- scheduled
- regular
- by API
Subconditions are additionally available for the Email channel:
- for any messages -
- by sending type:
- instant
- scheduled
- regular
- by API
- by event
- DOI
- for any/specific messages -
- due to delivery bounce:
- locked mailbox
- soft bounce
- hard bounce
- another bounce
enKod groups bounces' causes by keywords in the text of the bounce itself, since the error code is not always true.
The condition “Not returned delivery bounces” works the same way with identical subconditions.
Read
The condition is available only for WhatsApp channel.
A message is considered read if the customer has opened the incoming message in WhatsApp.
The segment can be configured for any or specific message. In both cases, a sub-condition is available:
- by reading time - more details about the principle of operation are written in “General logic of subconditions by time” -
- between dates
- exactly
- less than
- more than
For any messages a subcondition is additionally available:
- with tag - all selected tags will be taken into account according to logical OR
The “Not read” condition works in the same way with identical subconditions.
By data tables
SQL templates are used for segmentation by data tables.
SQL template
SQL template is a pre-prepared fragment of SQL code that can be used repeatedly to perform certain tasks when working with data tables. Templates allow you to standardize and automate the execution of repetitive queries, in the case of working in enKod - selection from tables of contacts according to certain parameters for further communication with them.
After creating a SQL template for segments, it can be used in conditions of the form “Matches/Not matches SQL template”, where:
- Matches SQL-template - all contacts that match the criteria specified in the template will be selected
- Not matches the SQL-template - all contacts that do NOT match the criteria specified in the template will be selected.
If you have previously created a template with variables (the template in this case will be universal, and the parameter can be customized for each individual segment and task), fill the value of the variable to what you need directly from the segment editor (the template itself will remain universal).
By behavior on the website
With these conditions, you will be able to segment contacts based on their actions on your site (the site must have tracking enKod enabled for this).
Viewed products
The product view event can be passed to enKod using API method or script method 'productOpen'. Transmission of these events is available when the “Tracking” module is activated.
When transmitting events of product views, you can use them to recalculate contects, fulfilling the following conditions:
- product quantity specification:
- in total - any views will be counted, i.e. if a contact viewed N times the same product - the segment will count this as viewing a product N times.
- more than - according to the principle of strict inequality, the number of non-unique views is counted.
- exactly
- less than - according to the principle of strict inequality, the number of non-unique views is counted.
- with ID - the segment will find contacts who have viewed the product only with a specific, chosen ID.
- at least one - the segment will find contacts who have viewed one or more products
- by product viewing time:
- for the last session - only products viewed in the last session for the contact will be counted.
- in all the time - products viewed by the contact from the moment of their appearance in the enKod database will be counted
- exactly - all variants of subconditions by time are described here
- less than - all variants of subconditions by time are described here
- more than - all variants of subconditions by time are described here
The “Not viewed products” condition works similarly with identical sub-conditions.
Looked at the categories
The category view event can be passed to enKod using the API method or script method 'categoryOpen'. Transmission of these events is available when the “Tracking” module is activated.
When passing events, category views can be used for contact segmentation under the following conditions:
- specifying the number of categories:
- with ID - the segment will only find contacts that have viewed categories with a specific ID. The segment only considers IDs of categories explicitly passed in the methods, so if you specify the ID of the parent (for the passed) category, the contact will not be found by such a condition.
- at least one - the segment will find contacts who have viewed one or more categories on the site
- by the time of viewing categories:
- between dates - all variants of subconditions by time are described here
- in all the time - the categories viewed by the contact from the moment it appears in the enKod database will be counted
- equals - minimum value is 1; all variants of subconditions by time are described here
- less than - minimum value is 1; all variants of subconditions by time are described here
- more than - the minimum value is 1; all variants of subconditions by time are described here
The “Didn't look at the categories “ condition works similarly with identical sub-conditions.
Added products to cart
The adding products to cart event can be passed to enKod using API-method or script method 'productAdd'. The transmission of these events is available when the module ”Tracking” is activated.
The “Added products to cart” condition finds contacts who have ever performed the action of adding a product to the cart on the website with tarcking activated. That is, contacts that have had time to remove a product from the cart and/or currently have an empty cart are also counted.
You can segment contacts by added products to cart events using conditions:
- specifying the number of items added to the cart:
- in total - any additions to the cart will be counted, i.e. if a contact added the same product to the cart N times - the segment will count it as adding N pieces of the product.
- more than - according to the principle of strict inequality, the number of non-unique additions is counted.
- exactly
- less than - according to the principle of strict inequality, the number of non-unique additions is counted.
- with ID - the segment will find contacts who have added to the cart the goods with a specific, chosen ID only.
- at least one - the segment will find contacts who have added one or more products to the cart.
- by the time of adding a product to the cart:
- in the last session - the goods added to the cart only within the last session for the contact will be taken into account
- in all the time - the goods added to the cart by the contact from the moment of its appearance in the enKod database will be taken into account.
- exactly - all variants of subconditions by time are described here
- less than - all variants of subconditions by time are described here
- more than - all variants of subconditions by time are described here
The “Not added products to cart” condition works similarly with identical sub-conditions.
Placed an order
The placed an order event can be passed to enKod using API-method or script method 'productBuy'. Transmission of these events is available when the “Tracking” module is connected.
The 'placed an order' condition finds contacts that have ever performed the action of placing an order. That is, contacts that have placed an order return at the time of segment recalculation are also counted.
Based on the transmitted checkout events, you can segment contacts using the following conditions:
- specifying the quantity of orders:
- in total - the number of orders placed by the contact (including those for which a return has been issued) will be taken into account
- more than - according to the principle of strict inequality
- exactly
- less than - according to the principle of strict inequality
- with the amount - standard operators (more than, less than, exactly, see above) and integers are used for specification (the order amount is transferred from the site, without currency sign),
- of the average check - the arithmetic mean value is considered
- total - the sum of all orders for the selected period of time is considered
- maximum - non-strict inequality is used
- minimum - non-strict inequality is used
- with product ID - the segment will find the contacts who have placed an order with the product of a specific, chosen identifier
- with product from category with ID - the segment will find the contacts who placed an order with the product from the chosen category. The logic of work of this subcondition:
- under category ID all possible categories are considered: both top-level and bottom-level. For example, the product “blue pants” will be in the category “Outerwear” and “Pants” (subcategory). You will be able to find this product in any of them
- the segment works only when goods feed uploaded to the account
- at least one - the segment will find contacts who have placed at least one order
- by checkout time:
- in all the time - orders placed by the contact from the moment they appear in the enKod database will be counted.
- between dates - all variants of subconditions by time are described here
- exactly - all variants of subconditions by time are described here
- less than - all variants of subconditions by time are described here
- more than - all variants of subconditions by time are described here
The “Not placed an order” condition works similarly with identical sub-conditions.
Added products to favorites
The added products to favorites event can be passed to enKod using API-method or script method 'productLike'. The transmission of these events is available when the “Tracking” module is activated.
The “Added products to favorites” condition finds contacts that have ever performed the action of adding an item to favorites on the website. That is, contacts that have had time to remove an item from their favorites and/or currently do not have any favorites are also counted.
Based on the change of favorites events, you can segment contacts using the following conditions:
- specifying the number of products added to favorites:
- in total - any additions to favorites will be taken into account, i.e. if a contact has added the same product to favorites N times - the segment will consider this as adding N pieces of the product.
- more than - according to the principle of strict inequality, the number of non-unique additions is counted.
- exactly
- less than - according to the principle of strict inequality, the number of non-unique additions is counted.
- at least one - the segment will find contacts who have added one or more products to their favorites.
- by the time of adding a product to favorites:
- in all the time - the goods added to favorites by a contact from the moment of its appearance in the enKod database will be taken into account
- exactly - all variants of subconditions by time are described here
- less than - all variants of subconditions by time are described here
- more than- all variants of subconditions by time are described here
The “Not added products to favorites” condition works similarly with identical sub-conditions.
Added products to comparison
The event of adding to product comparison can be passed to enKod using the API method or script method 'productComparison'. The transmission of these events is available when the “Tracking” module is activated.
When passing these events to enKod, contacts can be segmented by conditions:
- specifying the number of products:
- in total - any (including non-unique) additions to comparison of goods will be taken into account
- more than - according to the principle of strict inequality, the number of non-unique pairs of comparisons is counted
- exactly
- less than - according to the principle of strict inequality, the number of non-unique pairs of comparisons is counted
- with ID - the segment will find contacts that have added to the comparison only the product with a specific, chosen identifier.
- at least once - the segment will find contacts that have added the product to the comparison one or more times.
- by time of adding the product to the comparison:
- in all the time - will be counted all additions to the contact comparison since its appearance in the enKod database
- exactly - all variants of subconditions by time are described here
- less than - all variants of subconditions by time are described here
- more than - all variants of subconditions by time are described here
The condition “Not added products to comparison” works similarly with identical sub-conditions.
Visited pages
The visited pages event can be passed to enKod using API-method or script method 'pageOpen'. Transmission of such events is available when the “Tracking” module is activated.
When passing page visit events, contacts can be segmented according to them using conditions:
- by URL -
- with any URL
- with a specific URL - involves filling in additional subconditions
- equal - the whole address must be entered, including https, http, www
- starts with - you should enter starting with https, http, www
- contains - will search for pages containing the entered characters
- by mask - you can use special characters, for example:
- underscores _ to match any single character in the page address. For example, the condition “https://mysite.com/page_/” will find all pages starting with https://mysite.com/page but after the /page part, having only one any character, and ending with / (https://mysite.com/page1/, https://mysite.com/page2/, etc.)
- asterisks * to match an unspecified number of characters in the link. For example, *mysite.com - will find all pages starting with any number of characters but ending in mysite.com (https://me.mysite.com, https://mysite.com, etc.)
- for example, the condition “*mysite.com/page_/” will find all contacts whose current page starts with any number of characters, contains the “mysite.com/page_/” part, but has only one any character after the /page part (https://me.mysite.com/page5/, etc.).
- by number of visits -
- exactly
- minimum - a non-strict inequality is used for the calculation
- maximum - a non-strict inequality is used for the calculation
- by page visit time:
- between dates - all variants of subconditions by time are described here
- exactly - all variants of subconditions by time are described here
- less than - all variants of subconditions by time are described here
- more than - all variants of subconditions by time are described here
The “Not visited pages” condition works similarly with identical subconditions.
By custom events
If you have created in enKod and installed user events on your site, you can use this condition to track contacts for which:
- the custom event occurred
- the custom event did not occur
After selecting a custom event from the list of created events in enKod, you can configure the following sub-conditions:
- by time conditions - all variants of subconditions by time are described here:
- between dates
- exactly
- less than
- more than
- by number of events - available options:
- exactly
- less than - strict inequality is used for counting
- more than - strict inequality is used for counting.
- with parameter - available options depend on the parameter data type, works similarly to data fields.
Use the segment
You can use the conditions of another segment (separately and in view of a group of conditions) in segments via this condition.
You can save a segment template and reuse it in this way. To do this, just select the desired segment in the modal window and all its internal logic and conditions will be displayed in the preview. You can't change the conditions through the preview - you need to change them either in the original segment or inside the new segment.
Important:
- limits of added segments are not copied;
- if there were deleted mailing groups, data fields, etc. in the added segment - they will be replaced by a void, which you will have to fill in manually
.
The logic of adding a segment repeats the logic of copying a segment.
General logic of subconditions by time
For some conditions of groups by messages (sends, opens, clicks, bounces), by subscription date, by page visits, enKod provides subconditions by event time. Below is a detailed description of exact time indicators taken into account in these subconditions and how they are counted.
Exactly n seconds ago - a one-second interval is considered
If it is 12:40:10 and the condition is “exactly 5 seconds ago”, then contacts with an event time of 12:40:05 are eligible.
More than n seconds ago - a strict inequality is used to calculate the interval
if it is 12:40:10 and the condition is “less than 5 seconds ago”, then contacts with the event time from 12:40:06 to 12:40:10 (when the segment was recalculated) are eligible.
Exactly n minutes ago - only minutes are counted
If it is 12:40:10 and the condition is “exactly 5 minutes ago”, then contacts with event time from 12:35:00 to 12:35:59 are eligible.
More than n minutes ago - a strict inequality is used to calculate the gap
If it is 12:40:10 and the condition is “more than 5 minutes ago”, then contacts with event time from 12:34:59 and earlier are eligible.
Less than n minutes ago - a strict inequality is used to calculate the gap.
if it is 12:40:10 and the condition is “less than 5 minutes ago”, then contacts with the event time from 12:36:00 to 12:40:10 (when the segment was recalculated) are eligible.
Exactly n hours ago - only hours and minutes are counted
if it is 12:40:10 and the condition is “exactly 1 hour ago”, then contacts with the event time from 11:40:00 to 11:40:59 are eligible.
if it is 12:40:10 and the condition is “more than 5 seconds ago”, then contacts with the event time 12:40:04, 12:40:03, etc. are eligible.
Less than n seconds ago - a strict inequality is used to calculate the gap
More than n hours ago - a strict inequality is used to calculate the gap
if it is 12:40:10 and the condition is “more than 1 hour ago”, then contacts with event time from 11:39:59 and earlier are eligible.
Less than n hours ago - a strict inequality is used to calculate the gap.
if it is 12:40:10 and the condition is “less than 1 hour ago”, then contacts with the event time from 11:41:00 to 12:40:10 (when the segment was recalculated) are eligible.
Exactly n days ago - only days are counted
If it is any time 22.02 and the condition is “exactly 2 days ago”, then contacts with event date from 20.02 00:00:00:00 to 20.02 23:59:59 are eligible.
More than n days ago - a strict inequality is used to calculate the gap
If it is any time 22.02 and the condition is “more than 2 days ago”, then contacts with event date from 19.02 23:59:59 and earlier are eligible.
Less than n days ago - a strict inequality is used to calculate the gap
if it is any time 22.02 and the condition is “less than 2 days ago”, then contacts with the event date from 21.02 00:00:00 to 22.02 any time (at the moment of segment recalculation) are eligible.
Exactly n months ago - only the date and month are counted
if it is 22.02 and the condition is “exactly 1 month ago”, then contacts with the date of the event from 22.01 00:00:00 to 22.01 23:59:59 are eligible.
More than n months ago - a strict inequality is used to calculate the interval
If it is 22.02 and the condition is “more than 1 month ago”, then contacts with event date from 21.01 23:59:59 and earlier are eligible.
Less than n months ago - a strict inequality is used to calculate the gap
if it is 22.02 and the condition is “less than 1 month ago”, then contacts with the event date from 23.01 00:00:00 to 22.02 (hours, minutes, seconds at the moment of segment recalculation) are eligible.
Exactly n years ago - only the year, month and date are counted
if it is 22.02.2023 and the condition is “exactly 1 year ago”, then contacts with the event date from 22.02.2022 00:00:00 to 22.02.2022 23:59:59 are eligible.
More than n years ago - a strict inequality is used to calculate the interval
if it is 22.02.2023 and the condition is “more than 1 year ago”, then contacts with the date of the event from 21.02.2022 23:59:59 and earlier are eligible.
Less than n years ago - a strict inequality is used to calculate the interval.
If it is 22.02.2023 and the condition is “less than 1 year ago”, then contacts with the event date from 23.02.2022 to 22.02.2023 (hours, minutes, seconds at the moment of segment recalculation) are eligible.
Between dates - only the date, month and year are considered
if it is 12.09.2024 13:52:47 and the subcondition between dates from 1.08.2024 to 12.09.2024 was set up, then all actions performed between 01.08.2024, 00:00 - 12.09.2024, 23:59 (at the time of segment recalculation) will be taken into account.
So the logic is as follows:
- for seconds - seconds per second
- for minutes and hours - time within a minute
- for days, months and years - time within a day