Overview

Introduction 

The FullTracking Reports API provides access to detailed web analytics data collected by PageSense’s tracking system.
It enables developers and analysts to programmatically fetch visitor activity, engagement metrics, and behavioral insights across pages, devices, geographies, and sessions — the same data powering PageSense dashboards.

These APIs are designed for data export, custom analytics integration, and report automation, giving you complete flexibility to retrieve metrics in the format and granularity you need.

All reports share the same structure for authentication, parameters, and response envelope, differing only by the report_type value in the request body.
Filtering, sorting, pagination, and metric selection are fully supported for flexible querying.


Base URL 

Method-: POST

https://pagesense.zoho.com/pagesense/rest/v1/portal/{portalname}/fulltrackingreport

Authentication 

All Full Tracking Reports API endpoints require a valid OAuth 2.0 access token. Include the token in your request headers as shown below:

Authorization: Zoho-oauthtoken {access_token}

Single POST endpoint that returns reporting data for a project. The desired output is controlled by report_type in the request body:

  • total_stats — high-level totals/KPIs for the range.

  • compute_metrics — row-level metrics aggregated by a chosen dimension

  • time_line — time-series (day-wise) metrics across the date range.


Common request fields

  • start_date (YYYY-MM-DD) — required

  • end_date (YYYY-MM-DD) — required

  • report_type — required (total_stats | compute_metrics | time_line)

  • primary_dimension — The dimension used to aggregate data, required for compute_metrics (examples: currenturl, referrer, country, device_type, os, browser, query)

  • metrics — array of metric keys (e.g., page_views, unique_page_views, average_time_on_page, bounce_rate, sessions, users, goal_completions)

  • sort_by, sort_type — sorting for compute_metrics

  • data_per_page, page_number — pagination for compute_metrics

  • multisegment_criteria, full_tracking_required_criteria — optional advanced filters


Using Primary Dimension and Metrics

The primary_dimension parameter defines how the returned analytics data is grouped and aggregated in your FullTracking API response.
It allows you to analyze performance metrics across different contextual dimensions—such as URLs, locations, devices, or UTM parameters.

Each record in the response represents a unique value of the selected primary_dimension with its corresponding aggregated metrics (like page_views, exit_rate, etc.).

When you specify a value for primary_dimension, PageSense groups all tracked data by that attribute before calculating metrics.
For example:

  • primary_dimension = currenturl → groups data by each page URL.  

  • primary_dimension = country → groups by visitor’s country.  

  • primary_dimension = utm_campaign → groups by campaign tag associated with the session.


A typical API response includes the following top-level fields:

Copied{
  "status_code": "10000",
  "status_string": "Operation completed successfully"
  "timeTakenToProcessTheResult": "<time in ms>"
}

Errors follow this pattern:

Copied{
  "status_code": <error code>,
  "message": "error"
}

Common validation rules (enforced across report types)

  • Dates must be YYYY-MM-DD, start_date <= end_date.

  • Each API call supports only one primary_dimension. To analyze across multiple dimensions (e.g., utm_campaign and device), make separate API calls.

  • UTM keys are case-insensitive and values are URL-decoded automatically.Trailing spaces and control characters are stripped.

  • If report_type = compute_metrics, primary_dimension is required.

  • sort_by must be one of requested metrics.

  • data_per_page capped (e.g., ≤100).

  • Date range limit (e.g., 90 days) enforced for heavy queries — longer ranges should use async jobs (we can document that later).