Skip to main content

2023 Releases

Release 23.12.0

December 12, 2023

In this release, we have introduced the ability to round timestamps to the start of the day while creating User Attributes. This ensures that only one occurrence of events on the same day appears in the output list. This way, we provide a day-level granularity needed to unlock novel use cases, for example, being able to segment by "Users who visited the website in at least 3 different days, within the past 30 days".

Create User Attributes Aggregated over the Event's Day Instead of the Specific Timestamp

When creating a User Attribute, it is common to look for user activity patterns at a day granularity. For example, "List of days the user visited the website". Such an attribute does not care for how many times the user visited the website in a single day, but rather on which days the user visited the site. This can be achieved with a "Unique list concatenation" aggregation and extracting the Timestamp field while enabling the "Round timestamp to the start of the day" option. The result is a list of timestamps for the first moment of each day, hence, avoiding duplicate entries for the same day.

All Changes

Click here for the complete list of changes

Added

  • Allow rounding the event timestamp to the start of the day (UTC) when creating a User Attribute aggregation.

Release 23.11.1

November 27, 2023

In this release, we focused on performance and UX improvements.

All Changes

Click here for the complete list of changes

Changed

  • Destinations that activate server-side now have the "Only activate the user if its data has changed since the last activation" option enabled by default in the creation form.

Release 23.11.0

November 13, 2023

In this release, we focused on performance improvements and bug fixes.

All Changes

Click here for the complete list of changes

Added

  • Hovering over product IDs in a user's timeline will now display a tooltip with the corresponding product name.

Changed

  • Update line items' quantities in orders to allow for decimal values.

Fixed

  • Removed from cart events were not displaying the associated products in a user's timeline.

Release 23.10.2

October 30, 2023

For this release, we have been mostly focused on:

Support Compressed Files in Offline Imports

Files compressed with gzip can now be imported with offline imports. By default, the decompress method is set to "auto" and will infer the file compression format based on the file's extension. The decompress method can be explicitly specified per file if the automatic detection is not working for your file.

API wise, the decompression method is no longer defined per import but instead per file to download.

Import Custom Fields in Kevel Audience CSV Order Imports

All of our supported event types allow capturing extra custom fields together with what we explicitly document in their schemas. This includes Order Place events, which create or update orders. Offline imports of orders also generate orderPlace or orderUpdate events, but they didn't allow extra custom fields outside the defined schema.

We have now extended the support for custom fields to orders imported via Kevel Audience CSV order imports. When importing orders in this format, column names prefixed with "custom_" are imported as the order custom fields. These custom fields are pushed to the events triggered from the import, becoming available for attribute generation and segmentation.

See Order Imports documentation for more details.

Activate Users on Profile Updates

When performing activations, it is in our interest to activate the most up-to-date version of a user profile to third parties. To do that, we would often have to use a reactive trigger together with a scheduled one. The reactive trigger would be issued at the same time of a tracking event, and, due to the inherent concurrency of those events, we couldn't be sure if the most up-to-date attributes would be activated. We would, therefore, require a scheduled trigger to be sure that third parties would have the same view Kevel Audience does of user profiles.

To simplify this process, a new trigger type has been introduced: User Update. This trigger issues activations immediately after user profile updates originating from tracking activity or data imports, ensuring third parties have an up-to-date view of the activated attributes.

This trigger is a complement to the other two strategies. It works only with server-side destinations, so, reactive triggers should still be issued when browser-based destinations are used. Scheduled triggers can also be relevant when working with time-based segments, which users will join or leave based on the time since their last events.

All Changes

Click here for the complete list of changes

Added

  • User Update trigger.
  • Auto-detect file decompression method in offline imports.

Changed

  • Move decompress method from a global import job definition to a per downloader definition.
  • Extract fields prefixed with "custom_" in Kevel Audience CSV order imports as Order's customFields.

Fixed

  • Fix issue in which extracting an array field in an attribute definition would only select the first element of the array.

Release 23.10.1

October 16, 2023

For this release, we have introduced a new way to identify users in tracking events and made some tweaks on the events schema.

Override User ID When Tracking Users

