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 Basic Plan Limit

The default DRP for CleverTap Basic 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.

Create Linked Event for User Property

You can link an event with a user property. This allows you to trigger campaigns, conversions, and exits based on changes in user properties. For example, a gaming app has a user property named Game Level that represents a user's progress level in the game. You can link an event named Game Level Upgraded to the Game Level user property. By doing so, any change in this property to a higher level will activate a campaign. The campaign will congratulate the users and grant them a reward or a unique power corresponding to their achievement.

πŸ“˜

Supported Channels and SDK Version

This feature is supported only for offline channels such as Push, SMS, Email, In-App, Webhooks, and remarketing channels such as Google and Facebook ads.

For In-App, CleverTap SDK version 7.0.0 or higher is required.

To link an event with a user property:

  1. Navigate to Settings > Schema > User Property from the CleverTap dashboard.
  2. Click the icon and select Create Linked Event.
  3. Enter the Event Name and click Create Event.
Create Associated Event

Create Linked Event

Create Linked Events in Bulk

You can select multiple user properties at a time and link a required event to it.

To create linked events in bulk:

  1. Select the user properties you want to link and click the icon.
Select User Properties in Bulk

Bulk Link Events

  1. Enter the events you want to link for each user property and click Create.
Create Bulk Raise Events

Create Linked Events in Bulk

Discard Linked Event

You can discard a linked event from the user property.

To discard linked events:

  1. Click the icon of the user property.
  2. Select Discard Linked Event and click Discard.
Discard a Linked Event

Discard a Linked Event

πŸ“˜

Key Points to Remember

The following are the key points to consider when creating linked events:

  • You can link only one event with a user property.
  • You can link events only on active properties.
  • You cannot create a linked event with the same name as a system event.
  • Discarding a linked event from the user property:
    • Delinks the event and the user property.
    • Stops receiving additional data associated with the user property.
    • Does not delete any data.

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_ampPush amplification flagNo
wzrk_pnThe flag to check if the Push is from CleverTap or not.No
CT SourceCleverTap SourceNo
wzrk_idThe ID of the campaign.No
wzrk_pidUnique push notification IDNo
wzrk_pivotVariantNo
wzrk_acct_idCleverTap Account IDNo
CT App VersionCleverTap App VersionNo
wzrk_dtDelivery typeNo
wzrk_actsCTA buttonNo
wzrk_pn_hRenderMax health stateNo

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.