hits-by-browser

The following shows how to generate the hits-by-browser report using either the Reporting API's Generate a report POST operation or the Get a cacheable report GET operation. Details about each report's supported products, metrics, filters, and available data intervals are also available dynamically by running the API's Get a report type operation, also shown below. See also other available reports.

Report definition

Returns traffic data by browser.

This report yields the top nine values. Remaining values are grouped as a single record titled Other. Use the dataWrapNumberOfItems parameter to control the number of items to report separately, and the dataWrapLabel parameter to identify the remaining group.

Business object: cpcode

Data available for: 92 days

Available metrics

MetricDescription
Data metrics
successfulHitsThe number of requests returning successful responses.
successfulHitsPercentThe percent of total number of requests returning successful responses for that browser.

POST request

POST /reporting-api/v1/reports/hits-by-browser/versions/1/report-data{?start,​end,​dataWrapNumberOfItems,​dataWrapLabel}

Sample: /reporting-api/v1/reports/hits-by-browser/versions/1/report-data?start​=2020-05-01T00%3A00%3A00Z​&end​=2020-06-01T00%3A00%3A00Z​&dataWrapNumberOfItems​=2​&dataWrapLabel​=Other

Query parameters

ParameterTypeSampleDescription
Required
startString2020-05-01T00:00:00ZSpecifies the start of the reported period as an ISO-8601 timestamp with optional time zone. The report includes data that matches the start value's timestamp.
endString2020-06-01T00:00:00ZSpecifies the end of the reported period as an ISO-8601 timestamp with optional time zone. The report excludes any data that matches the end value's timestamp.
Optional
dataWrapNumberOfItemsNumber2Number of top values to be yield in response. Default value: 9. Special values: 0 - will group all values to single record, -1 - will disable outlaying values grouping.
dataWrapLabelStringOtherLabel used as title for grouped record of data which is wrapped. Default value: Other.

JSON request members

MemberTypeDescription
objectIdsArraySpecifies the set of cpcode values you want to report on.
objectIdsEnumerationAs an alternative to an array of ID values, specify all as a string for unfiltered data. Either way, objectIds is required.
metricsArrayThe set of desired metrics. If omitted, the report includes all available metrics.

Request body:

{
    "objectIds": [
        "55232",
        "23433",
        "32433"
    ],
    "metrics": [
        "successfulHits",
        "successfulHitsPercent"
    ]
}

GET request

GET /reporting-api/v1/reports/hits-by-browser/versions/1/report-data{?start,​end,​objectIds,​allObjectIds,​metrics,​dataWrapNumberOfItems,​dataWrapLabel}

Sample: /reporting-api/v1/reports/hits-by-browser/versions/1/report-data?start​=2020-05-01T00%3A00%3A00Z​&end​=2020-06-01T00%3A00%3A00Z​&objectIds​=55232,​23433,​32433​&metrics​=successfulHits%2CsuccessfulHitsPercent​&dataWrapNumberOfItems​=2​&dataWrapLabel​=Other

Query parameters

ParameterTypeSampleDescription
Required
startString2022-06-23T13:55:00ZSpecifies the start of the reported period as an ISO-8601 timestamp with optional time zone. The report includes data that matches the start value’s timestamp.
endString2022-06-23T14:15:00ZSpecifies the end of the reported period as an ISO-8601 timestamp with optional time zone. The report excludes any data that matches the end value’s timestamp.
Optional
allObjectIdsBooleantrueAs an alternative to objectIds, enabling this generates a report that includes all IDs available for the cpcode objectType. This parameter is ignored if the request also specifies a set of objectIds.
objectIdsString55232,​23433,​32433As an alternative to allObjectIds, specifies the set of unique IDs for the cpcode objectType you want to report on, formatted as a comma-delimited list.
metricsStringsuccessfulHits,​successfulHitsPercentSpecifies a comma-separated list of metrics to include in the report, otherwise all metrics if omitted. The set of available metrics depends on the type of report. URL-encode the entire value in the GET request.
dataWrapNumberOfItemsNumber2Number of top values to be yield in response. Default value: 9. Special values: 0 - will group all values to single record, -1 - will disable outlaying values grouping.
dataWrapLabelStringOtherLabel used as title for grouped record of data which is wrapped. Default value: Other.

