Segment Editor

The segment editor is the place where you build your segments. Plainflow will empower you with an extremely flexible editor.

It all starts with the distinction between known users and anonymous users.

alt date-UTC

Select the radio button exclude anonymous users to create a segment pupulated by your customers profiles. Anonymous users will not be enrolled in this segment.

Select the radio button include only anonymous users to create a segment populated by anonymous users only. Anonymous users only will be enrolled in this segment.

Once you’d definied the type of users that you want to select with your Segment, you need to define a set of rules and a ruleset.

A rule consists of set of instructions that need to be evaluated. A ruleset consists of a set of rules.

You can nest rules in AND or OR conditions.

When creating a rule inside you have to explicit whether you want to segment for customer attributes (properties) and/or customer activities (events).

How to filter for user properties? 👨‍

User properties are attributes saved in your user profiles.


Supported property types and operators:

Property typeSupported operators
Stringequals, does not equal, contains, does not contain, is set, is not set
Numberequal to, not equal to, in between, not in between, less than, greater than
Booleantrue, false, set, not set
Datebefore, after, between, set, not set

How to filter for user activities? ⚡

User events can be performed or not performed. You will set how many times your user had to performed that event and you will set a time range range.


☝ Keep in mind! When you are filtering for the date property you are always using a UTC date time. That might be different from your timezone.

alt date-UTC

Additional default events parameters ⚡

For every user events you are sending to Plainflow, you can also filter for the following parameters.

These parameters are automatically populated by Plainflow.

If you want to filter for these additional parameters you need to use the suffix context.


context.activeBooleanWhether a user is active. This is usually used to flag an .identify() call to just update the traits but not “last seen.”
context.appObjectdictionary of information about the current application, containing name, version and build. This is collected automatically from our mobile libraries when possible.
context.campaignObjectDictionary of information about the campaign that resulted in the API call, containing name, source ,medium, term and content. This maps directly to the common UTM campaign parameters.
context.deviceObjectDictionary of information about the device, containing id, manufacturer, model, name, type and version.
context.ipStringCurrent user’s IP address.
context.libraryObjectDictionary of information about the library making the requests to the API, containing name and version.
context.localeStringLocale string for the current user, for example en-US.
context.locationObjectDictionary of information about the user’s current location, containing city, country, latitude, longitude, region and speed.
context.networkObjectDictionary of information about the current network connection, containing bluetooth, carrier, cellular and wifi.
context.osObjectDictionary of information about the operating system, containing name and version.
context.pageObjectDictionary of information about the current page in the browser, containing hash , path , referrer , search , title and url. Automatically collected by Analytics.js.
context.referrerObjectDictionary of information about the way the user was referred to the website or app, containing type, name, url and link.
context.screenObjectDictionary of information about the device’s screen, containing density, height and width.
context.timezoneStringTimezones are sent as tzdata strings to add user timezone information which might be stripped from the timestampEx:America/New_York.
context.traitsObjectDictionary of traits of the current userThis is useful in cases where you need to track an event, but also associate information from a previous identify call.
context.user_agentStringUser agent of the device making the request.

Learn more about context in the developers documentation.

Not using Plainflow yet? Get your free account here. 👈