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.

1207
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.
1205

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.
1209

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 for Startups Limit

The default DRP for CleverTap for Startups users is one year and this cannot be changed.

  1. Click Save.
1116

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.
1215

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.
1212

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.
1212

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.

All the new events flowing in will be validated against the new rules set. You will get a confirmation email.

1228

Handle Undefined Data

You can handle all the undefined events simultaneously.

  1. Click the ellipsis menu on the right of +Event.
  2. Select Handle undefined data. The Undefined data settings page displays.
  3. Make your selections, then click Save.
1187

If an undefined event occurs:

  • Allow event: The event can start recording data, even if it is not defined in the schema.
  • Drop event: If the event is not defined in the schema, then it is dropped.

❗️

Caution

Exercise this option with caution. This is a powerful option to keep your data clean, but you may lose unexpected data. This action cannot be undone.

If an undefined event property occurs:
This option is only applicable to defined events that have undefined event properties.

  • Drop event: The event is dropped along with the event property.

❗️

Caution

Exercise this option with caution. If a defined event records an undefined event 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.

  • Drop event property: Only the event property is dropped but the event is allowed.
  • Allow event property: The event property is allowed to start recording data.

📘

Error Note

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.

Event Property

This section shows how to manage your event properties.

  1. Navigate to Settings > Schema > Events.
  2. Click the Custom events tab. All the events are listed on this page.
  3. Click any of the properties on the event row to see the property details.
1192
Property DetailDescription
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.

Add Event Property

To add an event property:

  1. Click the +Property button from the Custom events tab, then click Add new.
  2. Enter a property name and choose the relevant property details.
  3. Click the checkmark.
1155

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.
1179

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.
1215

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.
1210

❗️

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.

1183
Property DetailDescription
Property nameThe name of the user 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.
StatusA 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 typeThis defines the data type of the user property:

String
Integer
Float
Boolean
Mixed
List
Data type fallbackThis 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.
1176

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.
1186

Remove User Property

You can remove an unpublished property.

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

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.
1165

❗️

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. You can only change the DRP for these events and can choose to allow CleverTap to record the push impression event.

1204

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.

1166

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.

The qualifying event is currently used in the active % tab on the Trends page.

1168

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.
1204

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.
1173

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.