It is now easier to override the user id when sending tracking events via the JavaScript Tag.

Sending an user object with the fields id and type will override the user id automatically sent via cookies. This was already possible in activation and match requests.

Usage Example:

pcdp("event", "track", {
"clientId": "kevel",
"siteId": "kevel.com",
"type": "pageView",
"user": {
"type": "crm",
"id": "123456"
}
});

Additionally, all tracking endpoints were normalized to accept user id overrides via url encoded query params or via post body when applicable. See Event Tracker API for more details.

All Changes

Click here for the complete list of changes

Added

  • Send user id override via user.type and user.type in all tracking endpoints.
  • Add sku to product related events schema.

Changed

  • Remove ourl from the schema of Ad Click events.
  • Make source optional in both Ad Click and Ad View events.

Deprecated

  • Send user id override via userId.idType and userId.id via server-side endpoints.

Release 23.9.1

September 18, 2023

In this release, our primary focus has been on enhancing performance and addressing bugs.

All Changes

Click here for the complete list of changes

Changed

  • Refined the on-hover information for processed user attributes.
  • Enhanced the error messages within the A/B Experiments configuration form.

Fixed

  • Resolved spacing and alignment inconsistencies in the A/B Experiments configuration form.

Release 23.9.0

September 4, 2023

For this release, we have been focused on:

Enabling Region Selection in UserDB Destinations

UserDB is region-specific, and data between regions isn't automatically synchronized. Previously, one couldn't define to which regions data should be sent to, relying on a latency-based endpoint for all activations. Since latency would be calculated based on the location of the Audience servers, one couldn't accurately activate to multiple regions using the native UserDB destination. In order to have a multi-region setup, we were forced to use multiple generic webhook destinations.

To enable the multi-region setup natively, we have now added support for defining the regions to use in UserDB destinations. With this setup, each activation will push data to all of the configured regions, making sure they are in sync.

Using Segments as Activation Filters

It is now possible to limit activations to users who belong to a given segment.

In the destination configuration, there is a new "Only activate users in the segment" option where you can select an existing segment to be used to filter activation for users in that segment. This can be particularly useful for limiting activations to a segment of users who have consented with sending data for this destination.

All Changes

Click here for the complete list of changes

Added

  • Add support for using segments as activation filters.

Changed

  • Add support for defining regions in UserDB destinations.

Release 23.8.0

August 7, 2023

For this release, we have been focused on improving the RFM Map user experience.

RFM Map

The user experience for the RFM Map has been improved to facilitate interpreting the pre-built segments in the map and configuring it to fit each business's needs.

All Changes

Click here for the complete list of changes

Changed

  • Revamp RFM Map user experience.
  • Only consider users with at least one active event when calculating segment insights, to better report on the addressable population.
  • Only generate next purchase and churn factor attributes for top-level categories.

Release 23.7.1

July 24, 2023

In this release, we focused on performance improvements and bug fixes.

All Changes

Click here for the complete list of changes

Fixed

  • Fix Filedrop Destination's create and delete issues under certain circumstances.

Release 23.7.0

July 10, 2023

This release expands the auditability of orders, by providing links to order import details in the order timeline, along with the already existing links to order-related events.

Order History Auditable with Imported Data

On an order's timeline, there were links to events that related to that order. With this release, we now also provide links to offline imports that updated the order, thus, increasing the auditability of an order's timeline.

All Changes

Click here for the complete list of changes

Added

  • Order's timeline elements originated from imports now have a link to the corresponding import.

Release 23.6.1

June 26, 2023

In this release, we focused on performance improvements and bug fixes.

All Changes

Click here for the complete list of changes

Fixed

  • Cookie stickiness redirections in tracking and match endpoints now return HTTP status code 307 instead of 302 to correctly redirect POST requests.

Release 23.6.0

June 12, 2023

For this release, we have introduced domain filters to control the sources of events in the system.

Domain Filters

Domain Filters give users greater control over event traffic. By defining trusted domains, this configuration can filter out bots, spam, and other abusive traffic. It improves overall data quality, billing accuracy, and performance. Filtering is based on the Referer request header and operates at the domain level, regardless of protocols, subdomains, or parameters.

