Technical DocRaw Data API

Raw Data API

The Contentsquare Raw Data API is organized around REST. Our API has predictable resource-oriented URLs, accepts form-encoded request bodies, returns JSON-encoded responses, and uses standard HTTP response codes, authentication, and verbs.

Not a developer? Please contact your CSM. They will direct you to the best solution to meet your data needs.

What is Contentsquare?

Contentsquare is a next-gen Analytics tool that helps you understand how and why your users are interacting with your app, mobile and websites.

Contentsquare allows its clients to create and manage export jobs to extract raw data that we rely on for our analytics. For a complete documentation of how to create jobs in the Contentsquare platform, please refer to the documentation included in the help center or provided by your CSM.

By extracting raw data in downloadable files, clients can perform their own analyses for various use cases (e.g. business intelligence, data science). And they can store this data in their own infrastructure, allowing to go beyond the contractual data retention period provided by Contentsquare.

What this API is about

The purpose of this API is not to create nor to update export jobs. Those editing tasks can only be performed by administrators in the Contentsquare console.

This API allows for drilling through all the created export jobs, and to download the files generated by those jobs.

This API allows for extracting raw data, as opposed to aggregated data. If you need to retrieve the aggregated data of your Contentsquare analyses modules, you should rather use the Metrics API.

You can extract raw data at the pageview or session level.

To understand how the export API works, you should understand the basic objects that you will manipulate via the provided endpoints.

What is a job?

A job is the abstract definition of an extraction task. A job definition includes:

  • a name for the job
  • a file format ("CSV", "CSVWithNames" or "JSONEachRow")
  • a scope ("sessions" or "views")
  • a frequency ("daily" or "once"): a daily job will run every day to extract the last day of data (the job is triggered every day at midnight UTC + 4 hours); a "once" job is triggered immediately after creation or is queued if another once job is running.
  • a date range: only required for a "once" job, and not to exceed 7 days; not required for daily jobs (extraction is automatically run for the last day everyday)
  • fields to extract (e.g session_id): extractable fields will depend on the scope
  • filters (e.g "deviceId")

What is a job run?

A job run is a specific instance of a job. For example, if a daily job has been defined, a job run represents the execution of this job on a specific day.

What is a job run part?

Job runs will generate several files to be downloaded. A job run part corresponds to a specific file.

Authentication

The Contentsquare Raw Data API uses API keys to authenticate requests. You can view and manage your API keys in the Contentsquare with administrator rights console.

This API requires an API key at the project level.

Your API keys carry many privileges, so be sure to keep them secure! Do not share your API keys in publicly accessible areas such as GitHub, client-side code, and so forth.

Authentication to the API is performed via Bearer auth. Provide your API key as the basic auth username value. You do not need to provide a password. Use "Authorization: Bearer YOUR_API_KEY" in your HTTP request header.

All API requests must be made over HTTPS. Calls made over plain HTTP will fail. API requests without authentication will also fail.

Limits

  • You cannot create more than 5 API keys per project.
  • The data retention period for the generated files is 7 days. Passed this period, you will not be able to download them anymore. If you missed some files from a daily job for example, keep in mind that you can still create a one-time ("once") job to retrieve the data a posteriori.
  • For one-time jobs, you cannot extract data for a date range including more than 7 days.

Enumerations

You will find below a summary table of the enumerations used in the request or response payloads.

deviceId (integer)
  • -1: All devices
  • 0: Unknown
  • 1: Desktop
  • 2: Mobile (Web)
  • 3: Tablet (Web)
  • 4: Mobile (App)
  • 5: Tablet (App)
format (string)Required. Beginning of date range for analysis.
  • CSV: CSV without headers
  • CSVWithNames: CSV with first row as headers
  • JSONEachRow: a file format with one line per row of data, each row being a JSON object
frequency (string)
  • daily: daily job
  • once: one-time job
scope (string)
  • sessions: to extract session-level data
  • views: to extract pageview-level data
