When a user performs an action or some actions are triggered within an app, it generates event data. This data can be sorted and organized according to the characteristics listed in the table. Additionally, every event data instance can be classified based on all session attributes.

For example, when a user taps the login button in the app, it is considered a tap gesture (automatically captured). Additionally, SDK developers can send events and event properties to UXCam to gather more insights about the users' behavior. To send custom events, follow this guide.

Event Endpoints

UXCAM provides two endpoint URLs for retrieving qualitative (Event List) and quantitative (Event Analytics) data for events. The endpoint URLs are:

Event List: https://api.uxcam.com/v2/event

Event Analytics: https://api.uxcam.com/v2/event/analytics

Event Data Attributes

For UXCam Data Access event APIs, all valid attributes that can be used for performing operations such as aggregations, filterings, and groupings based on their data type are listed in the table below.

Event Attribute Table

Attribute CategoryAttribute Data TypeAttribute NameDescription
DateTimeDateTimedate_rangeDateTime when the user used the app and sessions/events are uploaded
DeviceStringapp_versionDevice app version recorded within a given session.
DeviceStringdevice_classClass of the device given by the device size.
DeviceStringdevice_idDevice Ids are randomly generated unique ids for user devices. More info here.
DeviceStringdevice_manufacturerDevice manufacturers recorded within a given session. E.g. Samsung and motorola.
DeviceStringdevice_modelDevice name
DeviceStringdevice_os_versionDevice operating system version
DeviceStringdevice_platformPlatform (iOS or Android) of the user. The value is set to 1 for android users having a device OS as an ANDROID platform. And the value is set to 2 for iOS users having a device OS is an iOS platform.
Session PropertyStringsdk_versionUXCam SDK version on device
Session PropertyBool Stringsession_crashedShow only sessions that are crashed / not crashed. The value is set to true for crashed sessions and false for not crashed sessions.
Session PropertyIntegersession_durationTotal session length in seconds
Session PropertyIntegersession_gesture_countTotal gesture on the individual session
Session PropertyBool String (true/false)session_has_videoIs there a video for the session? Value is set to true and false for sessions with no video.
Session PropertyCountsession_new_users_countTotal new users
Session PropertyIntegersession_number_of_userCount of sessions for the particular user. View user 10th session with UXCamuserid
Session PropertyIntegersession_rage_gesture_countTotal number of rage gestures in the session
Session PropertyIntegersession_responsive_gesture_countTotal number of responsive gestures on the session
Session PropertyIntegersession_screen_countTotal number of screens visited on the session
Session Propertylistsession_screen_listList of screens visited during the session
Session PropertyIntegersession_unique_screen_countTotal number of screens visited on the session
Session PropertyIntegersession_unresponsive_gesture_countTotal number of unresponsive gestures during the session
EventDateTime Stringevent_uploaded_monthDistribution of events by month (relevant to grouping parameter only)
EventDateTime Stringevent_uploaded_weekDistribution of events by week(Mon-Sun) (relevant to grouping parameter only)
EventDateTime Stringevent_uploadedon_dayDistribution of events by days (relevant to grouping parameter only)
UserStringdevice_cityCountry city name based on device IP address. Read for more details about IP Address
UserStringdevice_countryCountry name based on device IP address
UserStringuxcamuseridThe UXCam User ID assigned to the user
UserStringuser_nameRandomly assigned alias for users. Note: This is not the real user name, alias, or ID. More info here.
UserJSONuser_custom_propertyAdditional custom properties attached to sessions
EventStringevent_nameEvent triggered by users on sessions
EventStringevent_screen_nameScreen name on which event happened
EventJSONevent_custom_propertyAdditional properties attach for events on sessions

List Events

Request Parameters

This list events endpoint supports the following query parameters apart from authentication as given in the URL structure below.

For more information on request parameters see the Query parameters section

Structure of API URL:

https://api.uxcam.com/v2/event?appid=<appid>&apikey=<apikey>&filters=<filters>&page=<page number>&page_size=<number of data in single request>