In addition, we have implemented a new traffic monitoring screen that offers valuable insights into the number of events associated with each domain. This report can help decide what domains to whitelist.

By default, domain whitelisting is turned off, and all traffic is accepted. Please contact your Customer Success Manager to define the whitelisted domains.

All Changes

Click here for the complete list of changes

Added

  • Domain filters to exclude unwanted traffic.
  • A new report to visualize incoming traffic per domain.

Release 23.5.2

May 29, 2023

For this release, we have been mostly focused on:

The Google Ads Customer Match Lists destination allows the activation of users from a given segment to Google Ads as a Customer List. Once this destination is configured, Kevel Audience will automatically create the Customer List and update it with user information. Activations can happen when the user is using the site or scheduled at a given frequency.

User ID Counts on Segmentation Rules

Segmenting users according to their User IDs type count is now possible. This enables, for example, to create segments that target users with at least one User ID of type email, to better understand a reach of a segment used for an email marketing campaign. Our Segment Builder supports building these rules directly on the dashboard.

Change History and Version Rollback

In this release, we introduced a new feature that enables tracking changes made to the configuration of an entity and allows you to revert to a previous version. It is available for Match Providers, Cookie Syncs, Segments, User Attributes, A/B Experiments, Destinations, and Triggers.

When viewing or editing an entity, you will find a new button labeled Changes History. Clicking on it will reveal a side panel displaying a list of modifications made to that particular entity. Each modification is accompanied by the email of the author, a timestamp indicating when it occurred, and a list of the fields that were changed. Note that when a new entity is created, the changed fields will not be shown.

If you wish to explore a previous version, navigate to the Changes History panel and click on the desired version. The current entity will be updated with the changes from the selected version, and the input fields will be disabled. To confirm and revert to this version, click the Restore button at the bottom of the page.

Your unsaved changes will not be lost when viewing a previous version. If you have made local modifications to the configuration of an entity but require a quick look at a prior version, you'll see a new entry called Unsaved Changes. Once you're prepared to continue your work, simply click on it, and your unsaved modifications will be restored.

Simplify Handling Undefined Attributes While Segmenting

A shortcoming of Audience's rule engine was the ambiguity when dealing with undefined attributes. The UI hid many of these complexities. Still, under the hood, we would have to take some care with the possibility of certain values being undefined. The same would happen if you were to write rules manually.

Consider an attribute timestamps with the list of timestamps of when people purchased products and the goal of creating a segment of people that had no purchase after 1685458404788. One way to define such a rule would be with something like the following:

not(exists(t:timestamps, t > 1685458404788))

In the previous version of the rule interpreter this would only have the desired effect if timestamps always had a value. If it happened to be undefined for a given user, the exists would evaluate to undefined and the not would continue to propagate the undefined, resulting in the user not belonging to the segment. As a way to circumvent these issues, the UI would produce a rule like the following under the hood for managed attributes:

not(isDefined(timestamps) && exists(t:timestamps, t > 1685458404788))

With this update, undefined values coerce to false when used in boolean expressions. As a result, the exists evaluates to undefined but the not evalutes to true (due to the coercion of undefined to false). This is part of a more general update in which values are coerced to booleans following JavaScript's semantics, instead of the three-valued logic the previous interpreter would use.

Allow Checking If a Word Exists in Segmentation Rules

The new engine also introduces support for the operator containsWord, which checks if a given word is present in a text. This evaluates the whole word, instead of the set of characters, as one would achieve with the contains operator. For instance:

  • "woman accessories" contains "man" would evaluate to true.

  • "woman accessories" containsWord "man" would evaluate to false.

  • "man accessories" contains "man" would evaluate to true.

  • "man accessories" containsWord "man" would evaluate to true.

The contains word operators are available on the segmentation interface.

For advanced use cases, feel free to consult the Rules Syntax documentation to learn more about all different types of operators.

All Changes

Click here for the complete list of changes

Added

  • Enable segmenting by the number of User IDs for a specific ID type a user has.
  • Track changes in the configuration of an entity and restore to a configuration from a previous point in time.
  • New operators to check if a word exists in a text that respects the word limits.
  • Google Ads Customer Match Lists destination

