Classification is a key step in personalization, or other experience optimization work. To make decisions about what content to display, you need to know specifics of the visitor, such as location, visit history, or intent. Classification enables you to identify things that groups of individuals have in common so you can target those groups, rather than personalizing at the individual level.

Uniform uses classification to power personalization, but classification can also be used in other ways. For example, once Uniform classifies an individual, that classification can be shared with other systems, like a customer data platform (CDP) or an analytics engine.

Classification involves assigning values to visitor dimensions. Uniform supports a variety of dimensions, each designed to accommodate a specific kind of information.

Classification criteria is configured within Uniform, but that information is used outside of Uniform. For example, in order for the client-side tracker to classify visitors, the tracker must know what the classification rules are. The Uniform manifest is the way that information is provided to components that exist outside of Uniform.

Almost any data source can be integrated into Uniform. Create visitor profiles based on the content elements they see, or integrate external data sources such as customer data platforms, GeoIP data, corporate APIs, or any other custom data.

Once the data is integrated into Uniform, you have a visitor profile that can be used as the basis for personalization.

Uniform Context lets you create a classification taxonomy based on dimensions: audiences, intents, signals, and enrichments. These let you classify visitors based on a specificity spectrum: signals and enrichments are small visitor actions, and those combine into the aggregates: intents and audiences.

When designing dimensions, consider what top level personas you wish to segment visitors into them. These will be your audiences. Then consider reasons that visitors would visit that cause them to belong to these audiences: these are your intents, and their scores roll up into the audiences. Finally consider the specific signals that visitors have the intent for visiting: these are your signals or enrichments.

Sometimes it may be beneficial to also design more and less-specific signals, for example for geo-targeting you might wish to have both a signal for "Country: Canada AND Region: Ontario" as well as a more general "Country: Canada" signal.

Intents and Audiences are a way to create aggregations of visitor scores. They allow you to create score dimensions that are composed of the sum of other dimensions' scores. Aggregations enable creating high level abstractions of visitor behavior based on many inputs. This allows marketers to focus personalization investments as needed between specific hyper-personalization (one campaign) and less time-intensive archetypical personalization (an entire audience).

An Intent is a specific reason that a visitor is visiting. For example "Buying shoes" or "Sign up for service." Visitors indicate their intent by performing actions that trigger one or more signals or enrichments that tell us why they're here. Defining such an intent within Context lets us target visitors with intent-specific content.

An Audience is a major classification of a visitor into an archetype or persona, for example "Developers," "Marketers," or "Sarah the wholesaler." Audiences can be made up of any combination of signals, enrichments, or intents which allows them to become broad archetypes.

Both kinds of aggregation enable advanced aggregation using signs on their inputs. A positive (+) sign means the input's score is added to the aggregate score. A negative (-) sign means the input's score is subtracted from the aggregate score. A clear sign means the input blocks the aggregate from having any score if the input has a score.

Negative signs enable expressing a relationship where an action reduces the certainty of the intent or audience. For example a visitor submitting a sales contact form might reduce their score in the 'Competitor' audience. You can also use negative signs to create mutually exclusive intents or audiences, by referencing each other with a negative sign. In this model score in one aggregate is always subtracted from the other, and vice versa (such as 'Wholesale' and 'Consumer' might be mutually exclusive).

Clear signs enable advanced scenarios such as building funnels. To build a funnel, a series of intents is created to represent the steps in the funnel. Later steps in the funnel are added as clear sign inputs to the earlier steps, resulting in a funnel where only the current stage has a score. Clear signs can also be useful to prevent conflicting actions from being suggested.


For information on how to use aggregations, see the intents guide and audiences guide.

It can help to decay visitor scores over time so that newer activities are stronger than older ones. With default settings, Context doesn't perform decay but it's a simple addition to the configuration to add a decay algorithm. Context ships with a simple linear decay implementation that decays scores at a linear rate the longer a visitor is inactive. With default linear decay settings of a 1-day grace period, 30-day decay duration, and 95% decay cap for example:

  • Return visit in less than 1 day: no decay - within grace period
  • Return visit in 16 days: decay is 50% of total score in each dimension (1 day grace + 15 days is half of 30-day default decay rate)
  • Return visit in 31 days: decay is 95% of total score in each dimension (1 day grace + 30 days, decay cap 95%)

Many businesses are already using third-party or in-house classification systems. These can integrate into Uniform's classification system by using enrichments (if the external data is some sort of numeric vector like a predicted segmentation from an ML model with confidence values), or quirks (if the external data is a constant value).

This third party data can then participate directly in your intent and audience-based classification taxonomy, enabling seamless personalization with data from all sources.

Uniform Context natively supports quirks data from CDN providers that expose GeoIP data to target visitors by their location.

Uniform tracking can be extended using plugins. This allows you to specify logic that runs when tracker events occur.