Skip to main content

2022 Releases

Release 22.11.1

November 28, 2022

For this release, we have been mostly focused on:

Rebrand to Kevel Audience

Following the acquisition of Velocidi by Kevel and the product rename to Kevel Audience, this release brings a new look to our Dashboard, in line with Kevel's design guidelines.

New Destination for Kevel UserDB

In this release, we introduce a new destination, Kevel UserDB. UserDB is the user database from Kevel Ad Server. This integration enables the advanced segmentation available on Kevel Audience to be leveraged on Kevel's Ad Server while simplifying the targeting configurations on the Ad Server side.

Improve Real-Time User Reach Statistics Availability

User reach statistics could be unavailable after a service restart, requiring them to be reprocessed. We have improved this behavior, so that computed user reach statistics are still available after a service restart.

All Changes

Click here for the complete list of changes


  • Kevel UserDB destination.


  • Rebrand to Kevel Audience.


  • Fix bug preventing real-time user reach statistics from being displayed.

Release 22.11.0

November 14, 2022

Attribution reports with a large volume of conversion events could be slow to render, sometimes even preventing the report from loading. To solve this, we moved part of the computation to the report generation stage, slightly increasing the time it takes to generate a report but vastly reducing the time it takes to render it each time it is viewed.

All Changes

Click here for the complete list of changes


  • Improve response time for attribution reports.

Release 22.10.0

October 3, 2022

For this release, we have been mostly focused on:

Improving the Accuracy of Attribution Reports

Until now, attribution reports only used the original order details, disregarding updates to the order, such as cancelation and refunds, hence providing less accurate reports. Going forward, order updates are considered when generating attribution reports, allowing us to provide more accurate reports by leveraging the most recent information about an order.

Attribution Reports from a Subset of Conversion Events

In this release, we expand Attribution Reports with the possibility to create them for a subset of conversion events. These more specific reports help you understand what is driving conversions for example for a specific business unit, product category, or product. To do so, we introduced two new configurations to allow filtering the conversion events and specifying how to extract the value to be considered for the conversion from the event.

The event filter is based on a match rule, similar to the segment rules, where you can select which events to consider based on the value of one or multiple fields from the event.

The value extractor is built via a JsonPath expression, where you can specify the events fields from which to extract the value and perform arithmetic operations on those values. For now, the UI for building these expressions requires technical knowledge and it will be simplified soon.

For more details, see the Attribution Report page.

All Changes

Click here for the complete list of changes


  • Add conversion event filter and value extractor configurations for creating attribution reports.


  • Consider order updates when generating attribution reports.
  • Prioritize utm_vars when assigning an origin to a tracking event.


  • Improve response time for segmentation rule's user reach preview.

Release 22.9.0

September 5, 2022

For this release, we have been mostly focused on:


In this release, we introduce the RFM Map, which helps you understand your brand's customer base by organizing it into segments. These segments are built based on a churn measurement, and the customer's count of completed orders.

The way customers are organized into these lifecycle segments can be customized to meet your business needs. The result is a series of RFM Map segments that can be used to activate users:

  • RFM Map - Lost heavy buyers: High-value customers that are considered Lost. Recovering them could have a meaningful impact on your business;
  • RFM Map - Sleeping: Mid-value customers that are already considered Lost;
  • RFM Map - Lost occasional buyers: Probably the less relevant segment in your database. They didn't buy often in the past, and are less likely to come back;
  • RFM Map - In need of attention: These customers are slightly overdue, which means they're ready to buy again. They bought quite sometimes. It could be troublesome for your business if they became Lost;
  • RFM Map - About to sleep: These customers are slightly overdue, and didn't contact much with your brand;
  • RFM Map - Recent heavy buyers: These are your best customers, but they haven't been with your brand that long. They're on the path to becoming Long-term;
  • RFM Map - Long-term heavy buyers: Your best customers, were acquired a long time ago and continue to buy often;
  • RFM Map - Promising: Customers that have bought a few times with your brand and show the potential to turn into Heavy Buyer or Long-term;
  • RFM Map - Nurturing: Customers that made a few purchases from your brand. It is possible that they know little about you and need to be motivated;
  • RFM Map - Just acquired: New customers that have just begun buying from your brand.

For more details, see RFM Map.

Additional Identifiers for Facebook Conversions API

Facebook Conversions API (CAPI) requires a Facebook known user ID to be able to identify the user to which an event relates to. Our previous implementation supported sharing events to Facebook identified by the email hash and the Facebook Browser and Click IDs (fbp and fbc). These last two had to be available as cookies on the incoming event to be forwarded to Facebook.

