Skip to main content
After entering the required inputs for destination creation, click Next to proceed to the Actions and Mapping screen. On this screen, map attributes and identifiers that you wish to send to the destination platform. Previously, only fields from your Catalogue could be sent as is. With the introduction of Destination Enrichers, you can customise Catalogue fields before sending them to the destination. The following customisations are currently supported:
  1. Concatenate – Allows you to add a prefix or suffix to a Catalogue field.
  2. Timestamp – Allows you to add a timestamp to indicate the upload time of a data record.
  3. Custom Enricher – Allows you to apply custom transformations such as hashing, formatting, value mapping and more to modify field values.

1. Concatenation Enricher

Use the Concatenation Enricher to modify Catalogue field names by adding a prefix or suffix based on your requirements. For example, if you are sending customer IDs to a destination platform that requires a specific naming convention, you can add the prefix crm_ to distinguish these fields (crm_customer_id). This helps align with the platform’s schema and prevents conflicts with existing fields.

Use Cases

  • Add a prefix to distinguish fields sent to a destination platform. For example, if you are sending customer purchase history to an analytics tool, you can add the prefix retail_to fields such as retail_total_spent to avoid naming conflicts.
  • Append a suffix to indicate transformed data. For example, if you are converting a timestamp to a different timezone, you can append _converted to indicate the transformation (e.g., event_time_converted).
  • Combine multiple fields into a single string for compatibility with destination platform requirements. For example, if you are exporting customer full names to a platform that only supports a single name field, you can concatenate first_name  and last_name into full_name.
Note:You can add multiple prefixes and suffixes to the Catalogue field and drag them to reorder the concatenation as needed. Note that you cannot add a Concatenation enricher to the parent field of the Object/List of Object.

Using Concatenation Enricher in Destination Mapping

Perform the following steps to use this enricher in the Destination Mapping screen:
1
Click the Add Enricher icon next to the desired Catalogue field.
2
In the Select Your Enricher Type window, choose Concatenation.
3
Click + to add the desired text as a prefix or suffix, then press Enter.
  • Drag and drop the added text to reorder it as a prefix or suffix as needed.
  • You can add multiple prefixes or suffixes.
4
Click Save to complete the configuration.

2. Timestamp Enricher

Use the Timestamp Enricher to add a timestamp indicating the upload time of a specific column when sending data from Zeotap CDP to a destination platform. This helps track data freshness, ensures accurate reporting, and supports time-sensitive processing. For example, if you are sending user activity logs to an analytics platform, you can add a timestamp column to indicate when each record was ingested.

Use Cases

  • Enable time-sensitive processing by external platforms – If a marketing automation tool needs to trigger campaigns based on the latest user interactions, adding a timestamp ensures that actions are taken on the most recent data.
  • Maintain audit logs for compliance and reporting – If you need to track when user data is sent to an external platform for regulatory compliance, adding a timestamp provides a clear audit trail for reporting and verification.
  • Optimise real-time bidding (RTB) in advertising platforms – If you are sending audience segments to an advertising platform for RTB, adding a timestamp ensures that bids are placed based on the most up-to-date audience data.
  • Improve attribution modeling in analytics platforms – If an analytics tool is calculating conversion paths, adding a timestamp helps accurately attribute actions to the correct time period, improving the accuracy of performance reports.
  • Synchronise data processing in ETL pipelines – If a destination platform processes data in batches, adding a timestamp ensures that records are correctly sequenced and processed in the intended order.

Using Timestamp Enricher in Destination Mapping

Add a timestamp to indicate the upload time of a specific column from Zeotap CDP to the platform. To use this feature, perform the following steps:
1
Navigate to the Destination Mapping screen.
2
Click the Add Enricher icon next to the desired Catalogue field.
3
In the Select Your Enricher Type window, choose Timestamp.
4
Select the preferred time format from the available options.
5
Click Save to apply the timestamp.

3. Custom Enricher

Use the Custom Enricher to modify catalogue field values before sending data from Zeotap CDP to a destination platform. This feature enables data transformations such as formatting, mapping, and computation and so on for better usage of data on the destination platform. For example, if a destination platform requires hashed user IDs for security purposes, use the Custom Enricher to apply SHA-256 hashing before sending the data.

Build Your Own Directive (BYOD)

You can define your own directives using CDAP Wrangler Directives and Apache Commons JEXL expression, which allow operations such as formatting, mapping, hashing, extracting data and more. Perform the following steps to build your own directive suitable for your requirement:
  1. Identify the transformation requirement– Determine the business need, such as standardising text, applying encryption, or extracting specific data.
  2. Select the appropriate directive– Refer to the list of commonly used CDAP Wrangler Directives and Apache Commons JEXL expression to choose the correct functions as required for your use case.
  3. Customise the directive for Zeotap CDP– Let’s say you want to use the cut-character directive to extract the first three characters of a field value. In this case, the format of the directive is as below.
cut-character <source> <destination> <type> <range|indexes>
  1. To use this directive in the Destination Mapping screen in Zeotap CDP:
    • Replace <source> with the Zeotap Catalogue’s Database Name (refer to the image below).
    • Replace <destination> with the Custom Destination Field Name (refer to the image below).
    • Define the <type> as character.
    • Specify the <range|indexes> to extract the required substring.
    The updated directive is, cut-character <Zeotap Catalogue’s DB Name> <Custom Destination Field Name> character 1-3
  1. Apply the required prefix– To align with Zeotap CDP’s conventions, add the custom_ prefix to <Custom Destination Field Name>.
