Overview

Schema is a framework to maintain your data, organize, and structure it. It enforces rules to maintain data integrity so that you can avoid data quality issues later. Schema standardizes your data before you even begin using it. Since bad data leads to a high cost in effort and money, you can save a lot of manual effort on tracking your data in the long run.

To preserve data sanity, the schema table stores event and user properties in a pre-defined order. It ensures better output because it enforces standardization of the incoming data and avoids duplication or corruption of data. Better input leads to a better outcome in your campaigns and journeys. It also provides more accurate insights into your data analytics.

Events

You can see your events under Settings > Schema Events. On this page, you can view all the events you are working with, along with editing or discarding to searching and filtering them.

The Events schema has four parts:

Custom Events

Custom events are events that you can define, edit, remove, and so on. These are your app events that you can fully control.

  1. Navigate to Settings > Schema > Events.
  2. Click the Custom events tab.

If you have already defined your events, they are all present on this tab.

1153

View Custom Events

Event DetailDescription
Event nameThe name of the event as it is displayed on the dashboard.
TypeThere are two types:
  • Defined: Events that are part of your schema definition.
  • Undefined: Events that are not defined in the schema but passed to CleverTap.
StatusAn event can have any of the following statuses:
  • Active: An event that has been passed to CleverTap.
  • Inactive: An event that has not yet been passed to CleverTap.
  • Discarded: An event for which all past data has been dropped. Any future data that is passed for the event with the same name will also be dropped.
DRPData retention policy defines the length of time that the data is retained.
This monthThe number of occurrences of the event in the current month.
Last monthThe number of occurrences of the event in the previous month.
CountA count can be an event, event property, or a user property update.
PropertiesAttributes that provide additional context around the event. For more information, refer to Event Property.

Add Event

You can add an event from the Custom events tab.

  1. Navigate to Settings > Schema Events > Custom events.
  2. Click the +Event button to add an event.
  3. Add the event name. This name must be unique in the schema.
Add a Custom Event

Add a Custom Event

For more information, refer to Event Property.

Edit Event

The name cannot be changed after the event is published.

  1. Click the edit icon on the event row.
  2. Edit the event name.
  3. Click the checkmark.

Set Data Retention Policy

The data retention policy (DRP) retains an event for the specified time before discarding it automatically. Your subscription plan will decide the default DRP limit.

  1. Navigate to Settings > Schema > Events.
  2. From the System Events tab, click the ellipsis on the event row and click Set DRP.
  3. Select Custom, then enter your specific time limit.

๐Ÿ“˜

CleverTap Essentials Plan Limit

The default DRP for CleverTap Essentials Plan users is one year, which cannot be changed.

  1. Click Save.
388

Set Data Retention Policy (DRP)

Remove Event

You must be careful before removing an event. If you ever need to remove an event from the schema, remove it from the event row on the Events page. You can only remove an inactive event from your schema; however, the effects are minimal because the event is not active. This action does not drop another event coming in with the same name.

  1. Click the ellipsis menu on the event row.
  2. Click Remove.
1153

Remove an Event

After an event is removed:

  • The entire event row is removed from the schema.
  • If an event comes in with the same name, it is considered an undefined event.

Discard Event

You can discard an active event from the schema. You can still see the event row in the schema; however, it will be marked as discarded.

โ—๏ธ

Caution When Discarding an Event

You can only discard an active event. Exercise extreme caution when discarding an event because this action cannot be undone. This action has an impact on your schema because it purges all data for the discarded event. It also drops any future incoming event with the same name.

  1. Click the ellipsis menu on the event row.
  2. Click Discard.
1126

Discard an Event

Define Event

The events that are passed to CleverTap but not defined are marked as undefined events. You can define these events from the event row. Defining an event marks it as a recognized event in the schema, and therefore, when the event is received, this will not cause any error.

  1. Click the ellipsis menu on the event row.
  2. Select Define Event, and a new window displays.
  3. Click Define & Save.

Publish Schema/Events

To publish the events, perform the following:

  1. Check that you have all the required events.
  2. Click the Publish Events button.
Event NameDescription
Property nameThe name of the property.
TypeThe type of property:
  • Defined: Properties that you have added to the schema.
  • Undefined: Properties that you have not added to the schema and are currently receiving data.
StatusAn event property can have any of the following statuses:
  • Active: An event property that has been passed to CleverTap.
  • Inactive: An event property that has not yet been passed to CleverTap.
  • Discarded: An event property for which all past data has been dropped. Any future data passed for this user property with the same name will also be dropped.
RequiredThis defines whether a property is mandatory for the event.
  • Yes: The property is mandatory. The event is dropped if it is received without the event property.
    Note: Exercise this option with caution. If an event is received without the required property, then the entire event is dropped. This is a powerful option to keep your data clean, but you could drop an existing event if it starts receiving an undefined property.

  • No: The property is optional. The event is allowed even if it is received without the event property.