This release expands these capabilities, with the possibility to also include a phone hash and the fbp and fpc IDs from the user profile. These IDs need to be made available via an ID match in the user profile beforehand. Their usage is optional but highly recommended, to ensure an optimal match rate on Facebook CAPI.

All Changes

Click here for the complete list of changes


  • Introduce the RFM Map and its associated lifecycle segments.
  • Add support for two new user identifiers: Facebook Browser ID and Facebook Click ID
  • Facebook Conversions API can now send reliable and unreliable phone hashes, Facebook Browser ID (fbp), and Facebook Click ID (fbc) as additional customer parameters of an event.

Release 22.8.1

August 22, 2022

In this release, we have simplified the information shown while creating segments using machine learning predictive models with likelihood attributes.

Improvements in the Helper for Machine Learning Segments Using Likelihood Attributes

We removed some of the information from the chart available to assist in the selection of values for segments with the likelihood attributes, leaving the percentage of users and captured buyers comparison for each likelihood value. Additionally, we added a tooltip to each bar value when hovering over them, to support understanding what each value represents.

Along with these improvements on the chart, we have limited the operator selection when working with these attributes to only allow using greater than, since one can only draw conclusions from the helper when using this operator.

All Changes

Click here for the complete list of changes


  • Simplify the helper chart shown on segment creation with likelihood attributes.

Release 22.8.0

August 8, 2022

In this release we extended the order definition with a new source field.

New source Field in Order Definitions

Until now, the orders schema did not account for any field describing where the order was created.

This is important under some circumstances to allow us to distinguish between orders triggered from the web, through an event on the website, or orders created offline, on a point of sale, and imported to the CDP through Offline Imports.

We extended the order definitions, in both online tracking and offline imports, to account for a new optional source field that our clients can use to define the origin of that user order. This also makes our definitions more on par with Shopify format.

If this field is defined, then it becomes visible on the CDP dashboard and available for user-generated attributes and segmentation, meaning that it is easy to create different audiences based on the source of user orders.

All Changes

Click here for the complete list of changes


  • The order schema has a new source field, which can be included both on events and order imports.

Release 22.7.0

July 11, 2022

For this release, we have been mostly focused on:

Listing Activation Error Events

Until now, the support for inspecting activation event errors was fairly limited. There are hints on the health dashboard that certain destinations had problems while pushing data and on the destinations' table with an issues count and error type breakdown, but it was not possible to explore this information at the event level.

In this release, we added a new way of visualizing and inspecting these errors. We can now list all activation error events that happened in the last 7 days, sort and filter them by timestamp, destination, and error description. Furthermore, you can also view the raw event and JSON payload which, depending on the destination, can contain more detailed information about the error.

As many activation errors were a result of an incorrect configuration, this feature will enable users to autonomously understand why a request to a destination is failing, enabling them to fix how it is configured, without relying on external support.

For more information about activation problems go to the Debugging Activation Requests.

Auto-Detecting File Encoding in Data Imports

In order to import data into the CDP, files were expected to be encoded using "UTF-8". However, when exporting files from certain CRM platforms or third-party providers, the files can be encoded with another format which results in garbled text or even an error when importing into the CDP. To address this, file encoding auto-detection can now be enabled when importing data into the CDP. This process relies on heuristics and is not 100% accurate for all file encodings. If you know the encoding for your file, or auto-detection is failing, it is also possible to explicitly specify the file's encoding.

Capturing ASN Name and Postal Code in User Tracking Events

We have extended the geolocation information derived from the request IP to include the postal code and the Autonomous System Number (ASN) name. This information is being stored in the user tracking event, under meta.postalCode and meta.asn and can be used to create user attributes for segmentation. The full list of geolocation information derived from the request IP is available in the Augmenting Collected Events section.

All Changes

Click here for the complete list of changes


  • List activation errors on a new "Activation errors" page.
  • Allow specifying the files' encoding in data imports.
  • Add support for deriving ASNs and postal codes and persist them in user tracking events.


  • Rename channel insights' "Purchase amount" to "Orders placed amount".


  • Fix channel insights' purchase amount value when system contains orderUpdate events.

Release 22.6.1

June 27, 2022

For this release, we have been mostly focused on:

Receiving User Events from a Server

