Multiple dimension reporting

This guide describes key report features available with the Customer Journey Analytics Report API, including:

Multiple dimensions in a single request

With the Custonmer Journey Analtyics Report API, you can request data across multiple dimensions simultaneously in a single report request. This enhancement changes how reports are structured and queried. Rather than retrieving one dimension at a time and nesting breakdowns vertically to analyze combinations, you can specify up to five dimensions in a single request and receive a result of concatenated dimension objects. Multiple dimension reporting is designed to solve a common reporting challenge: understanding which combinations of dimension values drive outcomes, without requiring multiple API calls, post-processing, or manual joins. For more information on this capability and how each array of dimension items behaves as a concatenated list of dimensions, see Multiple Dimension Columns.

Multiple dimensions array

The POST Report endpoint accepts a dimensions array of objects where each object includes a name and a dimensionColumnId--a user-defined identifier. The array structure provides the foundation for multi-dimension reporting, dimension-level search, and advanced sorting.

Dimension column IDs

Every dimension (and metric) can be assigned a column ID. These IDs can have the following characteristics:

If the user does not provide column IDs, the system will auto‑assign positional IDs. Explicit IDs are recommended as a best practice.

Example multiple dimension request

The following example shows a free-form table in Customer Journey Analytics Workspace with multiple dimensions in one row. Below the visualization, a JSON fragment shows a request for the matching results shown in that table. The example shows both the dimensions array and the dimension column IDs as described above.

multidim1


    "dimensions": [
        {
            "id": "variables/placeContext.geo.city",
            "dimensionColumnId": "a111ef1",
            "nonesBehavior": "exclude-nones"
        },
        {
            "id": "variables/device.typeID.global-classify-string._globallookupscja.lookupID.5f76432e4c7588194b1f6150._globallookupscja.deviceType",
            "dimensionColumnId": "a222kl2",
            "nonesBehavior": "exclude-nones"
        },
        {
            "id": "variables/timepartdayofmonth",
            "dimensionColumnId": "a333ri3",
            "nonesBehavior": "return-nones"
        }
    ],
    

Example details

The dimensions array above shows the following:

With dimension-level search, you can search within specific dimensions instead of globally across an entire report. This works with the following conditions:

The following example shows a free-form table in Customer Journey Analytics Workspace with a dimension text search filter applied for dehli. Below the visualization is an example JSON fragment showing how the search is specified.

searchdelhi

 
        {
            "id": "variables/placeContext.geo.city",
            "dimensionColumnId": "0",
            "search": {
                "clause": "( CONTAINS 'delhi' )"
            },
            "nonesBehavior": "exclude-nones"
        },

Example details

The city dimension above shows the clause parameter with a text match of dehli after the word CONTAINS.

Multi-column sorting

In Customer Journey Analytics, you can sort multiple columns of both dimensions and metrics. You can also mix dimensions and metrics in the same sort definition, or sort array. Each sort object is reference by componentType and columnId. For the ascending parameter, specify a boolean true to sort by ascending values and false to sort by descending values. The example request fragment below shows two dimensions-- one to be sorted in ascending order and another to be sorted in descending order.


"settings": {
    "countRepeatInstances": true,
    "includeAnnotations": true,
    "limit": 50,
    "page": 0,
    "sort": [
        {
            "componentType": "dimension",
            "columnId": "a111ef1",
            "ascending": true
        },
        {
            "componentType": "dimension",
            "columnId": "a222kl2",
            "ascending": false
        }
    ]
}
data-variant=info
data-slots=text
Segments are still applied globally at the report level, not per dimension.

Errors and Constraints

  1. Dimension Relation Errors: Dimensions must be related. Requests to combine unrelated dimensions in a single request will return an error.

  2. Too Many Combinations Errors: If too many dimensions produce an excessive number of row combinations, the system may reject the request due to scale limitations. The resulting error will indicate that the report is too complex.

For more information on the Customer Journey Analytics Report API, including parameter descriptions and example endpoint calls, see the Reporting API guide.