Changed

  • Improved rule engine now evaluates undefined values to false.

Release 23.5.0

May 3, 2023

For this release, we have added support for case-insensitive currency codes and continued improving the overall experience around Event Predictions with the introduction of the Available for Segmentation setting.

Event Predictions Available for Segmentation

In Release 23.4.0, we introduced a limit on the number of allowed Event Predictions.

In this release, we introduce the possibility of creating Event Predictions that are not available for segmentation. These Event Predictions can be trained on demand to evaluate their performance, without counting toward the aforementioned limit. This enables exploring new Event Predictions and helps make informed decisions regarding when to make Event Predictions available for segmentation, without requiring increasing the Event Prediction's limit. See our Available for Segmentation section for more details.

All Changes

Click here for the complete list of changes

Added

  • Allow creating Event Predictions that are not available for segmentation. These Event Predictions do not count towards the number of allowed Event Predictions, as described in the Event Prediction Limits section.

Changed

  • Limit the number of Event Predictions available for segmentation.

Fixed

  • Support case insensitive currency codes in both tracking events and order imports.

Release 23.4.1

April 20, 2023

For this release, we have been mostly focused on:

Monthly Tracked Users Calculation Update

As documented in the usage report documentation page, users are now considered towards the monthly tracked users count in a given calendar month if they have any of the following activities:

  • Tracking requests;
  • Activation, Match, and Cookie Sync requests;
  • They are included in order imports.

Previously, we would not include users involved in match requests nor users whose profile was unified via an order import.

Product Imports

We have also improved product imports by supporting dry-runs and providing a summary of the process, as detailed here. Dry-runs in this context have a similar behavior to dry-runs of other types of imports, serving as a simulation of the respective import without actually storing any of the data.

To further give the users more feedback regarding product imports, a summary is now provided in completed imports' page. Users will now see four main sections: (1) configuration parameters and status, (2) overview of the number of new, updated and unchanged products, (3) a sample table, allowing the inspection of a sample of imported products, and (4) a summary of all issues that may have occurred during the import.

Release 23.4.0

April 3, 2023

For this release, we have limited the number of Event Predictions one can create. This ensures the Event Prediction models have the necessary resources allocated to them. Additional models can be made available by request to your Customer Success Manager. See our Event Prediction Limit section for more information.

Release 23.3.1

March 20, 2023

In this release we set ourselves to enhance our Product Data import capabilities by supporting Google Product data following the Atom v1.0 specification.

Google Product data was already supported for files following the RSS v2.0 specification. With this change users can now provide XML files in both Atom and RSS formats. There is no UI change and no action the user needs to do when providing Google Product files in either format. The system will autodetect which XML specification the file is in and act accordingly to successfully ingest the product data.

All Changes

Click here for the complete list of changes

Fixed

  • Support both Atom and RSS feed on product imports.

Release 23.3.0

March 6, 2023

For this release, we aimed to improve data readability throughout the dashboard and have normalized the terminology used to refer to users and customers.

All Changes

Click here for the complete list of changes

Added

  • Allow hiding empty/zero attributes in User Explorer.
  • Allow parsing timestamp attributes into a human-readable format in User Explorer.
  • Support activating phone ID types on Klaviyo.

Changed

  • Rename Segment > Customer Details to Collect > User Explorer.
  • Rename Segment > Attributes to Segment > User Attributes.
  • Rename Segment > Experiments to Segment > A/B Experiments.
  • Normalize usage of the terms Customer and User in the dashboard.
  • Use [ ] instead of ( ) for rule list representation.

Removed

  • Remove Retargetly integration.

Release 23.2.1

February 20, 2023

For this release, we have been mostly focused on:

  • Adding a Usage Report for allowing the visualization of system's monthly usage metrics;
  • Adding configurable Event Predictions, leveraging machine learning to predict the likelihood of a user performing an event. These can be used for creating segments of users who are likely to do an action, such as buying a product from a category or adding a product to their cart;
  • Supporting plaintext phone numbers as reliable and unreliable User IDs.