In this release, we have extended our event tracking API to support receiving events from a server. When processing traditional events, we extract some information from HTTP requests to supplement the provided details, such as the IP address. In events sent directly from your website or mobile application, this works as expected since this data is sent from the client used by the user. However, in server-to-server event tracking, the HTTP request contains information specific to the server that must be ignored or would degrade the user's profile with wrong information, such as considering the geo-location of the server as the user's location. For this purpose, we have added a new endpoint that ignores any client-related data in the HTTP request and provides an interface to specify user-related data. This new endpoint is http://tr.cdp.<WEBSITE_DOMAIN>/events/server and an example request is the following:

POST http://tr.cdp.<WEBSITE_DOMAIN>/events/server
Content-Type: application/json
"type": "pageView",
"siteId": <SITE_ID>,
"clientId": <CLIENT_ID>,
"userId": {
"idType: <ID_TYPE>,
"id": <ID>
"ip": <USER_IP>,
"documentLocation": <DOCUMENT_LOCATION>

For more technical details see the API Reference.

Receiving Events from Segment

In this release, it is now possible to receive real-time user data from Segment. To accomplish this, we provide a webhook endpoint that supports both identify and track events which makes it possible to match user IDs and receive events as defined in the events specification. Events that do not have a direct translation to our specification are converted to custom events, ensuring all events are available in the CDP. The list of supported events is as follows: any data. The list of supported events is as follows:



Visit the webhook documentation for more information.

Editing Segmentation Rules Manually

The CDP provides a helper to guide the creation of segmentation rules. This helper lists and organizes the attributes available in the system, filters which operators are helpful for each attribute given their type, and in some cases, provides help to select what values the attribute should be compared against. Finally, this user interface generates a textual representation of the rule, which is less user-friendly.

However, when mass editing a set of similar rules, creating them one by one is not practical and often time-consuming. To address that, rules can now be edited manually via its text representation instead of interacting with the user interface. This enables two new use cases:

  • After creating a rule via the user interface, the user can now copy its text representation and create a new one, modifying only a few values to quickly create a similar segment;
  • Although the user interface offers a simplified way to build a segmentation rule, more complex rules can be created by typing the rule manually from scratch for advanced use cases. These rules won’t be representable in the user interface even though they continue to be valid.

All Changes

Click here for the complete list of changes


  • Add new event tracking endpoint for server-to-server events.
  • Add support for receiving event and user data from Segment via webhook.
  • Allow editing segmentation rules manually via its text representation.


  • Fix E-goi user import creation failing when API key was pasted on the input, instead of typed.

Release 22.6.0

June 13, 2022

For this release, we have been mostly focused on:

Improving Order-Based User Attributes

Prior to this release, the experience around building segments using order-based data required a careful combination of event and order-based user attributes. We provided a few order-based user attributes out of the box: ordersTotal (for the total value of open or fulfilled orders), ordersAvg (for the average value of open or fulfilled orders) and completedOrders (for the count of open or fulfilled orders). However, they were not sufficient for all relevant use cases and could lead to some inconsistencies when combined with event-based user attributes that don't carry the current order state around. In order to fix those inconsistencies and enable more use cases around order-related segments, we have introduced a new set of order-based user attributes readily available under the orders. prefix. These attributes are available for all users and deprecate the existing ordersTotal, ordersAvg, and completedOrders attributes. Attributes are grouped according to the order state and we provide 4 different order state groupings:

  • all: refers to all orders, regardless of their current state;
  • openOrFulfilled: refers to orders that are either open (placed or paid) or have already been fulfilled;
  • canceled: refers to orders that have been canceled;
  • refunded: refers to orders that have been refunded.

The complete list of the newly available attributes is:

  • orders.all.count: Number with the count of all orders the user has performed;
  • orders.openOrFulfilled.count: Number with the count of all orders the user has performed and that are either open or fulfilled (replaces the deprecated completedOrders attribute);
  • orders.canceled.count: Number with the count of all canceled orders the user has performed but that were eventually canceled;
  • orders.refunded.count: Number with the count of all orders the user has performed but that were eventually refunded;
  • Number with the total value of all orders the user has performed and that are either open or fulfilled (replaces the deprecated ordersTotal attribute);
  • orders.openOrFulfilled.average: Number with the average value of all orders the user has performed and that are either open or fulfilled (replaces the deprecated ordersAvg attribute);
  • orders.all.timestamp.first: Creation timestamp of the user's first order;
  • orders.openOrFulfilled.timestamp.first: Creation timestamp of the user's first order that is either open or fulfilled;
  • orders.canceled.timestamp.first: Creation timestamp of the user's first order that was eventually canceled;
  • orders.refunded.timestamp.first: Creation timestamp of the user's first order that was eventually refunded;
  • orders.all.timestamp.last: Creation timestamp of the user's last order;
  • orders.openOrFulfilled.timestamp.last: Creation timestamp of the user's last order that is either open or fulfilled;
  • orders.canceled.timestamp.last: Creation timestamp of the user's last order that was eventually canceled;
  • orders.refunded.timestamp.last: Creation timestamp of the user's last order that was eventually refunded;
  • orders.all.timestamp.history: Array with the creation timestamps of all orders the user has performed;
  • orders.openOrFulfilled.timestamp.history: Array with the creation timestamps of all orders the user has performed and that are either open or fulfilled;
  • orders.canceled.timestamp.history: Array with the creation timestamps of all orders the user has performed but that were eventually canceled;
  • orders.refunded.timestamp.history: Array with the creation timestamps of all orders the user has performed but that were eventually refunded.

You can see details about these and other attributes in the User Attributes page.

The new attributes are all available in the segment creation interface under the Orders category:

Examples of targeting rules enabled by this new set of segments are "all users that created an order last month that wasn't refunded nor canceled", "all users that had at least one order canceled" and "all users that, in the previous weeks, created an order that was refunded".

Simplifying Segment Creation Using Datetimes

In this release, we have also simplified the segment creation around user attributes that are datetimes. We provide various user attributes that are datetimes: some are dates in the past (like the date of the first page view) but some are expected to be in the future (like the prediction of the next purchase date). In order to make it more evident that we're dealing with future dates, we provided a set of aliases in the segment creation interface around common datetime operators: "expected in less than", "overdue by less than", "overdue by more than", and "expected in more than". Unfortunately, this set of aliases was also available when creating rules around user attributes that constitute dates in the past, leading to some weird descriptions like "last page view expected in less than 2 days". In order to fix that and to simplify the segment creation when using this type of attributes, these aliases no longer show up when creating a rule targeting a datetime that's expected to be in the past. For dates in the future, we continue to display these friendlier aliases.

Supporting CSV Files with Semicolons

The term "CSV" denotes various similar delimiter-separated formats but we previously only supported the more common "comma-separated values" format. In this release we added support for specifying the separator being used, supporting both commas (,) and semicolons (;). This eliminates the need for manually formatting certain files before import.

Simplifying IP Anonymization

Prior to this release, we supported customizing the anonymization strategy applied to IP addresses before storing and making tracking events available in the CDP. Given that this option was never used, we have simplified the API by dropping the option and defaulting to the strategy of always replacing the last octet of the IP address with 0. For example, an IP address like available in a tracking event will be persisted in the CDP as

Preventing Authentication Loss with Facebook

When using a Facebook Custom Audiences destination, you're asked to login with Facebook in order to connect with an ad account. Whenever there was a security event on that account, the authentication would be lost, requiring you to login again at the destination configuration. We have now improved the authentication strategy to use a system user token, which prevents the scenario above. To make it more evident which ad account you're authenticated with, we now show its name in the authentication widget:

All Changes

Click here for the complete list of changes


  • Add more order-based user attributes: orders.all.count, orders.openOrFulfilled.count, orders.canceled.count, orders.refunded.count,, orders.openOrFulfilled.average, orders.all.timestamp.first, orders.openOrFulfilled.timestamp.first, orders.canceled.timestamp.first, orders.refunded.timestamp.first, orders.all.timestamp.last, orders.openOrFulfilled.timestamp.last, orders.canceled.timestamp.last, orders.refunded.timestamp.last, orders.all.timestamp.history, orders.openOrFulfilled.timestamp.history, orders.canceled.timestamp.history and orders.refunded.timestamp.history.
  • Add support for customizing the character separator when performing a data import from a CSV file.
  • Show the Facebook Ad Account name in the Facebook authentication widget when configuring a Facebook Custom Audiences destination.


  • Omit the operator aliases "expected in less than", "overdue by less than", "overdue by more than" and "expected in more than" from the segment creation interface when dealing with user attributes that are meant to be dates in the past.
  • Improve the Facebook Custom Audiences authentication strategy by relying on a system user token. This prevents a loss of authentication with Facebook in case of a security event on the target account.


  • Deprecate the order-based user attributes ordersTotal, ordersAvg and completedOrders in favor of, orders.openOrFulfilled.average and orders.openOrFulfilled.count.


  • Remove support for customizing the anonymization strategy for IPs when persisting tracking events.
  • Remove the possibility to define a throttle when performing data imports. This was only available via API and was unable to be configured via the CDP dashboard's interface.

Release 22.5.2

Available: 2022-05-30


  • Updated the frequency at which the IP to location resolution databases are updated, for more accurately generate the city and country user attributes.


  • Several visual and performance improvements.

Release 22.5.1

Available: 2022-05-16


  • Entries in configuration tables' rows can be opened in a new tab using a middle mouse button click.


  • Improved the performance of the autocomplete dropdown for selecting an attribute name while creating advanced segments.
  • Fix the shipping country column on the list of orders in the customer details, which was showing the shipping method instead.


  • Clarified that the Likely to Buy model helper is only available for the greater than operator.
  • Minor improvements to the user interface.

Release 22.5.0

Available: 2022-05-02


  • Explain why a segment reach is not available when using rules with attributes that are not on the sample used for estimating the user reach yet.


  • Prevent activation errors on a Mailchimp destinations when a user does not exist on Mailchimp's side.


  • Modify the product data imports form to identify the file schema instead of the file format (Google Merchant XML vs XML).
  • Automatically clear the input value of a segment rule when selecting a different segmentation option.

Release 22.4.1

Available: 2022-04-18


  • Validate destinations' parameter names to prevent leading or trailing whitespace characters.
  • Further validate dates on imports to prevent additional invalid date formats.


  • Scheduled imports do not run automatically after creation but are delayed until their first scheduled time.
  • Fixed an issue preventing the deletion of segments from the segment page.
  • Hide some operators while segmenting with unknown type fields in the segment builder.
  • Improve user sampling consistency for estimating 1-month and all-time segment statistics.


  • Removed the templated transformations for product imports.

Release 22.4.0

Available: 2022-04-04


  • This release introduces Dynamic Attributes. This feature enables the creation of user attributes, given an event filter, an event attribute, and an aggregation strategy. Dynamic attributes expand the capabilities of user segmentation to leverage any information available in any captured events, including those from the past three months. The user interface for creating attributes is still under active development, our customer success team can help you navigate through it.

  • Scheduled triggers' periodicity can be further customized, including specific days or hours, on par with the scheduled imports.


  • Prevent the creation of segments without a segment ID.

Release 22.3.1

Available: 2022-03-21


  • The Likelihood to Buy machine learning model can be configured to predict purchases in specific categories. This feature is enabled on-demand per category and customer.

  • Scheduled imports' periodicity can be further customized, including specific days or hours.


  • Segmentation rules now leverage an isDefined operator to evaluate if an attribute exists, improving support for rules using attributes not available on all user profiles.

Release 22.3.0

Available: 2022-03-07


  • While importing data from files, IDs are automatically lowercased. This ensures consistency on the stored IDs and aligns with the industry's best practices to exchange user IDs. This manipulation is automatically applied to plaintext emails, hashed emails, and hashed phone numbers.


  • Fixed a bug that prevented searching for customer details using IDs that contain non-alphanumeric characters.

Release 22.2.1

Available: 2022-02-21


  • While deleting some destinations, a notification clarifies that previously activated data is kept on the destination platform.


  • Fixed a bug in which users with no events would not be considered for calculating user statistics, biasing segment insights.

Release 22.2.0

Available: 2022-02-07


  • Customer data files can now be tested before being imported. The dry-run feature will provide feedback on the file's structure and contents, warning about invalid configurations or data entries.

  • While importing contacts from E-goi, it is possible to import only the contacts in a segment, given an E-goi segment ID. Doing so reduces the import size, making the process more targeted and efficient.

  • Improved the destinations' configuration form, limiting the ID types selectable to only those valid for the destination. If only one ID type can be used, that option is selected by default and cannot be changed.


  • ID match events no longer show the user attributes. The matched IDs are still present and provide access to the customer's profile, where the user attributes are available.

Release 22.1.1

Available: 2022-01-25


  • Facebook Custom Audiences can now leverage reliable or unreliable email and phone number ID types.

  • Segment insights can now be accessed from the segments list to compare multiple segments.


  • Fixed an issue where non-email ID types were sent as email IDs to Facebook Custom Audiences, rendering them unusable.

Release 22.1.0

Available: 2022-01-10


  • While creating a segment, the insights now present the revenue and average order value.


  • The Javascript tag only sends activation, match, and cookie sync events after the load browser event. This prevents delays while loading the page.
  • Introduced a default cache duration of 1 hour on the Javascript tag, contributing to the performance of the adopting sites.


  • Improved the segment builder user experience and performance.
  • Fixed an issue that could prevent activations to Facebook Custom Audiences when many audiences were configured.
  • Fixed an issue while creating a file import that could produce multiple import instances instead of just one.
  • Fixed an issue preventing the prediction of the next purchase date if the user's previous orders did not have line items.
  • Several minor visual improvements.