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.

  1. understand user behavior and associate patterns with other users

  2. Segment your audience

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