Schema
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.
- Navigate to Settings > Schema > Events.
- Click the Custom events tab.
If you have already defined your events, they are all present on this tab.
Event Detail | Description |
---|---|
Event name | The name of the event as it is displayed on the dashboard. |
Type | There are two types:
|
Status | An event can have any of the following statuses:
|
DRP | Data retention policy defines the length of time that the data is retained. |
This month | The number of occurrences of the event in the current month. |
Last month | The number of occurrences of the event in the previous month. |
Count | A count can be an event, event property, or a user property update. |
Properties | Attributes 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.
- Navigate to Settings > Schema Events > Custom events.
- Click the +Event button to add an event.
- Add the event name. This name must be unique in the schema.
For more information, refer to Event Property.
Edit Event
The name cannot be changed after the event is published.
- Click the edit icon on the event row.
- Edit the event name.
- 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.
- Navigate to Settings > Schema > Events.
- From the System Events tab, click the ellipsis on the event row and click Set DRP.
- 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.
- Click Save.
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.
- Click the ellipsis menu on the event row.
- Click Remove.
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.
- Click the ellipsis menu on the event row.
- Click Discard.
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.
- Click the ellipsis menu on the event row.
- Select Define Event, and a new window displays.
- Click Define & Save.
Publish Schema/Events
To publish the events, perform the following:
- Check that you have all the required events.
- Click the Publish Events button.
Event Name | Description |
---|---|
Property name | The name of the property. |
Type | The type of property:
|
Status | An event property can have any of the following statuses:
|
Required | This defines whether a property is mandatory for the event.
|
Data type | This defines the data type of the event property:
|
Data type fallback | The fallback action if the event property is not in the defined format:
|
Created on | The date when the user property was created. |
Description | The 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:
- Click the number of properties shown in the Custom events tab
- 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. - Enter a property name and choose the relevant property details.
- Select the checkmark.
Edit Event Property
You can edit any column; however, you can only edit names for unpublished event properties.
- Click the edit icon on the property row from the Custom events tab.
- Edit the property name and any other appropriate property details.
- Click the checkmark.
Remove Event Property
You can remove an unpublished event property.
- Click the ellipsis icon on the property row from the Custom events tab.
- 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.
- Click the ellipsis icon on the property row from the Custom events tab.
- Click Discard, and a new window displays.
- Click Discard again.
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.
- Navigate to Settings > Schema > User Properties. All the user properties are listed on this page.
- 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:
|
Status | A user property can have any of the following statuses:
|
Data type | This defines the data type of the user property:
|
Data type fallback | This includes:
|
Created on | The date when the user property was created. |
Add User Property
To add a user property from this page:
- Click the +Property button.
- Enter a property name and choose a data type.
- Click the checkmark.
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.
- Click the edit icon on the property row.
- Edit the property name and the data type.
- Click the checkmark.
Remove User Property
You can remove an unpublished property.
- Click the ellipsis icon on the property row.
- 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.
- Click the ellipsis icon on the property row.
- Click Discard, and a new window displays.
- Click Discard again.
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:
- Navigate to Settings > Schema > User Property from the CleverTap dashboard.
- Click the icon and select Create Linked Event.
- Enter the Event Name and click Create 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:
- Select the user properties you want to link and click the icon.
- Enter the events you want to link for each user property and click Create.
Discard Linked Event
You can discard a linked event from the user property.
To discard linked events:
- Click the icon of the user property.
- Select Discard Linked Event and click Discard.
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:
- Navigate to Settings > Schema > Events from the CleverTap dashboard.
- Select the event that you want to configure from the System events tab.
- Click the icon and select Enable/Disable from the list.
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:
- Navigate to Settings > Schema > Events from the CleverTap dashboard.
- Select the Push Impressions event from the System events tab.
- Click the icon and select Setup push impressions from the list.
- Turn ON the Mobile Push toggle and click Save. The Push impressions tracking enables message displays on the screen.
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:
Property | Property Description | Configurable |
---|---|---|
wzrk_push_amp | Push amplification flag | No |
wzrk_pn | The flag to check if the Push is from CleverTap or not. | No |
CT Source | CleverTap Source | No |
wzrk_id | The ID of the campaign. | No |
wzrk_pid | Unique push notification ID | No |
wzrk_pivot | Variant | No |
wzrk_acct_id | CleverTap Account ID | No |
CT App Version | CleverTap App Version | No |
wzrk_dt | Delivery type | No |
wzrk_acts | CTA button | No |
wzrk_pn_h | RenderMax health state | No |
To disable the tracking of Push Impression event properties:
- From the System events tab, click the Properties hyperlink. The Push Impressions properties list opens.
- Select the configurable property, click the icon, and select Disable Property from the list. The Enable property tracking popup opens.
- 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:
- Navigate to Settings > Schema > Events.
- Click the Conversion event tab.
To track revenue, set the user conversion event and revenue property. This property must be a numeric value.
Qualifying Event
To set a qualifying event:
- Navigate to Settings > Schema > Events.
- 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.
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:
- Navigate to Settings > Schema > Events. You can download event data from the System events tab or the Custom event tab.
- Click the Download as CSV button, then the Download CSV file window displays.
- Select to download Events or Events with properties.
- Click Download.
User Profile data
To download all event data from the CleverTap dashboard in CSV format:
- Navigate to Settings > Schema > User Properties.
- Click the Download as CSV button.
Download with API
To download event data or user profile data with API, refer to the following:
- Use the Events Schema API to download event data.
- Use the User Properties Schema API to download user profile data.
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.
Updated about 1 month ago