Usage Report

In this release, we introduce a new type of report, the Usage Report. This report enables the understanding of the monthly evolution of system's usage metrics:

  • MTUs (Monthly Tracked Users): The number of individual users that generate one or more event within the calendar month;
  • Tracked Events: The number of tracked events within the calendar month;
  • Activations: The number of activation events within the calendar month;
  • Prediction Models: The highest number of prediction models configured in the system at any time within the calendar month.
  • Segments: The highest number of user segments configured in the system at any time within the calendar month.

Event Predictions

Until now, Kevel Audience provided a fixed set of default Predictive Models that generated and updated predictive attributes that could be used to empower segmentation. With the introduction of Event Predictions, we now allow creating custom Predictive Model that enables predicting the likelihood of a user performing an event in the future. For more information, read the Predictions page.

All Changes

Click here for the complete list of changes

Added

  • Usage report, featuring system's monthly usage metrics.
  • Custom predictive model that enables predicting the likelihood of a user performing an event.
  • Support for plaintext phone numbers as reliable and unreliable user ids.

Changed

  • Restrict default attribute extraction options by aggregation type.

Release 23.2.0

February 6, 2023

For this release, we have been mostly focused on:

Deprecating Product Interaction Attributes

In this release, we are deprecating all Product Interaction attributes whose name is derived by some value from the event that originated them. These attributes tend to work with fields that have a large number of unique values, such as product categories. This generates many attributes without immediate use, hampering performance and costs.

Rules that make use of these attributes should replace their definition by creating the appropriate user attribute. Existing segmentation rules that use deprecated attributes will provide a warning and helpers to create a user attribute to support the rule, as shown below. The helper will open the attribute creation page with the required information to replace the segment condition. This definition should be reviewed and adapted according to the business needs. Once the attribute is created the segment rule should be manually updated to use the new attribute.

For further information, read the deprecation guide.

Cloning and Deleting Attributes

To provide a consistent user experience for managing entities on the dashboard, it is now possible to clone and delete an attribute while viewing its details.

All Changes

Click here for the complete list of changes

Added

  • Ability to clone and delete attributes from the user attribute rule interface.
  • Add operator array contains any to category lists when creating user attributes.

Changed

  • Reduce default retention period for Match, Activation and Cookie Sync events from 100 to 40 days.
  • Remove some non-compatible operators for user created attributes when creating segmentation rules.

Deprecated

  • Product Interaction Attributes.

Release 23.1.1

January 23, 2023

For this release, we have been mostly focused on:

Displaying HTTP Requests for Kevel UserDB

Given that Kevel UserDB is a specialized webhook destination, it is now possible for users to have access to the HTTP requests a given configuration will result in.

Simplifying the Creation of User Attributes

Creating attributes using product-related fields was troublesome, as different events use different schemas, under product, products, or lineItems. This feature introduces a new selector, Products and LineItems, which provides an abstraction for all those schemas.

The field selector dropdown was also reorganized to provide shortcuts to other commonly used fields.

This change will considerably simplify the user experience of defining most new user attributes.

All Changes

Click here for the complete list of changes

Added

  • Display HTTP requests for a given Kevel UserDB configuration.
  • Provide a unified event field selector for Products and LineItems in the attribute creation form.
  • Add a link to the segment definition from the configured Destination's Activated Parameters.

Changed

  • Allow activating attributes as well as segments on Kevel UserDB destination.
  • Improve accessibility to commonly used fields in the attribute creation form.
  • When creating a Destination, adding a new Activated Parameters item now defaults to a Segment.
  • Round Average Order Value and Predicted CLV values in Segment Insights.

Release 23.1.0

January 9, 2023

For this release, we have been mostly focused on:

Custom Kevel UserDB Destinations as Webhooks

The Kevel UserDB is a specialized webhook destination. This release introduces the possibility of cloning a Kevel UserDB destination as a generic webhook. The new destination will be pre-populated with the configurations of the native Kevel UserDB destination and can then be fully customized.

All Changes

Click here for the complete list of changes

Added

  • Add button to clone a Kevel UserDB destination as a webhook.