To authenticate the List event API, App ID and API key are required. See authentication for more details.

Example

Response Structure

The List event API provides information about events in several key-value pairs grouped under different keys: session properties data are under the "sessionProperty" key, device information is under the "device" key, user properties are under the "userProperty" key, and event custom properties information is under the "eventProperty" key.

{
  "success": true,
  "data": [
    {
      "eventId": "9d0cb696-65e2-4783-9556-352bfd71009f",
      "eventName": "view product category",
      "eventScreen": "CategoryActivity",
      "eventDate": "2023-01-22T17:31:57Z",
      "eventPropertyTime": 75.926,
      "url": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/sessions/list/1/60f7dd4d46c872001188eb3f",
      "sessionProperty": {
        "sessionId": "60f7dd4d46c872001188eb3f",
        "hasVideo": true,
        "isCrashed": true,
        "durationSec": 98.773,
        "totalGesture": 42,
        "totalScreen": 39,
        "uniqueScreensCount": 7,
        "networkType": "wifi",
        "sessionNumber": 19,
        "country": "USA"
      },
      "userProperty": {
        "kUXCam_UserIdentity": "U#5066",
        "gender": "male",
        "exp_var_key": "test_2",
        "age_group": "10-19",
        "language": "English",
        "loyalty_card": "no",
        "acqn_source": "none",
        "uxcamuserid": "60f7dd46972a633e88696d6b"
      },
      "eventProperty": {
        "category": "Vegetarian, vegan & meat free"
      },
      "device": {
        "model": "JKM-LX1",
        "deviceId": "03c1e123941a19ec",
        "platform": 1,
        "appVersion": "1.5",
        "osVersion": "8.1",
        "producer": "Huawei",
        "class": "Android Large"
      }
    }
  ]
}

Example Requests

List events from the android devices:

https://api.uxcam.com/v2/event?appid=60f6c0b8b97ba419120b82eb&apikey=9c633412-927a-4f4e-87bc-386dc1e3a618&filters=[{"attribute":"device_platform","operator":"equal","value":"1"}]

Analyze Events

This endpoint for analyzing event data offers aggregated numerical data that can be utilized to create statistical graphs and gain valuable insights.

Request Parameters

This event analytics endpoint supports the following query parameters as given in the URL structure below.

  • pagination
  • filters
  • group_by
  • aggregation
  • comparison

For more information on request parameters see the Query parameters section

Structure of API URL:

https://api.uxcam.com/v2/event/analytics?appid=<appid>&apikey=<apikey>&filters=<filters>&aggregation=<aggregation>&group_by=<groupings>&page=<page number>&page_size=<number of data in single request>

To authenticate the event analytics API, app id and API key are required. See authentication for more details.

Example

Response Structure

The event analytics API provides aggregated data of sessions based on the event query, which is grouped by grouping attributes. It gives us all of the session aggregate data in the output so it can be used to plot statistical charts.

{
  "success": true,
  "data": [
    {
      "event_count": 165159,
      "event_unique_user_count": 2993,
      "event_unique_session_count": 12137,
      "dashboard_link": "https://app.uxcam.com/app/60f6c0b8b97ba419120b82eb/events/list/1?date_range={\"o\": \"between_dates\", \"v\": {\"lower\": \"2022-12-24T08:45:42Z\", \"upper\": \"2023-01-23T08:45:42Z\"}, \"tb\": \"event\"}"
    }
  ]
}

Example Requests

Events from device country USA distributed by device model:

To get event analytics data (quantitative) which is grouped with device model from country USA. We need to make the following changes to the structure of the API URL from above.

https://api.uxcam.com/v2/event/analytics?appid=60f6c0b8b97ba419120b82eb&apikey=9c633412-927a-4f4e-87bc-386dc1e3a618&filters=[{"attribute": "device_country","operator": "equal", "value":"USA"}]&group_by=[{"attribute": "device_model", "max_group_number": 50}]&page=1&page_size=100