Data Types
Questera’s process begins with ingesting first-party data from the client’s sources. This rich dataset fuels the AI agents’ decision-making. Key data inputs include:
User Event Streams: This includes details like your user's interactions with different features or screens, browsing activity, and clicks on both your website and/or app. In-app or website events (page views, clicks, purchases, etc.) with timestamps and metadata. For example, every time a user views a product or clicks a link, an event is recorded with details like event_name, user_id, and context (e.g. page URL, device).
User Attributes & Profiles: This includes profile data on each individual user, such as their country, language, or registration date. Static and dynamic attributes about each user, such as demographics (country, language), signup date, preferences, and loyalty status. This is essentially a user profile database that Questera uses for segmentation and personalization.
Transactional Data: This includes details like the transaction amount, item name, and price. Records of purchases or conversions (order ID, items, amount, time) which define key conversion events for measuring success.
Questera provides flexible connectors to integrate with your data infrastructure. It supports direct connections to data warehouses, analytics platforms, and customer data platforms. For instance, Questera can securely connect to sources like Snowflake, BigQuery, or S3 to pull batch data, or listen to event streams from tools like Segment or Amplitude in real-time. The platform offers 75+ pre-built integrations for seamless data import, including connections to CRM systems, analytics tools, and cloud storage. Your team simply grants Questera read-access (e.g. via a service account or API key) and the platform’s automated ingestion jobs will continuously sync the required tables/streams. Questera’s backend normalizes and aggregates this data into its unified customer profile store for downstream AI modeling.
Schema Example – Event & Profile Data: Questera expects event data in a structured format. Below is a simplified representation of an ingested event and a user profile entry:
// Example of a user event payload
{
"user_id": "12345",
"event_name": "ProductViewed",
"timestamp": "2025-04-12T18:45:33Z",
"properties": {
"product_id": "SKU-987",
"category": "Electronics",
"referrer": "Homepage Banner"
}
}
// Example of a user profile record
{
"user_id": "12345",
"attributes": {
"signup_date": "2025-01-10",
"country": "US",
"preferred_language": "en",
"loyalty_tier": "Gold"
}
}
These schemas illustrate the kind of first-party data Questera ingests. Event data captures behavioral signals, while profile data provides traits and context. Together, they give a 360° view of each customer. This data layer is the foundation for Questera’s AI agents to make informed decisions.
User event data
Questera's typical engagement removes all the heavy lifting that comes with the data integration. Your teams are only required to share your relevant tables and our internal deployment teams will do all the transformation required to ingest this data into Questera's system.
Background
Event data refers to records of actions or occurrences, often captured as individual events, with details like the type of action, the time it happened, the user or system involved, and other relevant metadata. These events can come from various sources, such as visitor interactions across your web and mobile applications.
Each time an event occurs on your website or mobile app, it's typically stored as a entry into your analytics database or data warehouse. This entry corresponds to a single row that captures all the specific details of the event, contributing to a complete set of clickstream data.
Here is an example of what that able might look like:
How Questera uses event data
Event data provides a rich source of information that can be transformed to help Questera's models understand patterns in user behavior, predict outcomes, and power your personalization initiatives. Once events are ingested into Questera, they are used to create aggregations which are relevant for:
Events generated on the client are ingested in the Questera's system to create aggregations (e.g. number of logins per week, products viewed last month, etc) on top of them, which are then used for:
Qualification Criteria: Define rules to determine which users should receive a treatment and which should not.
Content Personalization: Tailor treatment content by dynamically inserting specific attributes into the messaging.
Enhanced Treatment Selection: Use user attributes to guide the model in selecting the most appropriate treatment for the user.
Machine Learning Features: Features are measurable characteristics of data that are used by the model to make predictions. Think of these as the input variables that help the model understand and learn patterns in the data.
How to structure your events for ingestion
The event data that's ingested into Questera has the following structure:
User attributes
Questera's typical engagement removes all the heavy lifting that comes with the data integration. Your teams are only required to share your relevant tables and our internal deployment teams will do all the transformation required to ingest this data into Questera's system.
Background
User attributes are characteristics or qualities that define and describe a user. These attributes are crucial for personalizing the user experience and enabling targeted treatment recommendations to enhance the overall model impact.
Some common user attributes include:
Demographic information: Age, gender, location, income, education level, etc.
Behavioral information: App usage history, frequency of use, preferred features, etc.
Psychographic information: Personality traits, interests, values, etc.
Technical information: Device type, operating system, browser, etc.
User attributes can be collected through a variety of methods, such as surveys, questionnaires, and app analytics.
How Questera uses user attributes
User attributes can be leveraged in several ways to improve the user experience:
Qualification Criteria: Define rules to determine which users should receive a treatment and which should not.
Content Personalization: Tailor treatment content by dynamically inserting specific attributes into the messaging.
Enhanced Treatment Selection: Use user attributes to guide the model in selecting the most appropriate treatment for the user.
Machine Learning Features: Features are measurable characteristics of data that are used by the model to make predictions. Think of these as the input variables that help the model understand and learn patterns in the data.
User Properties
User properties are attributes and characteristics associated with individual users in your application.
understand user behavior and associate patterns with other users
Segment your audience
personalize experiences and messaging copy.
This documentation outlines common user properties and their usage. This is just a comprehensive list of all possible user properties. You can share whatever data is available in your system and is applicable as per your use-cases.
Core User Properties
Identification Properties
user_id: Unique identifier for the user (e.g., "usr_12345")
anonymous_id: Temporary identifier for users before they sign up (e.g., "anon_789xyz")
notification_token: Notification token of the user for push
Profile Information
full_name: Complete name (e.g., "John Doe")
username: Chosen username (e.g., "johndoe123")
language: Preferred language (e.g., "en-US")
timezone: User's timezone (e.g., "America/New_York")
Demographics
gender: User's gender (e.g., "female", "male", "non-binary")
country: Country of residence (e.g., "United States")
city: City of residence (e.g., "San Francisco")
Account Properties
Subscription Data
plan_name: Current subscription plan (e.g., "premium", "basic", "enterprise")
plan_price: Price of current plan (e.g., 99.99)
billing_interval: Billing frequency (e.g., "monthly", "annual")
trial_end_date: When free trial expires (e.g., "2024-02-15")
subscription_status: Current status (e.g., "active", "canceled", "past_due")
Account Status
account_type: Type of account (e.g., "individual", "business")
account_status: Current standing (e.g., "active", "suspended", "deleted")
created_at: Account creation date (e.g., "2023-01-15T10:30:00Z")
last_login_at: Most recent login timestamp
is_verified: Email verification status (e.g., true/false)
Behavioral Properties
Engagement Metrics
login_count: Number of times logged in (e.g., 42)
last_active_at: Last activity timestamp
total_sessions: Total number of sessions
average_session_duration: Average time per session (in minutes)
Transaction Data
lifetime_value: Total revenue from user (e.g., 599.99)
total_purchases: Number of completed purchases
last_purchase_date: Date of most recent purchase
average_order_value: Average spending per order
payment_method: Preferred payment method (e.g., "credit_card", "paypal")
Industry-Specific Properties
E-commerce Properties
cart_value: Current shopping cart total (e.g., 129.99)
abandoned_cart_count: Number of abandoned carts (e.g., 3)
favorite_categories: Array of preferred shopping categories (e.g., ["electronics", "fashion"])
last_viewed_products: Array of recently viewed product IDs
shipping_addresses: Array of saved delivery addresses
preferred_payment_methods: Array of saved payment methods
wishlist_count: Number of items in wishlist
return_rate: Percentage of returned items (e.g., 2.5)
average_order_frequency: Days between purchases (e.g., 45)
loyalty_points: Current reward points balance (e.g., 500)
vip_tier: Loyalty program level (e.g., "gold", "platinum")
lifetime_value: (users total lifetime value)
currency: (users transaction currency)
Gaming Properties
player_level: Current game level (e.g., 42)
total_playtime: Time spent in game (in hours)
current_rank: Competitive ranking (e.g., "diamond")
achievement_count: Number of completed achievements
preferred_game_modes: Array of favorite modes (e.g., ["battle_royale", "team_deathmatch"])
in_game_purchases: Total spent on virtual items
active_character: Current character/class being used
win_rate: Percentage of games won
last_match_played: Timestamp of last game session
inventory_items: Array of owned virtual items
friend_count: Number of in-game friends
preferred_server: Default game server region
Food Delivery Properties
dietary_preferences: Array of dietary requirements (e.g., ["vegetarian", "gluten-free"])
favorite_cuisines: Array of preferred cuisine types (e.g., ["italian", "thai"])
average_order_size: Typical number of items per order
delivery_address_count: Number of saved addresses
order_frequency: How often they order (e.g., "weekly")
favorite_restaurants: Array of frequently ordered restaurant IDs
last_cuisine_ordered: Type of food in last order
delivery_instructions: Special delivery notes
meal_preferences: Preferred meal types (e.g., ["lunch", "dinner"])
group_order_frequency: How often they place group orders
review_count: Number of restaurant reviews submitted
average_rating: Average rating given to restaurants
Custom Properties
Marketing Data
acquisition_source: How user found you (e.g., "google_ads", "referral")
acquisition_campaign: Specific campaign (e.g., "summer_2024")
email_subscription: Newsletter status (e.g., true/false)
marketing_preferences: JSON object with communication preferences
Event Properties
Event properties capture user interactions and activities within your application. Unlike user properties (which describe who users are), event properties describe what users do. This documentation outlines how to structure and use event properties effectively.
Core Event Structure
Each event in the system follows this data model:
Property
Type
Required
Description
contact_id
String
Yes
A unique user identifier
timestamp
Timestamp
Yes
When the event happened in UTC
event_name
String
Yes
Name corresponding to the triggered event
event_instance_id
String
No
Unique identifier for this specific event instance
metadata
JSON
No
Additional contextual data about the event
Common Event Types
Navigation Events
Events that track how users move through your application:
page_viewed
Metadata:
page_name: Name of the page (e.g., "homepage", "product_detail")
page_url: Full URL of the page
referrer_url: Where the user came from
session_id: Current session identifier
feature_accessed
Metadata:
feature_name: Name of accessed feature (e.g., "search", "filters")
feature_location: Where in the app the feature appears
Transaction Events
Events that track commerce and financial activities:
product_viewed
Metadata:
product_id: Unique product identifier
product_name: Name of the product
product_category: Category of the product
product_price: Current price
currency: Currency code (e.g., "USD")
product_added_to_cart
product_added_to_cart
Metadata:
product_id: Product identifier
quantity: Number of items added
variant_id: Product variant (if applicable)
cart_id: Current cart identifier
cart_value: New total cart value
checkout_started
checkout_started
Metadata:
cart_id: Cart identifier
cart_value: Total value
item_count: Number of items
coupon_code: Applied discount code (if any)
order_completed
Metadata:
order_id: Unique order identifier
order_value: Total value of order
payment_method: Method used (e.g., "credit_card", "paypal")
shipping_method: Chosen shipping option
products: Array of purchased product IDs
quantities: Array of quantities (corresponding to products)
Messaging Events
Events that track communication and notification activities:
message_sent
Metadata:
message_id: Unique identifier for the message
message_type: Type of message (e.g., "text", "email", "push")
recipient_id: ID of the recipient
template_id: If using a template, the template identifier
campaign_id: Associated marketing campaign (if applicable)
message_delivered
message_delivered
Metadata:
message_id: Message identifier
delivery_timestamp: When message was delivered
delivery_status: Status (e.g., "delivered", "failed")
message_opened
Metadata:
message_id: Message identifier
open_timestamp: When message was opened
device_type: Device used to open (e.g., "mobile", "desktop")
message_clicked
message_clicked
Metadata:
message_id: Message identifier
link_id: Identifier for the specific link
link_url: Target URL
click_timestamp: When click occurred
Engagement Events
Events that track how users interact with content:
content_viewed
Metadata:
content_id: Content identifier
content_type: Type of content (e.g., "article", "video")
category: Content category
duration: Time spent viewing (seconds)
video_played
Metadata:
video_id: Video identifier
video_title: Video title
duration: Length of video in seconds
play_position: Starting position in seconds
quality: Selected video quality
Account Events
Events tracking user account activities:
user_registered
Metadata:
registration_method: How they signed up (e.g., "email", "google")
referral_source: Where they came from
initial_plan: Selected plan (if applicable)
user_logged_in
video_played
Metadata:
login_method: Authentication method used
device_type: Type of device used
app_version: Application version
Last updated