Data typeThis defines the data type of the event property:
  • String
  • Integer
  • Float
  • Boolean
  • Mixed
  • List
Data type fallbackThe fallback action if the event property is not in the defined format:
  • Drop event: This drops the incoming event if the data type does not match.
    Note: Exercise extreme caution when dropping an event. This action cannot be undone. This action has an impact on your schema because it purges all data for the dropped event. It also drops any future incoming event with the same name.
  • Drop event property: This drops the incoming event property if the data type does not match.
    Note: Exercise extreme caution when dropping an event property. This action cannot be undone. This action has an impact on your schema because it purges all data for the dropped event property. It also drops any future incoming event property with the same name.
  • Allow property: This allows the property even if the data type does not match.
An error is reported for all actions. A drop will have a higher severity, and allow will have a lower severity. For more information, refer to Error Stream.
Created onThe date when the user property was created.
DescriptionThe description of the event property. You can set the description from the ellipsis menu on the event property row. The property is optional. The event is allowed even if it is received without the event property.

๐Ÿ“˜

Effect of Changing the Data Type of an Event or User Property

  • If you change the user or event property's data type, then all the incoming data will be validated as per the schema definition once you publish the changes.
  • The values already present in the old data type will not change in the new data type.
  • For the users who already have the value of the user/event property in the old data type, you will have to again pass the user/event property with the value that will have a new data type.

Add Event Property

To add an event property:

  1. Click the number of properties shown in the Custom events tab
  2. Click +Property, then click Add new.
    You can also add an event property from the catalog by clicking Add from catalog. For more information, refer to Add Columns from a Catalog.
  3. Enter a property name and choose the relevant property details.
  4. Select the checkmark.
1144

Add Event Property

Edit Event Property

You can edit any column; however, you can only edit names for unpublished event properties.

  1. Click the edit icon on the property row from the Custom events tab.
  2. Edit the property name and any other appropriate property details.
  3. Click the checkmark.
1184

Edit Event Property

Remove Event Property

You can remove an unpublished event property.

  1. Click the ellipsis icon on the property row from the Custom events tab.
  2. Click Remove.

After an event property is removed:

  • The entire event property row is removed from the schema.
  • If an event property comes in with the same name, it is considered undefined.

Discard Event Property

You can discard a published event property from the schema. You can still see the event property row in the schema; however, it will be marked as discarded.

  1. Click the ellipsis icon on the property row from the Custom events tab.
  2. Click Discard, and a new window displays.
  3. Click Discard again.
531

Discard Event Property

โ—๏ธ

Caution When Discarding an Event Property

Exercise extreme caution when discarding an event property. This action cannot be undone. This action has an impact on your schema because it purges all data for the discarded event property. It also drops any future incoming event property with the same name.

User Properties

This section shows how to manage your user properties.

  1. Navigate to Settings > Schema > User Properties. All the user properties are listed on this page.
  2. Click any of the properties on the user property row to see the property details.

From this page, you can also search and filter properties.

Property Detail

Description

Property name

The name of the user property.

Type

The type of property:

  • Defined: Properties that you have added to the schema.
  • Undefined: Properties that you have not added to the schema and are currently receiving data.

Status

A user property can have any of the following statuses:

  • Active: A user property that has been passed to CleverTap.
  • Inactive: A user property that has not yet been passed to CleverTap.
  • Discarded: A user property for which all past data has been dropped. Any future data that is passed for this user property with the same name will also be dropped.

Data type

This defines the data type of the user property:

  • String
  • Integer
  • Float
  • Boolean
  • Mixed
  • List

Data type fallback

This includes:

  • Drop user property: This drops the incoming property if the data type does not match.
    Note: Exercise extreme caution when dropping a user property. This action cannot be undone. This action has an impact on your schema because it purges all data for the discarded user property. It also drops any future incoming user property with the same name.
  • Allow property: This allows the property even if the data type does not match.
    An error is reported for all actions. A drop will have a higher severity and allow will have a lower severity. For more information, refer to Error Stream.
Created onThe date when the user property was created.

Add User Property

To add a user property from this page:

  1. Click the +Property button.
  2. Enter a property name and choose a data type.
  3. Click the checkmark.
Add User Property

Add User Property

Edit User Property

You can edit any column; however, you can only edit names for unpublished user properties. To edit a property, click the edit icon on the property row.

  1. Click the edit icon on the property row.
  2. Edit the property name and the data type.
  3. Click the checkmark.
1109

Edit User Property

Remove User Property

You can remove an unpublished property.

  1. Click the ellipsis icon on the property row.
  2. Click Remove.

