User markers (tags)

This document provides an overview of the three distinct types of tags — Core: user markers (core_tags), Core: external markers (core_external_markers), and Core: JS markers (core_public_tags) — used within our CRM automation software.

These tags are pivotal in segmenting users and tailoring campaigns, automation rules, and gamification entities.

Core: user markers

These markers are internally managed within the Smartico system. They should be updated only using Smartico internal mechanics like Campaign and Automation rules on direction from the user profile in CRM tab.

Core: external markers

External Markers are sourced externally via APIs ( or possibly through the DB Replica of Kafka/RabbitMQ). They are never updated with Smartico mechanics, which means that the only source of truth is the integrated platform.

In case you want to update external markers from the API, you can use this type of payload when calling Smartico REST API (you can find full documentation of API and security keys in the Tools \ REST API in the Smartico Back Office)

[
    {
        "eid": "99dcc07c-17f6-418e-b574-c91ffe77d18e",
        "event_date": 1717508861954,
        "ext_brand_id": "spacex",
        "user_ext_id": "test61323352",
        "event_type": "update_profile",
        "payload": {
            "core_external_markers": [
                "Test with API",
                "Marker X"
            ]
        }
    }
]

Core: JS markers

JS Markers can be manipulated from the front-end using JavaScript and within the Smartico system through campaigns or automation rules.

It is important that these tags are exposed to the front-end, so they can be used to make changes in the front-end UI based on the presence/absence of the specific tags. The APIs to read/update tags are explained in "Extended Integration"

// to get JS markers on the front-end
// if the marker is set from the Campaign/Automation rule
// the callback 'props_change' will be triggered in the realtime
_smartico.on('props_change', function(props) {
    if (props.core_public_tags !== undefined) {
        // note that the passed object is an array 
        // with upper-cased markers of users
        console.log('List of user tags', props.core_public_tags.join(','));
    }
});

// to update tags from the front-end
_smartico.event('core_public_tags_update', { core_public_tags: ['A', 'B'] } );

Summary

Marker typeSource of dataUsage

Core: user markers

Smartico Campaigns and Rules + manual update from CRM profile

Segmentation on Smartico side

Core: external markerts

Integrated platform via API, Replica DB or Kafka/RabbitMQ

Segmentation on Smartico side

Core: JS Markers

Smartico Campaigns and Rules + from the front-end with JavaScript

Segmentation on Smartico side + Visible in the front-end JavaScript API

Note: all users with corresponding markers are available for export from the Smartico Data warehouse, you can read about DWH here

Last updated