The final directive is: cut-character <Zeotap Catalogue’s DB Name> custom_<Custom Destination Field Name> character 1-3 After replacing the placeholders with actual field names, the directive becomes: cut-character user_source_country custom_ country character 1-3
  1. Use the the final directive in the Expression field as shown below and click Save. This extracts the first three characters of a user source country value.
  1. Similarly, you can build your own custom directive specific to your use case.
Note:You need a basic understanding of CDAP Wrangler Directives and Apache Commons JEXL expression for building simple transformations, such as renaming fields or extracting substrings and so on. However, for advanced use cases, such as applying conditional logic or complex data transformations, a strong understanding is recommended. If you need assistance, reach out to our support team for guidance.

Common Use Cases for Custom Enrichers

Below you can find some examples of using the directives for Custom Enricher.

Before you Begin

For all directives used from CDAP Wrangler Directives, ensure that you replace the placeholders as shown below before using them in the Destination Enrichers screen.
  • Replace <source> with the Zeotap Catalogue’s Database Name (refer to the image below).
  • Replace <destination> with the Custom Destination Field Name (refer to the image below).

Use Case 1: Calculate and Send the Count

Let’s say you wish to extract the total count of a user’s preferred product categories. Some platforms require this numerical value to personalise recommendations based on user preferences. For example, if a user has selected [“Electronics”, “Fashion”, “Books”], the enriched output is 3, indicating the number of chosen categories. To achieve this, use the following directive in the Custom Enricher: set-column custom_<Custom Destination Field Name> size(<Zeotap Catalogue’s DB Name>)
  • Replace <Custom Destination Field Name> with the corresponding field name in the destination platform.
  • Replace <Zeotap Catalogue’s DB Name> with the attribute name in the Zeotap database.

Use Case 2: Hash User Data for External Analytics Platforms

Let’s say you want to anonymise user data before sending it to an external analytics platform. Some platforms require hashed identifiers to protect user privacy while enabling analysis. By applying SHA-256 hashing, you can ensure that sensitive data remains secure while still being useful for analytical purposes. For example, if a customer ID is “123456789”, the enriched output is its SHA-256 hashed value, making it untraceable while maintaining uniqueness for analysis. To achieve this, use the following directive in the Custom Enricher: set-column custom_<Custom Destination Field Name> <Zeotap Catalogue’s DB Name> hash custom_<Custom Destination Field Name> SHA-256 true
  • Replace <Custom Destination Field Name> with the corresponding field name in the destination platform.
  • Replace <Zeotap Catalogue’s DB Name> with the attribute name in the Zeotap database.
By applying this transformation, you ensure that user data remains anonymised while complying with data privacy regulations and analytics platform requirements.

Use Case 3: Trim Long Names to Meet Destination Platform Limits (String Subsetting)

Let’s say you want to ensure that customer names comply with the character limit enforced by the destination platform. If the platform only allows a limited number of characters for first names, longer names might be truncated incorrectly or cause data ingestion errors. For example, if the original first name is “Jonathan”, but the platform allows only three characters, you can trim the name to “Jon” while maintaining readability. To achieve this, use the following directive in the Custom Enricher: set-column custom_<Custom Destination Field Name> <Zeotap Catalogue’s DB Name>!=null ? name : '' cut-character custom_<Custom Destination Field Name> custom_<Custom Destination Field Name> 1-3
  • Replace <Custom Destination Field Name> with the corresponding field name in the destination platform.
  • Replace <Zeotap Catalogue’s DB Name> with the attribute name in the Zeotap database.
By applying this transformation, you ensure that names fit within the required length while preserving their uniqueness and usability.

Use Case 4: Normalise Subscription Status for Destination Compatibility

Let’s say you want to standardise subscription status values before sending them to the destination platform. Different data sources may store subscription statuses in varying formats, which can lead to inconsistencies in downstream systems. For example, if one source records the status as “subscribed” while another records it as “active”, the destination platform might not interpret them correctly. To ensure consistency, you can map all active subscription statuses to “true” and inactive ones like “unsubscribed” to “false”. To achieve this, use the following directive in the Custom Enricher: set-column custom_<Custom Destination Field Name> (<Zeotap Catalogue’s DB Name>==null ? null : (string:equalsIgnoreCase(<Zeotap Catalogue’s DB Name>, 'unsubscribed') ? 'false' : 'true'))
  • Replace <Custom Destination Field Name> with the corresponding field name in the destination platform.
  • Replace <Zeotap Catalogue’s DB Name> with the attribute name in the Zeotap database.
By applying this transformation, you ensure that the destination platform receives a consistent and structured subscription status, preventing errors and improving data reliability.

Using Custom Enricher in Destination Mapping

The custom enricher allows you to handle various use cases in a self-serve manner. You can transform data, derive new data points, and add data to the existing dataset. To use this feature, perform the following steps:
1
Navigate to the Destination Mapping screen.
2
Click the Add Enricher icon next to the desired Catalogue field.
3
In the Select Your Enricher Type window, choose Custom.
4
Enter a custom expression under Enter Custom Expression to transform a field, derive new data points, or add data to an existing dataset based on your use case.In the above example, to derive the number of purchased products, we’ve used the following custom expression:
set column custom_product_number size(a_product_list)
Here,
  • set column is a standard function.
  • In ``custom_product_number, product_number is the destination field name prefixed with custom_
  • size(a_product_list) fetches the count of items in the a_product_list field.
5
Click Save to apply the Custom Enricher.
Last modified on February 26, 2026