After a user property is removed:

  • The entire user property row is removed from the schema.
  • If a user property comes in with the same name, it is considered as an undefined user property.

Discard User Property

You can discard a published user property from the schema. You can still see the property row in the schema; however, it will be marked as discarded.

  1. Click the ellipsis icon on the property row.
  2. Click Discard, and a new window displays.
  3. Click Discard again.
525

Discard User Property

โ—๏ธ

Caution When Discarding a User Property

Exercise extreme caution when discarding a user property. This action cannot be undone. This action has an impact on your schema because it purges data for the discarded user property. It also drops any future incoming user property with the same name.

System Events

System events are tracked automatically. CleverTap offers the capability to configure system events, enabling businesses to monitor and analyze user actions in their applications. However, some businesses may not have an immediate need for certain system events, resulting in potentially avoidable expenses. CleverTap allows businesses to configure those unused system events, providing a seamless process to address this issue.

Configure System Events

To configure the tracking of system events:

  1. Navigate to Settings > Schema > Events from the CleverTap dashboard.
  2. Select the event that you want to configure from the System events tab.
  3. Click the icon and select Enable/Disable from the list.
Turn off Toggle to Disable Tracking UTM Visited

Turn Off Toggle to Disable Tracking UTM Visited

Currently, you can enable or disable tracking for the following events from the CleverTap dashboard:

Push Impression

The Push Impression event is tracked when a push notification sent from CleverTap is delivered to a userโ€™s device. After the toggle for Push Impressions is turned on, the CleverTap SDK starts recording an event whenever a push notification sent via CleverTap is delivered to the userโ€™s device.

The Push Impression event has its own event properties and the users can configure these non-required event properties to optimize the cost.

To do so:

  1. Navigate to Settings > Schema > Events from the CleverTap dashboard.
  2. Select the Push Impressions event from the System events tab.
  3. Click the icon and select Setup push impressions from the list.
  4. Turn ON the Mobile Push toggle and click Save. The Push impressions tracking enables message displays on the screen.
Disable Tracking Push Impressions Event

Disable Tracking Push Impressions Event

Disable Event Property Tracking

The users can disable the tracking of some of the Push Impression event properties from the CleverTap dashboard. However, there are a few Push Impression event properties for which you do not have the option to disable the tracking. These are listed as follows:

PropertyProperty DescriptionConfigurable
wzrk_push_ampIndicates whether push amplification is enabled.No
wzrk_pnIndicates whether the push notification is sent from CleverTap.No
CT SourceSpecifies the source of the CleverTap campaign.No
wzrk_idSpecifies the CleverTap campaign ID associated with the notification.No
wzrk_pidSpecifies the unique ID for the push notification.No
wzrk_pivotIndicates the variant used in the A/B test campaign.No
wzrk_acct_idSpecifies the CleverTap Account ID.No
CT App VersionIndicates the version of the CleverTap App.No
wzrk_dtSpecifies the delivery type for the notification.No
wzrk_actsRefers to the CTA button included in the notification.No
wzrk_pn_hIndicates the RenderMax health status of the push notification.No
wzrk_pnIndicates that the notification is sent from CleverTap, if present.No
wzrk_idTracks open rate; may be empty or not present.No
wzrk_bpDisplays an image in the notification if the URL is present.Yes
wzrk_soundPlays the default or custom Android notification sound if present.Yes
ntDisplays the notification title; defaults to app name if absent or empty.Yes
nmDisplays the notification body; ignores the notification if absent or empty.Yes
wzrk_dlOpens the specified deeplink when the notification is clicked, if present.Yes
wzrk_dIgnores the notification if this key is present.No
icoDisplays the small notification icon from the specified URL if present and not empty.Yes
wzrk_pivotIdentifies the variant type in A/B testing if present and not empty..Yes
wzrk_rnvRaises the Push Impressions event if present and not empty.No
wzrk_nmsDisplays summary text with the image if present and not empty.Yes
wzrk_stDisplays subtitle text next to the app name if present and not empty.Yes
wzrk_clrApplies the hex color to the small icon and app name (on Android versions below Pie) if present and not empty.Yes
wzrk_bpdsIndicates the image rendering status with the following values:

  • NO_IMAGE- No image included

  • SUCCESS- Image downloaded successfully

  • NO_NETWORK- Image included but no network connectivity

  • DOWNLOAD_FAILED- Image download failed due to an external error