state (string)
job state
  • ACTIVE: active jobs (as opposed to SUSPENDED for daily jobs).An active job will execute job runs. A one-time "once" job in ACTIVE status is a job queued waiting for execution.
  • COMPLETED: for completed one-time ("once") jobs (not relevant for daily jobs
  • COMPUTING: for running one-time ("once") jobs
  • DELETED: for deleted jobs
  • SUSPENDED: for deactivated daily jobs (as opposed to ACTIVE); only relevant for daily jobs. A suspended job will not execute job runs.
state (string)
job run state
  • CREATED: for job runs created and not yet RUNNABLE
  • FAILURE: for job runs terminated with an error
  • RUNNABLE: for job runs ready-to-execute
  • RUNNING: for deleted jobs
  • SUCCESS: for job runs completed with success

Endpoints reference

API key information

/v1/me

This endpoint provides information about the current API Key and the related project.

Example of response

{
  "payload": {
    "keyName": "Contentsquare customer test",
    "projectId": 162,
    "projectName": "Contentsquare.com",
    "createdAt": "2019-09-04T13:22:17.000Z"
  },
  "success": true
}

Get the list of all export jobs

GET /v1/exports

This endpoint provides the list of all the available export jobs (be they in status active, suspended, computing or completed).

Parameters

format (string)Optional. To filter based on the export format (see enumeration details in the "Enumerations" section above)
frequency (string)Optional. To filter based on the export frequency (see enumeration details in the "Enumerations" section above)
limit (integer)Optional. To change the page size of results (25 by default, 100 max).
order (string)Optional. To change the order of the results list ("ASC" or "DESC", "DESC" by default). Ordering is based on the jobId.
page (integer)Optional. The page of results to retrieve.
scope (string)Optional. To filter based on the job scope (see enumeration details in the "Enumerations" section above)
state (string)Optional. To filter based on the job status (see enumeration details in the "Enumerations" section above)

Example of response

{
  "payload": [
    {
      "jobId": 0,
      "name": "string",
      "ownerId": 0,
      "lastUpdatorId": 0,
      "accountId": 0,
      "nextFrom": "2021-05-02T16:22:43.439Z",
      "nextTo": "2021-05-02T16:22:43.439Z",
      "projectIds": [0],
      "state": "ACTIVE",
      "createdAt": "2021-05-02T16:22:43.439Z",
      "format": "JSON",
      "scope": "views",
      "frequency": "string",
      "fields": [
        {
          "fieldName": "string",
          "aliasName": "string"
        }
      ],
      "lastRunTime": "2021-05-02T16:22:43.439Z",
      "nextRunTime": "2021-05-02T16:22:43.439Z",
      "updatedAt": "2021-05-02T16:22:43.439Z",
      "filters": {
        "deviceId": 0
      }
    }
  ],
  "success": true
}

nextFrom and nextTo represents the next date range that will be extracted, while lastRunTime and nextRunTime indicates when the last and next execution started / will start.

Get the list of all successful job runs

GET /v1/exports/successful-runs

This endpoint provides the list of all the jobs runs that completed successfully. It is useful to quickly find which jobs have generated extraction files to be downloaded.

Parameters

limit (integer)Optional. To change the page size of results (25 by default, 100 max).
order (string)Optional. To change the order of the results list ("ASC" or "DESC", "DESC" by default). Ordering is based on the jobId.
page (integer)Optional. The page of results to retrieve.

Example of response

{
  "payload": [
    {
      "jobId": 0,
      "jobRunId": 0,
      "name": "string",
      "projectIds": [0],
      "from": "2021-05-02T16:40:14.022Z",
      "to": "2021-05-02T16:40:14.022Z",
      "completionTime": "2021-05-02T16:40:14.022Z",
      "format": "JSON",
      "scope": "views",
      "frequency": "string",
      "nbOfFiles": 0
    }
  ],
  "success": true
}

Get a specific job

GET /v1/exports/{jobId}

This endpoint allows for retrieving a specific job with its ID.

Parameters

None.

Example of response

{
  "payload": {
    "jobId": 0,
    "name": "string",
    "ownerId": 0,
    "lastUpdatorId": 0,
    "accountId": 0,
    "nextFrom": "2021-05-02T16:50:29.301Z",
    "nextTo": "2021-05-02T16:50:29.301Z",
    "projectIds": [0],
    "state": "ACTIVE",
    "createdAt": "2021-05-02T16:50:29.301Z",
    "format": "JSON",
    "scope": "views",
    "frequency": "string",
    "fields": [
      {
        "fieldName": "string",
        "aliasName": "string"
      }
    ],
    "lastRunTime": "2021-05-02T16:50:29.301Z",
    "nextRunTime": "2021-05-02T16:50:29.301Z",
    "updatedAt": "2021-05-02T16:50:29.301Z",
    "filters": {
      "deviceId": 0
    }
  },
  "success": true
}

nextFrom and nextTo represents the next date range that will be extracted, while lastRunTime and nextRunTime indicates when the last and next execution started / will start.

Get the list of all job runs of a job

GET /v1/exports/{jobId}/runs

This endpoint provides the list of all the job runs related to a specific job. The response includes all the extraction files available for download if any (in the files field). The files can be downloaded via the provided URL in the url field. Files will not be available for download after the expirationDate.

Parameters

limit (integer)Optional. To change the page size of results (25 by default, 100 max).
order (string)Optional. To change the order of the results list ("ASC" or "DESC", "DESC" by default). Ordering is based on the jobId.
page (integer)Optional. The page of results to retrieve.
state (string)Optional. To filter based on the job status (see enumeration details in the "Enumerations" section above)

Example of response

{
  "payload": [
    {
      "jobRunId": 0,
      "startDate": "2021-05-02T16:51:51.004Z",
      "state": "CREATED",
      "files": [
        {
          "partId": 0,
          "fileSize": 0,
          "url": "string",
          "expirationDate": "2021-05-02T16:51:51.004Z"
        }
      ],
      "endDate": "2021-05-02T16:51:51.004Z",
      "completionRate": 0
    }
  ],
  "success": true
}

Get a specific job run

GET /v1/exports/{jobId}/runs/{runId}

This endpoint allows for retrieving a specific job run with its ID. The response includes all the extraction files available for download if any (in the files field). The files can be downloaded via the provided URL in the url field. Files will not be available for download after the expirationDate.

Parameters

None.

Example of response

{
  "payload": {
    "jobRunId": 0,
    "startDate": "2021-05-02T16:54:55.983Z",
    "state": "CREATED",
    "files": [
      {
        "partId": 0,
        "fileSize": 0,
        "url": "string",
        "expirationDate": "2021-05-02T16:54:55.983Z"
      }
    ],
    "endDate": "2021-05-02T16:54:55.983Z",
    "completionRate": 0
  },
  "success": true
}

Get the list of all exportable fields

GET /v1/exportable-fields

This endpoint allows for retrieving all fields that can be extracted for a specified scope (the list of fields will depend on the scope).

Parameters

scope (string)Required. To filter based on the job scope (see enumeration details in the "Enumerations" section above)

Example of response

{
  "payload": [
    {
      "name": "string",
      "description": "string",
      "example": "string",
      "aliases": ["string"],
      "parameters": ["string"]
    }
  ],
  "success": true
}

Fields reference

Session-level fields

Summary of available fields

CategoryField
Geographycity
Geographycountry_code
Geographylanguage
Identifiersproject_id
Identifiersuser_id
Mobile (CS App)app_events.event_name
Mobile (CS App)app_events.event_time
Mobile (CS App)app_events.event_type
Mobile (CS App)app_events.view_number
Mobile (CS App)app_version
Mobile (CS App)density
Mobile (CS App)manufacturer
Mobile (CS App)model
Mobile (CS App)os_version
Sessiondynamic_vars_int_in_session.key
Sessiondynamic_vars_int_in_session.value
Sessiondynamic_vars_string_in_session.key
Sessiondynamic_vars_string_in_session.value
Sessionis_recorded
Sessionsession_add_to_cart_items.add_to_cart_time
Sessionsession_add_to_cart_items.add_to_cart_view_number
Sessionsession_add_to_cart_items.catalog_id
Sessionsession_add_to_cart_items.is_in_transaction
Sessionsession_add_to_cart_items.product_id_hashed
Sessionsession_add_to_cart_items.sku
Sessionsession_date
Sessionsession_duration_msec
Sessionsession_id
Sessionsession_number
Sessionsession_number_of_transactions
Sessionsession_number_of_views
Sessionsession_replay_link
Sessionsession_time
Sessionsession_transaction_items.catalog_id
Sessionsession_transaction_items.id
Sessionsession_transaction_items.product_id_hashed
Sessionsession_transaction_items.quantity
Sessionsession_transaction_items.revenue_cents
Sessionsession_transaction_items.sku
Sessionsession_transaction_items.transaction_time
Sessionsession_transaction_items.transaction_view_number
Sessionsession_transactions_revenue_cents
Sessionreferer_url
Technologybrowser_major_version
Technologybrowser_name
Technologybrowser_version
Technologydevice_id
Technologyplatform_name
Technologyplatform_version
Technologyscreen_height
Technologyscreen_width

Geography

city

City associated to the user.

Data typeExample value
StringParis
country_code

Country associated to the user.

Data typeExample value
StringFR
language

Language associated to the user.

Data typeExample value
Stringfr

Identifiers

project_id

Unique project identifier.

Data typeExample value
Integer42
user_id

Unique user identifier. This identifier is saved within a cookie named _cs_id which has a lifetime of 13 months.

Data typeExample value
Integer5066017809039612144

Mobile (CS App)

Those fields are only available for Apps projects.

app_events.event_name

List of the app event names. Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(String)['appStartEvent', 'appShowEvent', 'appHideEvent']
app_events.event_time

List of dates and UTC times of the app events. Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(String)['2020-06-24 17:07:42', '2020-06-24 17:07:42', '2020-06-24 17:08:53']
app_events.event_type

List of the app events types related to the session:

  • 0: app start
  • 1: app show
  • 2: app hide

Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(Integer)[0, 1, 2]
app_events.view_number

The pageview number related to the event. Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(Integer)[0, 0, 1]
app_version

The client app version.

Data typeExample value
Integer2814771241943040
density

Pixel density measured in PPI, i.e. to the number of Pixels Per Inch on the display.

Data typeExample value
Float38912.312
manufacturer

The mobile device manufacturer.

Data typeExample value
StringHUAWEI
model

The mobile device model.

Data typeExample value
StringSNE-LX1
os_version

Version of Android or iOS used by the visitor (iOS 13.1. or iOS 13.2 etc.)

Data typeExample value
Integer2251799813685248

Session

dynamic_vars_int_in_session.key

Array of keys of integer dynamic variables extracted from the website datalayer. Each variable has the same index in all dynamic_vars_int_in_session.* fields.

Data typeExample value
Array(String)['VAR_name_123', VAR_name_456']
dynamic_vars_int_in_session.value

Array of values of integer dynamic variables extracted from the website datalayer. Each variable has the same index in all dynamic_vars_int_in_session.* fields.

Data typeExample value
Array(Integer)[123, 456]
dynamic_vars_string_in_session.key

Array of keys of string dynamic variables extracted from the website datalayer. Each variable has the same index in all dynamic_vars_string_in_session.* fields.

Data typeExample value
Array(String)['VAR_name_123', VAR_name_456']
dynamic_vars_string_in_session.value

Array of values of string dynamic variables extracted from the website datalayer. Each variable has the same index in all dynamic_vars_string_in_session.* fields.

Data typeExample value
Array(String)['VAR_value_123', 'VAR_value_456']
is_recorded

For Session Replay, indicates whether the session was recorded (1) or not (0). This field can only be exported for projects with access to Session Replay.

Data typeExample value
Integer1
session_add_to_cart_items.add_to_cart_time

Those values are populated when sending an add to cart event to Contentsquare.

Array of the datetimes when the items were added to cart. Each item has the same index in all session_add_to_cart_items.* fields.

Data typeExample value
Array(String)['2020-06-24 17:07:42', '2020-06-24 17:07:42', '2020-06-24 17:08:53']
session_add_to_cart_items.add_to_cart_view_number

Those values are populated when sending an add to cart event to Contentsquare.

Array of the page view numbers (position in session) from which items were added to cart. Each item has the same index in all session_add_to_cart_items.* fields.

Data typeExample value
Array(Integer)[2, 5, 3]
session_add_to_cart_items.catalog_id

Those values are populated when sending an add to cart event to Contentsquare.

Array of the catalog identifiers of the items added to the cart. Will be 0 if the project has no Merchandising catalog set-up. Each item has the same index in all session_add_to_cart_items.* fields.

Data typeExample value
Array(Integer)[71893, 0, 991893]
session_add_to_cart_items.is_in_transaction

Those values are populated when sending an add to cart event to Contentsquare.

Array of the booleans indicating whether the items added to cart were purchased (1) or not (0). Each item has the same index in all session_add_to_cart_items.* fields.

Data typeExample value
Array(Integer)[0, 0, 1]
session_add_to_cart_items.product_id_hashed

Those values are populated when sending an add to cart event to Contentsquare.

Array of the items' hashed identifiers. Will be '0' if the project has no Merchandising catalog set-up. Each item has the same index in all session_add_to_cart_items.* fields.

Data typeExample value
Array(String)['3976139', '0', '30230O013']
session_add_to_cart_items.sku

Those values are populated when sending an add to cart event to Contentsquare.

Array of the SKUs of the items added to cart. Each item has the same index in all session_add_to_cart_items.* fields.

Data typeExample value
Array(String)['987897849120', '47807017348784']
session_date

Session start date.

Data typeExample value
String2020-07-26
session_duration_msec

Session duration in milliseconds.

Data typeExample value
Integer881633
session_id

Unique session identifier.

Data typeExample value
Integer5066017809039605767
session_number

The number of sessions of the user (takes into account how many times the user visited before).

Data typeExample value
Integer7
session_number_of_transactions

Number of transactions placed during the session.

Data typeExample value
Integer2
session_number_of_views

The number of page views in the session.

Data typeExample value
Integer5

The session replay link, if the session was recorded (see is_recorded field). This field can only be exported for projects with access to Session Replay.

Data typeExample value
Stringhttps://app.contentsquare.com/quick-playback/index.html?pid=...
session_time

Session start date and UTC time.

Data typeExample value
String2020-07-26 05:53:04
session_transaction_items.catalog_id

Those values are populated when sending a transaction event to Contentsquare.

Array of the catalog identifiers of the purchased items. Will be 0 if the project has no Merchandising catalog set-up. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(Integer)[71893, 0, 991893]
session_transaction_items.id

Those values are populated when sending a transaction event to Contentsquare.

Array of the transactions identifiers. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(String)['ABC287632', 'ABC1290873']
session_transaction_items.product_id_hashed

Those values are populated when sending a transaction event to Contentsquare.

Array of the items' hashed identifiers. Will be '0' if the project has no Merchandising catalog set-up. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(String)['3976139', '0', '30230O013']
session_transaction_items.quantity

Those values are populated when sending a transaction event to Contentsquare.

Array of the purchased quantity of the items. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(Integer)[2, 4, 1]
session_transaction_items.revenue_cents

Those values are populated when sending a transaction event to Contentsquare.

Array of the revenues (in cents) of the purchased items. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(Integer)[89211, 450]
session_transaction_items.sku

Those values are populated when sending an add to cart event to Contentsquare.

Array of the SKUs of the purchased items. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(String)['987897849120', '47807017348784']
session_transaction_items.transaction_time

Those values are populated when sending a transaction event to Contentsquare.

Array of the datetimes when the items were purchased. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(String)['2020-06-24 17:07:42', '2020-06-24 17:07:42', '2020-06-24 17:08:53']
session_transaction_items.transaction_view_number

Those values are populated when sending a transaction event to Contentsquare.

Array of the page view numbers (position in session) from which items were purchased. Each item has the same index in all session_transaction_items.* fields.

Data typeExample value
Array(Integer)[2, 5, 3]
session_transactions_revenue_cents

Total revenue generated by the session (in US dollar cents).

Data typeExample value
Integer37655
referer_url

The referring URL to the first page view of the session.

Data typeExample value
Stringhttps://www.google.fr/

Technology

browser_major_version

The browser major version.

Data typeExample value
Integer83
browser_name

The browser name.

Data typeExample value
StringChrome
browser_version

The browser version.

Data typeExample value
String83.0.4103.116
device_id

Unique device identifier:

  • 0: Unknown
  • 1: Desktop
  • 2: Mobile (Web)
  • 3: Tablet (Web)
  • 4: Mobile (App)
  • 5: Tablet (App)
Data typeExample value
Integer2
platform_name

The operating system name.

Data typeExample value
StringWindows
platform_version

The operating system version.

Data typeExample value
Integer10
screen_height

The screen height in pixels.

Data typeExample value
Integer700
screen_width

The screen width in pixels.

Data typeExample value
Integer1280

Pageview-level fields

Summary of available fields

CategoryField
Eventshas_all_interaction_events
Eventspage_events
Eventsraw_clicks.event_time
Eventsraw_clicks.event_type
Eventsraw_clicks.relative_time_ms
Eventsraw_clicks.target_blank_field
Eventsraw_clicks.target_path
Eventstargets_clicks.path
Eventstargets_clicks.sum
Eventstargets_clicks.time_before_msec
Eventstargets_focus.path
Eventstargets_focus.sum
Eventstargets_focus.time_before_msec
Eventstargets_hover.path
Eventstargets_hover.sum
Eventstargets_hover.sum_times
Eventstargets_hover.time_before_msec
Frustrationany_js_error_ind
Frustrationexcessive_hovers_ind
Frustrationfrustration_score
Frustrationis_watchable
Frustrationjs_error_after_click_ind
Frustrationloading_time_ind
Frustrationmultiple_button_interaction_ind
Frustrationmultiple_field_interaction_ind
Frustrationmultiple_used_targets_ind
Frustrationno_clicks_on_page_ind
Frustrationrage_click_all_targets_ind
Geographycity
Geographycountry_code
Geographylanguage
Identifiersproject_id
Identifiersuser_id
Mobile (CS App)app_events.event_name
Mobile (CS App)app_events.event_time
Mobile (CS App)app_events.event_type
Mobile (CS App)app_events.view_number
Mobile (CS App)app_version
Mobile (CS App)density
Mobile (CS App)manufacturer
Mobile (CS App)model
Mobile (CS App)os_version
Mobile (CS App)screen_name
Mobile (CS App)targets_drag.finger_direction
Mobile (CS App)targets_drag.sum
Mobile (CS App)targets_drag_and_flick.finger_direction
Mobile (CS App)targets_drag_and_flick.orientation
Mobile (CS App)targets_drag_and_flick.sum
Mobile (CS App)targets_flick.finger_direction
Mobile (CS App)targets_flick.sum
Mobile (CS App)targets_long_press.sum
Mobile (CS App)targets_tap.responsive
Mobile (CS App)targets_tap.sum
Mobile (CS App)targets_tap.time_before_msec
Pagecustom_vars_view.key
Pagecustom_vars_view.position
Pagecustom_vars_view.value
Pagedocument_height
Pagedocument_width
Pagedom_interactive_after_msec
Pagedocument_width
Pagedynamic_vars_int_in_view.key
Pagedynamic_vars_int_in_view.value
Pagedynamic_vars_string_in_view.key
Pagedynamic_vars_string_in_view.value
Pagefully_loaded
Pageis_first
Pageis_last
Pagelast_hover_path
Pagepage_interaction_time_msec
Pagepath
Pageprefix
Pagequery
Pagescheme
Pagescroll_rate
Pagestart_render
Pageurl
Pageurl_no_params
Pageview_duration_msec
Pageview_number
Pageview_time
Pageviewports.bottom_screen_position
Pageviewports.exposition_time_msec
Pageviewports.top_screen_position
Pagewindow_height
Pagewindow_width
Sessionis_recorded
Sessionsession_date
Sessionsession_duration_msec
Sessionsession_id
Sessionsession_number
Sessionsession_number_of_transactions
Sessionsession_number_of_views
Sessionsession_replay_link
Sessionsession_time
Sessionsession_transactions_revenue_cents
Sessionreferer_url
Speed Analysistime_to_first_byte
Speed Analysisfirst_contentful_paint
Speed Analysislargest_contentful_paint
Speed Analysiscumulative_layout_shift
Speed Analysisfirst_input_delay
Technologybrowser_major_version
Technologybrowser_name
Technologybrowser_version
Technologydevice_id
Technologyplatform_name
Technologyplatform_version
Technologyscreen_height
Technologyscreen_width

Events

has_all_interaction_events

If we got all kinds of events (clicks, mouse moves etc.) on the page, value is 1, else 0.

Data typeExample value
Integer0
page_events

List of page events.

Data typeExample value
Array(String)['Config: Release_20201112','FB_MD_Feedback Submitted']
raw_clicks.event_time

The list of the dates and UTC times of the click events. Each event has the same index in all raw_click.* fields.

Data typeExample value
String['2020-07-26 05:53:04', '2020-07-26 05:54:22']
raw_clicks.event_type

The list of the raw events types. Can be either:

  • 5: CLICK
  • 10: CHANGE
  • 11: FOCUS
  • 12: BLUR

Each event has the same index in all raw_click.* fields.

Data typeExample value
Array(Integer)[5, 11]
raw_clicks.relative_time_ms

Number of milliseconds between the beginning of the view and each of the raw events. Each event has the same index in all raw_click.* fields.

Data typeExample value
Array(Integer)[3981, 1782]
raw_clicks.target_blank_field

Whether the event was an interaction with a blank field in a form. Can be either:

  • 0: Not applicable
  • 1: False
  • 2: True

Each event has the same index in all raw_click.* fields.

Data typeExample value
Array(Integer)[1, 2]
raw_clicks.target_path

The list of the paths that were clicked. Each event has the same index in all raw_click.* fields.

Data typeExample value
Array(String)['html:eq(0)>form:eq(0)>div:eq(0)>button:eq(0)', 'html:eq(0)>button:eq(0)']
targets_clicks.path

The list of the paths of the target zone. Each target has the same index in all targets_clicks.* fields.

Data typeExample value
Array(String)['html:eq(0)>form:eq(0)>div:eq(0)>button:eq(0)', 'html:eq(0)>button:eq(0)']
targets_clicks.sum

The number of times the target was clicked on (aggregation of raw_clicks). Each target has the same index in all targets_clicks.* fields.

Data typeExample value
Array(Integer)[2, 1]
targets_clicks.time_before_msec

The delay between the loading of the page and the time the user clicked on the target for the first time (in milliseconds). Each target has the same index in all targets_clicks.* fields.

Data typeExample value
Array(Integer)[779, 391]
targets_clicks.time_between_last_hover_and_first_click

Time before last hover and first click on the target (in milliseconds). Each target has the same index in all targets_clicks.* fields.

Data typeExample value
Array(Integer)[13533, 30791]
targets_focus.path

List of the raw path of the targets. Each target has the same index in all targets_focus.* fields.

Data typeExample value
Array(String)['html:eq(0)>form:eq(0)>div:eq(0)>button:eq(0)', 'html:eq(0)>button:eq(0)']
targets_focus.sum

List of the number of times the target was focused on. Each target has the same index in all targets_focus.* fields.

Data typeExample value
Array(Integer)[2, 5]
targets_focus.time_before_msec

List of times before first focus on a zone (in milliseconds). Each target has the same index in all targets_focus.* fields.

Data typeExample value
Array(Integer)[13533, 30791]
targets_hover.path

List of the raw path of the targets. Each target has the same index in all targets_hover.* fields.

Data typeExample value
Array(String)['html:eq(0)>form:eq(0)>div:eq(0)>button:eq(0)', 'html:eq(0)>button:eq(0)']
targets_hover.sum

List of the number of times the target was hovered on. Each target has the same index in all targets_hover.* fields.

Data typeExample value
Array(Integer)[2, 5]
targets_hover.sum_times

List of the total time the target was hovered on (in milliseconds). Each target has the same index in all targets_hover.* fields.

Data typeExample value
Array(Integer)[2563 ,252]
targets_hover.time_before_msec

List of times before first hover on a zone (in milliseconds). Each target has the same index in all targets_hover.* fields.

Data typeExample value
Array(Integer)[13533, 30791]

Frustration

Those fields are only exportable for projects with an access to the frustration score in Contentsquare.

any_js_error_ind

A normalized score between 0 and 1 to indicate whether any JavaScript error occurred on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float0.27
excessive_hovers_ind

A normalized score between 0 and 2 to indicate whether excessive hovers occurred on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float1.64
frustration_score

A normalized score between 0 and 100 computed based on all other frustration indicators, to express an overall frustration level on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float0.27
is_watchable

Whether the page is considered watchable (1) or not (0). Only pages that are watchable have a frustration score. To be considered watchable, the page view must respect the following conditions:

  • be part of a recorded session (is_recorded = 1)
  • its duration should be at least 2 seconds
  • there should be at least 2 clicks on the page

This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Integer0
js_error_after_click_ind

A normalized score between 0 and 2 to indicate whether any JavaScript error occurred after clicks on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float1.64
loading_time_ind

A normalized score between 0 and 1 to indicate whether loading time was slow on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float0.27
multiple_button_interaction_ind

A normalized score between 0 and 2 to indicate multiple interactions on button targets on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float1.64
multiple_field_interaction_ind

A normalized score between 0 and 2 to indicate multiple interactions on field targets on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float1.64
multiple_used_targets_ind

A normalized score between 0 and 1 to indicate multiple interactions on targets on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float0.27
no_clicks_on_page_ind

A normalized score between 0 and 1 to indicate low activity on the page. This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float0.27
rage_click_all_targets_ind

A normalized score between 0 and 2 to indicate rage clicks (multiple clicks in a short time frame). This field is only exportable for projects with an access to the frustration score in Contentsquare.

Data typeExample value
Float1.64

Geography

city

City associated to the user.

Data typeExample value
StringParis
country_code

Country associated to the user.

Data typeExample value
StringFR
language

Language associated to the user.

Data typeExample value
Stringfr

Identifiers

project_id

Unique project identifier.

Data typeExample value
Integer42
user_id

Unique user identifier. This identifier is saved within a cookie named _cs_id which has a lifetime of 13 months.

Data typeExample value
Integer5066017809039612144

Mobile (CS App)

app_events.event_name

List of the app event names. Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(String)['appStartEvent', 'appShowEvent', 'appHideEvent']
app_events.event_time

List of dates and UTC time of the app events. Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(String)['2020-06-24 17:07:42', '2020-06-24 17:07:42', '2020-06-24 17:08:53']
app_events.event_type

List of the app events types related to the session:

  • 0: app start
  • 1: app show
  • 2: app hide

Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(Integer)[0, 1, 2]
app_events.view_number

The pageview number related to the event. Each app event has the same index in all app_events.* fields.

Data typeExample value
Array(Integer)[0, 0, 1]
app_version

The client app version.

Data typeExample value
Integer2814771241943040
density

Pixel density measured in PPI, i.e. to the number of Pixels Per Inch on the display.

Data typeExample value
Float38912.312
manufacturer

The mobile device manufacturer.

Data typeExample value
StringHUAWEI
model

The mobile device model.

Data typeExample value
StringSNE-LX1
os_version

Version of Android or iOS used by the visitor (iOS 13.1. or iOS 13.2 etc.)

Data typeExample value
Integer2251799813685248
screen_name

The screen name.

Data typeExample value
StringShowroom
targets_drag.finger_direction

List of finger directions related to the swipe events:

  • 1: up
  • 2: down
  • 3: left
  • 4: right
  • 5: complex

Each target has the same index in all targets_drag.* fields.

Data typeExample value
List(Integer)[2, 5]
targets_drag.sum

The number of times the target was swiped.

Data typeExample value
List(Integer)[3, 1]

Each target has the same index in all targets_drag.* fields.

targets_drag_and_flick.finger_direction

List of finger directions related to the swipe or fast swipe events:

  • 1: up
  • 2: down
  • 3: left
  • 4: right
  • 5: complex

Each target has the same index in all targets_drag_and_flick.* fields.

Data typeExample value
List(Integer)[2, 5]
targets_drag_and_flick.orientation

List of orientations related to the swipe or fast swipe events:

  • 0: portrait
  • 1: landscape

Each target has the same index in all targets_drag_and_flick.* fields.

Data typeExample value
List(Integer)[1, 0]
targets_drag_and_flick.sum

Each target has the same index in all targets_drag_and_flick.* fields.

Data typeExample value
List(Integer)[3, 1]

Each value has the same array index as their corresponding targets_drag_and_flick.finger_direction and targets_drag_and_flick.orientation.

targets_flick.finger_direction

List of finger directions related to the fast swiped events:

  • 1: up
  • 2: down
  • 3: left
  • 4: right
  • 5: complex

Each target has the same index in all targets_flick.* fields.

Data typeExample value
List(Integer)[2, 5]
targets_flick.sum

The number of times the target was fast swiped.

Data typeExample value
List(Integer)[3, 1]

Each target has the same index in all targets_flick.* fields.

targets_long_press.sum

List of the number of times the target was long press (a target is considered long pressed after at least 500ms).

Data typeExample value
List(Integer)[3, 1]
targets_tap.responsive

List of values equal to 1 if the App reacted to the tap, else 0. Each target has the same index in all targets_tap.* fields.

Data typeExample value
Aray(Integer)[0, 1]
targets_tap.sum

List of the number of times the target was tapped. Each target has the same index in all targets_tap.* fields.

Data typeExample value
Aray(Integer)[3, 1]
targets_tap.time_before_msec

List of delays between the loading of the page and the time the user tap on the target for the first time (in milliseconds). Each target has the same index in all targets_tap.* fields.

Data typeExample value
Aray(Integer)[31029, 26496]

Page

custom_vars_view.key

Array of keys of custom variables extracted from the website datalayer. Each variable has the same index in all custom_vars_view.* fields.

Data typeExample value
Array(String)['pageType', 'page_error', 'user_logged']
custom_vars_view.position

Array of positions of custom variables extracted from the website datalayer. Each variable has the same index in all custom_vars_view.* fields.

Data typeExample value
Array(Integer)[1, 7, 16]
custom_vars_view.value

Array of values of custom variables extracted from the website datalayer. Each variable has the same index in all custom_vars_view.* fields.

Data typeExample value
Array(String)['catalogsearch_result_index', '200', 'not_logged']
document_height

Page height in pixels.

Data typeExample value
Integer4326
document_width

Page width in pixels.

Data typeExample value
Integer1280
dom_interactive_after_msec

The time in milliseconds required before the user is able to interact with the page (although all resources may not be fully loaded yet).

Data typeExample value
Integer5356
dynamic_vars_int_in_view.key

Array of keys of integer dynamic variables extracted from the website datalayer of the pageview. Each variable has the same index in all dynamic_vars_int_in_view.* fields.

Data typeExample value
Array(String)['VAR_name_123', VAR_name_456']
dynamic_vars_int_in_view.value

Array of values of integer dynamic variables extracted from the website datalayer of the pageview. Each variable has the same index in all dynamic_vars_int_in_view.* fields.

Data typeExample value
Array(Integer)[123, 456]
dynamic_vars_string_in_view.key

Array of keys of string dynamic variables extracted from the website datalayer of the pageview. Each variable has the same index in all dynamic_vars_string_in_view.* fields.

Data typeExample value
Array(String)['VAR_name_123', VAR_name_456']
dynamic_vars_string_in_view.value

Array of values of string dynamic variables extracted from the website datalayer of the pageview. Each variable has the same index in all dynamic_vars_string_in_view.* fields.

Data typeExample value
Array(String)['VAR_value_123', 'VAR_value_456']
fully_loaded

The time in milliseconds required to fully load all the resources of the page, from initiation of the pageview to load completion in the browser.

Data typeExample value
Integer8186
is_first

If the page is the entry page then value is 1, otherwise value is 0.

Data typeExample value
Integer0
is_last

If the page is the exit page then value is 1, otherwise value is 0.

Data typeExample value
Integer1
last_hover_path

The last path the was hovered by the visitor.

Data typeExample value
Stringhtml:eq(0)>body:eq(0)>div:eq(4)>input:eq(0)
page_interaction_time_msec

Interaction time in milliseconds.

Data typeExample value
Integer4967
path

Path of the pageview URL.

Data typeExample value
String/cs-squad-3307216025801.html
prefix

Host of the pageview URL.

Data typeExample value
Stringwww.contentsquare.com
query

Query of the pageview URL.

Data typeExample value
Stringcs=42&lang=fr
scheme

Protocol (HTTP or HTTPS).

Data typeExample value
Stringhttps
scroll_rate

The portion of the page which was displayed (in percentage points).

Data typeExample value
Float61.4
start_render

Timestamp sent by tag when the rendering of the page started.

Data typeExample value
Integer112
url

The complete URL of the page (concatenation of prefix, path and query).

Data typeExample value
Stringhttps://contentsquare.com/?s=ux
url_no_params

The URL of the page excluding query parameters (concatenation of prefix and path).

Data typeExample value
Stringhttps://contentsquare.com/
view_duration_msec

Duration between the page view event time (view_time) and the timestamp of the last interaction event (in milliseconds).

Data typeExample value
Integer49118
view_number

The pageview number in the session.

Data typeExample value
Integer2
view_time

The pageview date and UTC time.

Data typeExample value
String2020-07-26 05:53:04
viewports.bottom_screen_position

Array of bottom positions of the screen of the user. A new value is appended in the array after each scroll event.

Data typeExample value
Array(Integer)[754, 2332, 2620]
viewports.exposition_time_msec

The exposition time in milliseconds of the areas that were exposed to the user. A new value is appended in the array after each scroll event.

Data typeExample value
Array(Integer)[22740, 679, 1338]
viewports.top_screen_position

Array of top positions of the screen of the user. A new value is appended in the array after each scroll event.

Data typeExample value
Array(Integer)[0, 1578, 1866]
window_height

Height of the window in which the page is opened.

Data typeExample value
Integer720
window_width

Width of the window in which the page is opened.

Data typeExample value
Integer1280

Session

is_recorded

For Session Replay, indicates whether the session was recorded (1) or not (0).

Data typeExample value
Integer1
session_date

Session start date.

Data typeExample value
String2020-07-26
session_duration_msec

Session duration in milliseconds.

Data typeExample value
Integer881633
session_id

Unique session identifier.

Data typeExample value
Integer5066017809039605767
session_number

The number of sessions of the user (takes into account how many times the user visited before).

Data typeExample value
Integer7
session_number_of_transactions

Number of transactions placed during the session.

Data typeExample value
Integer2
session_number_of_views

The number of page views in the session.

Data typeExample value
Integer5

The session replay link, if the session was recorded (see is_recorded field).

Data typeExample value
Stringhttps://app.contentsquare.com/quick-playback/index.html?pid=...
session_time

Session start date and UTC time.

Data typeExample value
String2020-07-26 05:53:04
session_transactions_revenue_cents

Total revenue generated by the session (in US dollar cents).

Data typeExample value
Integer37655
referer_url

The referring URL to the first page view of the session.

Data typeExample value
Stringhttps://www.google.fr/

Speed Analysis

Those fields are only exportable for projects with an access to the Speed Analysis module in Contentsquare.

time_to_first_byte

Delay (in milliseconds) between the request for the web page and when the web browser received the first piece of data. This field is only exportable for projects with an access to the Speed Analysis module in Contentsquare.

Data typeExample value
Integer83
first_contentful_paint

Delay (in milliseconds) to render the first piece of content. This field is only exportable for projects with an access to the Speed Analysis module in Contentsquare.

Data typeExample value
Integer196
largest_contentful_paint

Delay (in milliseconds) to render the largest piece of content (part of Core Web Vitals). This field is only exportable for projects with an access to the Speed Analysis module in Contentsquare.

Data typeExample value
Integer297
cumulative_layout_shift

Score about the layout stability of the page rendering (part of Core Web Vitals). This field is only exportable for projects with an access to the Speed Analysis module in Contentsquare.

Data typeExample value
Integer7
first_input_delay

Delay (in milliseconds) between the first user interaction and when the web browser can handle it (part of Core Web Vitals). This field is only exportable for projects with an access to the Speed Analysis module in Contentsquare.

Data typeExample value
Integer42

Technology

browser_major_version

The browser major version.

Data typeExample value
Integer83
browser_name

The browser name.

Data typeExample value
StringChrome
browser_version

The browser version.

Data typeExample value
String83.0.4103.116
device_id

Unique device identifier:

  • 0: Unknown
  • 1: Desktop
  • 2: Mobile (Web)
  • 3: Tablet (Web)
  • 4: Mobile (App)
  • 5: Tablet (App)
Data typeExample value
Integer2
platform_name

The operating system name.

Data typeExample value
StringWindows
platform_version

The operating system version.

Data typeExample value
Integer10
screen_height

The screen height in pixels.

Data typeExample value
Integer700
screen_width

The screen width in pixels.

Data typeExample value
Integer1280