User Data Model
Introduction
At Refiner, we distinguish between two types of data stored in your Refiner environment. First, there is configuration data such as surveys, dashboards, segments, alerts, etc.
Secondly, there is user data which consists of user profiles, survey responses, user traits and tracked events.
Keeping your user data safe and available is our highest priority. You can read more about data security and compliance at Refiner here.
In the settings of your environment, you’ll find a Data Index that gives you a quick overview and access to all user data in your account.
User data consists of the following four types of data objects.
User profiles
User profiles are the top level object for user data. They are automatically created when you identify a user with our web-client, mobile SDKs, or backend APIs. User profiles are also created when an anonymous user views a survey for the first time.
The user profile object holds meta data such as a user ID and timestamps. User profiles usually contain multiple data traits, survey responses and tracked events. A user profile can be a member of one or multiple user segments.
User profiles can also be grouped into accounts when calling the identifyUser method. This is an advanced option though and not needed in most situations.
Survey responses
Survey responses are created when a user interacts with a survey. A survey response is always linked to a user profile.
The survey response data object holds timestamps such as first viewed at, completed at, dismissed at, etc.
Survey responses usually also include response data provided by a user, as well as contextual data that was attached to the response. Survey response data is stored in the same way as user profile data using Traits (see below).
By default, Refiner stores survey response data after every step of a survey. In the event that a user abandones a survey half way through, you’ll still see their answers to the first questions in your Refiner dashboard. Read more about “Partial Responses” here.
User traits
Traits are used to store user profile data, as well as survey response data. Traits are basically just a description of the data that we store in our database. Traits can be strings, numbers, boolean values or dates.
Traits are automatically generated whenever we receive data for a user profile. For example when you call the identifyUser method or our web-client, or a survey response is recorded.
You can see and manage all traits on a dedicated Traits page.
Tracked events
Next to importing user traits, Refiner also lets you track behavioral data. For example, when a user performs certain actions in your app, you can send that info information to Refiner in form of User Events. Tracked events can then be used to to launch in-product surveys or segment your user list based on user behaviour.
An event description is automatically created whenever we track an event for the first time. You can view and manage all event description on the Events page.