Yes
wzrk_cidRefers to the channel ID used for the push notification.Yes
wzrk_mutable_contentEnables rendering of rich push notification via extension class if set to true.Yes
wzrk_biSpecifies the badge icon to be displayed in the push notification.Yes
wzrk_bcSpecifies the badge count to be shown on the app icon.Yes
Campaign TypeIndicates the campaignโ€™s channel type (for example, Push, Email, SMS).No
wzrk_ttlSpecifies the time to live (TTL) for the notification.Yes
wzrk_ttl_sSpecifies the time to live for the notification in seconds.Yes
wzrk_ctsRecords the timestamp when the notification is clicked.No
wzrk_ckDefines the collapse key (typically a timestamp) for the notification.Yes
wzrk_collapsibleSpecifies whether the notification is collapsible.Yes
wzrk_categorySpecifies the notification category for APNS (iOS only).Yes
wzrk_interruption_levelSets the interruption level on APNS (iOS only).No
wzrk_relevance_scoreAssigns the relevance score on APNS (iOS only).No

To disable the tracking of Push Impression event properties:

  1. From the System events tab, click the Properties hyperlink. The Push Impressions properties list opens.
Push Impressions Properties List

Push Impressions Properties List

  1. Select the configurable property, click the icon, and select Disable Property from the list. The Enable property tracking popup opens.
Disable Property Tracking

Disable Property Tracking

  1. Click Disable to confirm your action. The Property tracking successfully disabled message displays on the screen. The status of the event property changes to Active. Once disabled, if you want to enable the tracking later, you can do so by clicking the icon and selecting Enable Property from the list.

๐Ÿ“˜

Key Points to Remember

The following are some of the points to consider when configuring the Push Impressions event:

  • The event property tracking feature is not available for required properties.
  • The Status is always Active for mandatory properties.
  • The tracking of configurable properties is enabled by default for new (new users of CleverTap dashboard) or returning users (existing users who turned off push impression feature) of Push Impression feature.
  • For existing users, the tracking of event properties remains as is, however, they have the additional capability to enable/disable tracking for the same.
Web Session Started

This is a web entry event similar to the App launched event. This event refers to the event triggered when a user starts a session or engages with your website. This event will be recorded in two cases:

  • When a user opens a webpage.
  • When a user reloads the browser after 20 minutes of inactivity.

๐Ÿ“˜

Default Behavior

This event is disabled by default for all customers and can be configured by the customers. When enabled, it captures the unique visitors to the website in a particular session.

UTM Visited

The UTM Visited event is tracked when a user clicks on a link from a marketing campaign that has a UTM parameter defined on it. This event is also tracked when a CleverTap-integrated attribution platform, such as AppsFlyer or Branch, sends this information to CleverTap. This event is recorded for your marketing campaigns from external sources, such as Google Ads or Facebook.

๐Ÿ“˜

Deault Behavior

The UTM Visited tracking is ON for new customers by default. For existing customers, the tracking of UTM Visited remains as is. However, they have the capability to enable or disable the same.

๐Ÿ“˜

Configuring Other System Events

For the remaining system events, you can only change the DRP.

Conversion Event

The conversion event helps track conversion.

To set a conversion event:

  1. Navigate to Settings > Schema > Events.
  2. Click the Conversion event tab.

To track revenue, set the user conversion event and revenue property. This property must be a numeric value.

1155

Set Up Conversion Event

Qualifying Event

To set a qualifying event:

  1. Navigate to Settings > Schema > Events.
  2. Click the Qualifying event tab.

This event qualifies users as active if they have performed the event at least once in the defined time.

Currently, the active % tab uses the qualifying event on the Trends page.

1162

Set Qualifying Event

Download Schema Data from Dashboard

You can download the data for all events and user profiles from the CleverTap dashboard or via an API.

Event Data

To download event data from the CleverTap dashboard in CSV format:

  1. Navigate to Settings > Schema > Events. You can download event data from the System events tab or the Custom event tab.
  2. Click the Download as CSV button, then the Download CSV file window displays.
  3. Select to download Events or Events with properties.
  4. Click Download.

User Profile data

To download all event data from the CleverTap dashboard in CSV format:

  1. Navigate to Settings > Schema > User Properties.
  2. Click the Download as CSV button.

Download with API

To download event data or user profile data with API, refer to the following:

Considerations

There are some specific validations when creating events and properties. For more information, refer to Platform Considerations.

FAQs

Q. Can we get all past behavior data for an event after discarding it?

A. No, we cannot get all past behavior data for an event after discarding it.

Q. Does a discarded event appear under the user profile in the user's activity?

A. No, a discarded event does not appear under the user profile in the user's activity.

Q. For how many days can I get the data of discarded events?

A. You will not get any event data after discarding an event. We recommend you export that event before you delete it.

Q: If we disable the UTM Visited event from the schema, can it still be ingested through third-party mediums such as attribution tools like AppsFlyer or Customer Data Platforms (CDPs) like Segment?

A: When the UTM Visited event is disabled from the schema, it is dropped at the processing layer, rendering it inaccessible for ingestion from any third-party medium.