JSON response

Status 200 application/json

Response body:

{
    "metadata": {
        "name": "hits-by-browser",
        "version": "1",
        "outputType": "FLAT",
        "groupBy": [
            "browser_version"
        ],
        "start": "2020-05-01T00:00:00Z",
        "end": "2020-06-01T00:00:00Z",
        "availableDataEnds": null,
        "suggestedRetryTime": null,
        "rowCount": 4,
        "filters": [],
        "columns": [
            {
                "name": "groupBy",
                "label": "browser_version"
            },
            {
                "name": "successfulHits",
                "label": "Successful Hits "
            },
            {
                "name": "successfulHitsPercent",
                "label": "Successful Hits %"
            }
        ],
        "objectType": "cpcode",
        "objectIds": [
            "55232",
            "23433",
            "32433"
        ]
    },
    "data": [
        {
            "browser_version": "40.15063.0",
            "successfulHits": "1558",
            "successfulHitsPercent": "86"
        },
        {
            "browser_version": "40.15254.369",
            "successfulHits": "2167",
            "successfulHitsPercent": "40"
        },
        {
            "browser_version": "Other",
            "successfulHits": "412",
            "successfulHitsPercent": "5"
        }
    ],
    "summaryStatistics": {}
}

CSV response

Status 200 text/csv

Response Body:

#METADATA_START
name,​hits-by-browser
version,​1
source,​hits-by-browser/versions/1
groupBy,​browser_version
start,​2020-05-01T00:00:00Z
end,​2020-06-01T00:00:00Z
availableDataEnds,
suggestedRetryTime,
rowCount,​4
objectType,​cpcode
objectIds,​55232,​23433,​32433
#METADATA_END

#SUMMARYSTATISTICS_START

#SUMMARYSTATISTICS_END

#COLUMNS_START
browser_version,​successfulHits,​successfulHitsPercent
#COLUMNS_END

#DATA_START
40.15063.0,​1558,​86
40.15254.369,​2167,​40
Other,​412,​5
#DATA_END

Get report details

This sample Get a report type operation gets the same information you need to run the hits-by-browser report as provided in this reference documentation, but available dynamically to your API client application.

GET /reporting-api/v1/reports/hits-by-browser/versions/1

Status 200 application/json

Response body:

{
    "name": "hits-by-browser",
    "description": "Returns traffic data by browser.",
    "businessObjectName": "cpcode",
    "version": 1,
    "status": "PUBLISHED",
    "deprecated": false,
    "timeBased": false,
    "outputType": "FLAT",
    "requiredProducts": [
        "Basic Traffic Reports"
    ],
    "requiredRoles": [
        "Reports - All privileges",
        "Reports - View only",
        "OTA App User"
    ],
    "available": true,
    "metrics": [
        {
            "name": "successfulHits",
            "description": "The number of requests returning successful responses.",
            "label": "Successful Hits ",
            "unit": "COUNT",
            "summaryStatistic": false
        },
        {
            "name": "successfulHitsPercent",
            "description": "The percent of total number of requests returning successful responses for that browser.",
            "label": "Successful Hits %",
            "unit": "RATIO",
            "summaryStatistic": false
        }
    ],
    "groupOutlyingValues": {
        "enabled": true,
        "groupThreshold": 9,
        "groupName": "Other"
    },
    "groupBy": [
        "browser_version"
    ],
    "intervals": [
        "MONTH",
        "WEEK",
        "DAY"
    ],
    "dataRetentionDays": 92,
    "limit": 10000,
    "links": [
        {
            "rel": "self",
            "href": "/reporting-api/v1/reports/hits-by-browser/versions/1"
        },
        {
            "rel": "versions",
            "href": "/reporting-api/v1/reports/hits-by-browser/versions"
        },
        {
            "rel": "all-reports",
            "href": "/reporting-api/v1/reports"
        },
        {
            "rel": "execute-report",
            "href": "/reporting-api/v1/reports/hits-by-browser/versions/1/report-data"
        }
    ]
}