Method: reports.batchGet

Retorna os dados do Google Analytics.

Solicitação HTTP

POST https://analyticsreporting.googleapis.com/v4/reports:batchGet

O URL usa a sintaxe de transcodificação gRPC.

Corpo da solicitação

O corpo da solicitação contém dados com a seguinte estrutura:

Representação JSON
{
  "reportRequests": [
    {
      object(ReportRequest)
    }
  ],
  "useResourceQuotas": boolean
}
Campos
reportRequests[]

object(ReportRequest)

Solicitações. Cada solicitação terá uma resposta separada. Pode haver no máximo cinco solicitações. Todas as solicitações precisam ter os mesmos dateRanges, viewId, segments, samplingLevel e cohortGroup.

useResourceQuotas

boolean

Ativa as cotas com base em recursos (o padrão é False). Se esse campo for definido como True, as cotas por vista (perfil) serão regidas pelo custo de cálculo da solicitação. O uso de cotas com base em custos aumenta o nível de ativação das taxas de amostragem. (10 milhões por SMALL, 100 mi por LARGE Consulte a documentação sobre limites e cotas para mais detalhes.

Corpo da resposta

Se bem-sucedido, o corpo da resposta incluirá dados com a estrutura a seguir:

A principal classe de resposta que contém os relatórios da chamada batchGet da API Reporting.

Representação JSON
{
  "reports": [
    {
      object(Report)
    }
  ],
  "queryCost": number,
  "resourceQuotasRemaining": {
    object(ResourceQuotasRemaining)
  }
}
Campos
reports[]

object(Report)

Respostas que correspondem a cada uma das solicitações.

queryCost

number

A quantidade de tokens da cota de recursos deduzidas para executar a consulta. Inclui todas as respostas.

resourceQuotasRemaining

object(ResourceQuotasRemaining)

A quantidade de cota de recursos restante para a propriedade.

Escopos de autorização

Requer um dos seguintes escopos de OAuth:

  • https://www.googleapis.com/auth/analytics.readonly
  • https://www.googleapis.com/auth/analytics

ReportRequest

A principal classe de solicitação que especifica a solicitação da API de relatórios.

Representação JSON
{
  "viewId": string,
  "dateRanges": [
    {
      object(DateRange)
    }
  ],
  "samplingLevel": enum(Sampling),
  "dimensions": [
    {
      object(Dimension)
    }
  ],
  "dimensionFilterClauses": [
    {
      object(DimensionFilterClause)
    }
  ],
  "metrics": [
    {
      object(Metric)
    }
  ],
  "metricFilterClauses": [
    {
      object(MetricFilterClause)
    }
  ],
  "filtersExpression": string,
  "orderBys": [
    {
      object(OrderBy)
    }
  ],
  "segments": [
    {
      object(Segment)
    }
  ],
  "pivots": [
    {
      object(Pivot)
    }
  ],
  "cohortGroup": {
    object(CohortGroup)
  },
  "pageToken": string,
  "pageSize": number,
  "includeEmptyRows": boolean,
  "hideTotals": boolean,
  "hideValueRanges": boolean
}
Campos
viewId

string

O código da vista do Google Analytics da qual os dados serão recuperados. Todo ReportRequest em um método batchGet precisa conter o mesmo viewId.

dateRanges[]

object(DateRange)

Períodos na solicitação. A solicitação pode ter no máximo dois períodos. A resposta conterá um conjunto de valores de métricas para cada combinação das dimensões para cada período na solicitação. Portanto, se houver dois períodos, haverá dois conjuntos de valores de métricas, um para o período original e outro para o segundo. O campo reportRequest.dateRanges não deve ser especificado para solicitações de coorte ou valor da vida útil. Se um período não for fornecido, o período padrão será: "startDate: data atual - 7 dias" e "endDate: data atual - 1 dia". Todo ReportRequest em um método batchGet precisa conter a mesma definição de dateRanges.

samplingLevel

enum(Sampling)

O tamanho da amostra do relatório. Se o campo samplingLevel não for especificado, o nível de amostragem DEFAULT será usado. Todo ReportRequest em um método batchGet precisa conter a mesma definição de samplingLevel. Consulte o guia do desenvolvedor para ver detalhes.

dimensions[]

object(Dimension)

As dimensões solicitadas. As solicitações podem ter um total de nove dimensões.

dimensionFilterClauses[]

object(DimensionFilterClause)

As cláusulas do filtro de dimensão para filtrar valores de dimensões. Elas são combinadas logicamente com o operador AND. A filtragem ocorre antes da agregação das dimensões. Assim, as métricas retornadas representam o total somente para as dimensões relevantes.

metrics[]

object(Metric)

As métricas solicitadas. As solicitações precisam especificar pelo menos uma métrica. Elas podem ter um total de 10 métricas.

metricFilterClauses[]

object(MetricFilterClause)

As cláusulas de filtro de métrica. Elas são combinadas logicamente com o operador AND. Os filtros de métricas consideram somente o primeiro período, não a comparação de períodos. A filtragem de métricas ocorre depois que elas são agregadas.

filtersExpression

string

Filtros de métrica ou dimensão que restringem os dados retornados para sua solicitação. Para usar filtersExpression, forneça uma dimensão ou métrica a ser filtrada, seguida pela expressão de filtro. Por exemplo, a expressão a seguir seleciona a dimensão ga:browser que começa com o Firefox; ga:browser=~^Firefox. Para mais informações sobre filtros de dimensões e métricas, consulte a Referência de filtros.

orderBys[]

object(OrderBy)

Ordem de classificação das linhas exibidas. Para comparar duas linhas, os elementos a seguir são aplicados em ordem até que uma diferença seja encontrada. Todos os períodos são exibidos na mesma ordem de linha.

segments[]

object(Segment)

Segmentar os dados retornados para a solicitação. Uma definição de segmento ajuda a examinar um subconjunto da solicitação de segmento. Uma solicitação pode conter até quatro segmentos. Todo ReportRequest em um método batchGet precisa conter a mesma definição de segments. Solicitações com segmentos precisam ter a dimensão ga:segment.

pivots[]

object(Pivot)

As definições de tabela dinâmica. As solicitações podem ter no máximo duas tabelas dinâmicas.

cohortGroup

object(CohortGroup)

Grupo de coorte associado a esta solicitação. Se houver um grupo de coorte na solicitação, a dimensão ga:cohort precisará estar presente. Todo ReportRequest em um método batchGet precisa conter a mesma definição de cohortGroup.

pageToken

string

Um token de continuação para ter acesso à próxima página de resultados. Se você adicioná-lo à solicitação, as linha depois do pageToken serão retornadas. "pageToken" deve ser o valor retornado no parâmetro "nextPageToken" na resposta para a solicitação "reports.batchGet".

pageSize

number

O tamanho da página é referente à paginação e especifica o número máximo de linhas retornadas. O tamanho da página deve ser >= 0. Uma consulta retorna 1.000 linhas por padrão. A API de relatórios principais do Google Analytics retorna no máximo 100.000 linhas por solicitação, não importa quantas linhas você solicitar. Ela também pode retornar menos linhas do que o solicitado, quando não há a quantidade de segmentos de dimensão que você espera. Por exemplo, há menos de 300 valores possíveis para ga:country. Portanto, ao segmentar somente por país, não é possível exibir mais de 300 linhas, mesmo que você defina pageSize como um valor mais alto.

includeEmptyRows

boolean

Quando esse parâmetro estiver definido como "false", a resposta não incluirá linhas se todas as métricas recuperadas forem iguais a zero. O valor padrão é "false", que exclui essas linhas.

hideTotals

boolean

Se esse parâmetro for definido como "true", o total das métricas de todas as linhas correspondentes será oculto para todos os períodos. O valor padrão é "false", que retorna os totais.

hideValueRanges

boolean

Se esse parâmetro for definido como "true", os valores mínimo e máximo serão ocultos em todas as linhas correspondentes. O valor padrão é "false", que retorna os períodos do valor.

Amostragem

Valores para o nível de amostragem.

Enums
SAMPLING_UNSPECIFIED Se o campo samplingLevel não for especificado, o nível de amostragem DEFAULT será usado.
DEFAULT Retorna uma resposta com um tamanho de amostra que equilibra velocidade e precisão.
SMALL Retorna uma resposta rápida com um tamanho de amostra menor.
LARGE Retorna uma resposta mais precisa com um tamanho de amostra maior. No entanto, a resposta pode ser mais lenta.

Dimensão

As dimensões são atributos dos seus dados. Por exemplo, a dimensão ga:city indica a cidade (por exemplo, "Paris" ou "Nova York") em que uma sessão se originou.

Representação JSON
{
  "name": string,
  "histogramBuckets": [
    string
  ]
}
Campos
name

string

Nome da dimensão a ser buscada, por exemplo, ga:browser.

histogramBuckets[]

string (int64 format)

Se não estiver vazio, inserimos valores de dimensões em intervalos depois da string para int64. Valores de dimensões que não são a representação da string de um valor integral serão convertidos para zero. Os valores de intervalos precisam estar em ordem crescente. Cada intervalo é fechado na extremidade inferior e aberto na extremidade superior. O "primeiro" intervalo inclui todos os valores inferiores ao primeiro limite e o "último" intervalo inclui todos os valores até o infinito. Valores de dimensões que estão em um intervalo são transformados em um novo valor de dimensão. Por exemplo, para uma lista de "0, 1, 3, 4, 7", retornamos estes intervalos:

  • intervalo 1: valores < 0, valor da dimensão "<0"
  • intervalo 2: valores em [0,1), valor da dimensão "0"
  • intervalo 3: valores em [1,3), valor da dimensão "1-2"
  • intervalo 4: valores em [3,4), valor da dimensão "3"
  • intervalo 5: valores em [4,7), valor da dimensão "4-6"
  • intervalo #6: valores >= 7, valor da dimensão "7+"

OBSERVAÇÃO: Se você está aplicando uma mudança no histograma de qualquer dimensão e usando essa dimensão na classificação, convém usar o tipo de classificação HISTOGRAM_BUCKET para isso. Sem ele, os valores das dimensões serão classificados de acordo com a ordem alfabética. Por exemplo, a ordem alfabética crescente é:

"<50", "1001+", "121-1000", "50-120"

E a ordem crescente de HISTOGRAM_BUCKET é:

"<50", "50-120", "121-1000", "1001+"

O cliente precisa solicitar explicitamente "orderType": "HISTOGRAM_BUCKET" para uma dimensão com mutação no histograma.

DimensionFilterClause

Um grupo de filtros de dimensões. Defina o valor do operador para especificar a forma com que os filtros são combinados logicamente.

Representação JSON
{
  "operator": enum(FilterLogicalOperator),
  "filters": [
    {
      object(DimensionFilter)
    }
  ]
}
Campos
operator

enum(FilterLogicalOperator)

O operador para combinar vários filtros de dimensões. Se não for especificado, ele será tratado como um OR.

filters[]

object(DimensionFilter)

O conjunto repetido de filtros. Eles são combinados logicamente com base no operador especificado.

FilterLogicalOperator

A forma com que os filtros são combinados logicamente.

Enums
OPERATOR_UNSPECIFIED Operador não especificado. É tratado como um OR.
OR O operador lógico OR.
AND O operador lógico AND.

DimensionFilter

O filtro de dimensões especifica as opções de filtragem em uma dimensão.

Representação JSON
{
  "dimensionName": string,
  "not": boolean,
  "operator": enum(Operator),
  "expressions": [
    string
  ],
  "caseSensitive": boolean
}
Campos
dimensionName

string

A dimensão a ser filtrada. Um "DimensionFilter" precisa conter uma dimensão.

not

boolean

Operador lógico NOT. Se esse booleano for definido como "true", os valores das dimensões correspondentes serão excluídos do relatório. O valor padrão é falso.

operator

enum(Operator)

Como corresponder a dimensão à expressão. O padrão é REGEXP.

expressions[]

string

Strings ou expressão regular para fazer a correspondência. Somente o primeiro valor da lista é usado para comparação, a menos que o operador seja IN_LIST. Se for o operador IN_LIST, a lista inteira será usada para filtrar as dimensões, conforme explicado na descrição do operador IN_LIST.

caseSensitive

boolean

A correspondência deve diferenciar letras maiúsculas e minúsculas? O padrão é "false".

Operador

Tipos de correspondência diferentes suportados.

Enums
OPERATOR_UNSPECIFIED Se o tipo de correspondência não for especificado, ele será tratado como um REGEXP.
REGEXP A expressão de correspondência é tratada como uma expressão regular. Todos os tipos de correspondência não são tratados como expressões regulares.
BEGINS_WITH Corresponde ao valor que começa com a expressão de correspondência fornecida.
ENDS_WITH Corresponde aos valores que terminam com a expressão de correspondência fornecida.
PARTIAL Correspondência de substring.
EXACT O valor deve corresponder à expressão de correspondência por completo.
NUMERIC_EQUAL

Filtros de comparação de números inteiros. A diferenciação de letras minúsculas e maiúsculas é ignorada para eles, e a expressão é considerada uma string que representa um número inteiro. Condições de falha:

  • Se a expressão não for um int64 válido, o cliente deverá esperar um erro.
  • Dimensões inseridas que não são valores int64 válidos nunca corresponderão ao filtro.
NUMERIC_GREATER_THAN Verifica se a dimensão é numericamente maior que a expressão de correspondência. Leia a descrição de NUMERIC_EQUALS para ver as restrições.
NUMERIC_LESS_THAN Verifica se a dimensão é numericamente menor que a expressão de correspondência. Leia a descrição de NUMERIC_EQUALS para ver as restrições.
IN_LIST

Essa opção é usada para especificar um filtro de dimensão cuja expressão aceita qualquer valor de uma lista de valores selecionados. Isso ajuda a evitar a avaliação de vários filtros de dimensões de correspondência exata que contêm "OR" em todas as linhas da resposta. Exemplo:

expressions: ["A", "B", "C"]

Toda linha de resposta cuja dimensão tem um valor de A, B ou C corresponde a esse DimensionFilter.

Métrica

As métricas são avaliações quantitativas. Por exemplo, a métrica ga:users indica o número total de usuários do período solicitado.

Representação JSON
{
  "expression": string,
  "alias": string,
  "formattingType": enum(MetricType)
}
Campos
expression

string

Uma expressão de métrica na solicitação. Uma expressão é construída a partir de uma ou mais métricas e números. Os operadores aceitos incluem: mais (+), menos (-), negação (- unário), dividido por (/), multiplicado por (*), parênteses e números cardinais positivos (0-9). Eles podem incluir decimais e estão limitado a 1.024 caracteres. Exemplo: ga:totalRefunds/ga:users. Na maioria dos casos, a expressão da métrica é apenas o nome de uma única métrica, como ga:users. Adicionar MetricType misto (por exemplo, CURRENCY + PERCENTAGE) vão gerar resultados inesperados.

alias

string

Um alias para a expressão da métrica é um nome alternativo para a expressão. O alias pode ser usado para filtragem e classificação. Esse campo é opcional e é útil se a expressão não é uma única métrica, mas uma expressão complexa que não pode ser usada na filtragem e classificação. O alias também é usado no título da coluna de resposta.

formattingType

enum(MetricType)

Especifica como a expressão da métrica deve ser formatada, por exemplo INTEGER.

MetricType

Os tipos de métricas.

Enums
METRIC_TYPE_UNSPECIFIED O tipo de métrica não está especificado.
INTEGER Métrica de número inteiro.
FLOAT Métrica de flutuação.
CURRENCY Métrica de moeda.
PERCENT Métrica de porcentagem.
TIME Métrica de tempo no formato HH:MM:SS.

MetricFilterClause

Representa um grupo de filtros de métricas. Defina o valor do operador para especificar a forma com que os filtros são combinados logicamente.

Representação JSON
{
  "operator": enum(FilterLogicalOperator),
  "filters": [
    {
      object(MetricFilter)
    }
  ]
}
Campos
operator

enum(FilterLogicalOperator)

O operador para combinar vários filtros de métricas. Se não for especificado, ele será tratado como um OR.

filters[]

object(MetricFilter)

O conjunto repetido de filtros. Eles são combinados logicamente com base no operador especificado.

MetricFilter

"MetricFilter" especifica o filtro em uma métrica.

Representação JSON
{
  "metricName": string,
  "not": boolean,
  "operator": enum(Operator),
  "comparisonValue": string
}
Campos
metricName

string

A métrica que será filtrada. Um "metricFilter" precisa conter o nome de uma métrica. O nome da métrica pode ser um alias definido anteriormente como uma métrica ou uma expressão de métrica.

not

boolean

Operador lógico NOT. Se esse booleano for definido como "true", os valores das métricas correspondentes serão excluídos do relatório. O valor padrão é falso.

operator

enum(Operator)

A métrica EQUAL, LESS_THAN ou GREATER_THAN é o "comparisonValue". O padrão é EQUAL. Se o operador for IS_MISSING, vai verificar se a métrica está ausente e ignorar o compareValue.

comparisonValue

string

O valor para comparação.

Operador

Opções de tipo de comparação diferentes.

Enums
OPERATOR_UNSPECIFIED Se o operador não for especificado, ele será tratado como EQUAL.
EQUAL O valor da métrica deve ser exatamente igual ao valor de comparação.
LESS_THAN O valor da métrica deve ser menor que o valor de comparação.
GREATER_THAN O valor da métrica deve ser maior que o valor de comparação.
IS_MISSING Valida se a métrica está ausente. Não leva o "comparisonValue" em consideração.

OrderBy

Especifica as opções de classificação.

Representação JSON
{
  "fieldName": string,
  "orderType": enum(OrderType),
  "sortOrder": enum(SortOrder)
}
Campos
fieldName

string

O campo pelo qual a classificação será definida. A ordem de classificação padrão é crescente. Exemplo: ga:browser. Você só pode especificar um campo para classificação aqui. Por exemplo, ga:browser, ga:city não é válido.

orderType

enum(OrderType)

O tipo de ordem. O "orderType" padrão é VALUE.

sortOrder

enum(SortOrder)

A ordem de classificação do campo.

OrderType

"OrderType" controla como a ordem de classificação é determinada.

Enums
ORDER_TYPE_UNSPECIFIED Um tipo de ordem não especificado será tratado como classificação com base no valor.
VALUE A ordem de classificação é definida com base no valor da coluna escolhida. Apenas o primeiro período é considerado.
DELTA A ordem de classificação é definida com base na diferença dos valores da coluna escolhida entre os dois primeiros períodos. Poderá ser usado somente se houver exatamente dois períodos.
SMART A ordem de classificação é definida com base no valor avaliado da coluna escolhida. Se a coluna tiver o formato "n/d", o valor ponderado dessa proporção será (n + totals.n)/(d + totals.d). Somente para métricas que representam proporções.
HISTOGRAM_BUCKET O tipo de ordem do histograma se aplica somente a colunas de dimensões com intervalos de histograma não vazios.
DIMENSION_AS_INTEGER Se as dimensões forem números de tamanho fixo, a classificação comum funcionará bem. DIMENSION_AS_INTEGER pode ser usado se as dimensões forem números de tamanho variável.

SortOrder

A ordem de classificação.

Enums
SORT_ORDER_UNSPECIFIED Se a ordem de classificação não for especificada, o padrão será crescente.
ASCENDING Classificação crescente. O campo será classificado de forma crescente.
DESCENDING Classificação decrescente. O campo será classificado de forma decrescente.

Segmento

A definição do segmento, se o relatório precisar ser segmentado. Um segmento é um subconjunto de dados do Google Analytics. Por exemplo, de todo o conjunto de usuários, um segmento pode ser composto por usuários de um determinado país ou cidade.

Representação JSON
{

  // Union field dynamicOrById can be only one of the following:
  "dynamicSegment": {
    object(DynamicSegment)
  },
  "segmentId": string
  // End of list of possible types for union field dynamicOrById.
}
Campos
Campo de união dynamicOrById. O segmento pode ser definido de forma dinâmica usando DynamicSegmento ou usando um ID de um segmento integrado ou personalizado. dynamicOrById pode ser apenas de um dos tipos a seguir:
dynamicSegment

object(DynamicSegment)

Um definição de segmento dinâmico na solicitação.

segmentId

string

O ID de um segmento incorporado ou personalizado, por exemplo, gaid::-3.

DynamicSegment

Definição de segmento dinâmico para definir o segmento dentro da solicitação. Um segmento pode selecionar usuários, sessões ou ambos.

Representação JSON
{
  "name": string,
  "userSegment": {
    object(SegmentDefinition)
  },
  "sessionSegment": {
    object(SegmentDefinition)
  }
}
Campos
name

string

O nome do segmento dinâmico.

userSegment

object(SegmentDefinition)

Segmento do usuário para selecionar usuários a serem incluídos no segmento.

sessionSegment

object(SegmentDefinition)

Segmento de sessão para selecionar sessões a serem incluídas no segmento.

SegmentDefinition

"SegmentDefinition" define o segmento como um conjunto de "SegmentFilters" que são combinados com uma operação lógica AND.

Representação JSON
{
  "segmentFilters": [
    {
      object(SegmentFilter)
    }
  ]
}
Campos
segmentFilters[]

object(SegmentFilter)

Um segmento é definido por um conjunto de filtros de segmento que são combinados com uma operação lógica AND.

SegmentFilter

"SegmentFilter" define o segmento como um segmento simples ou sequencial. Uma condição de segmento simples contém condições de dimensão e métrica para selecionar as sessões ou usuários. Uma condição de segmento sequencial pode ser usada para selecionar usuários ou sessões com base em condições sequenciais.

Representação JSON
{
  "not": boolean,

  // Union field simpleOrSequence can be only one of the following:
  "simpleSegment": {
    object(SimpleSegment)
  },
  "sequenceSegment": {
    object(SequenceSegment)
  }
  // End of list of possible types for union field simpleOrSequence.
}
Campos
not

boolean

Se definido como "true", corresponde ao complemento do segmento simples ou sequencial. Por exemplo, para corresponder a todos os acessos fora de "Nova York", podemos definir o segmento assim:

  "sessionSegment": {
    "segmentFilters": [{
      "simpleSegment" :{
        "orFiltersForSegment": [{
          "segmentFilterClauses":[{
            "dimensionFilter": {
              "dimensionName": "ga:city",
              "expressions": ["New York"]
            }
          }]
        }]
      },
      "not": "True"
    }]
  },

Campo de união simpleOrSequence. É um segmento simples ou uma definição de segmento sequencial. simpleOrSequence pode ser apenas de um dos tipos a seguir:
simpleSegment

object(SimpleSegment)

Uma condição de segmento simples consiste de uma ou mais condições de dimensão/métrica que podem ser combinadas.

sequenceSegment

object(SequenceSegment)

As condições de sequência consistem em uma ou mais etapas, e cada etapa é definida por uma ou mais condições de dimensão/métrica. É possível combinar várias etapas com operadores de sequência especiais.

SimpleSegment

Uma condição de segmento simples consiste de uma ou mais condições de dimensão/métrica que podem ser combinadas.

Representação JSON
{
  "orFiltersForSegment": [
    {
      object(OrFiltersForSegment)
    }
  ]
}
Campos
orFiltersForSegment[]

object(OrFiltersForSegment)

Uma lista de grupos de filtros de segmento que são combinados com um operador lógico AND.

OrFiltersForSegment

Uma lista de filtros de segmento no grupo OR são combinados com um operador lógico "OR".

Representação JSON
{
  "segmentFilterClauses": [
    {
      object(SegmentFilterClause)
    }
  ]
}
Campos
segmentFilterClauses[]

object(SegmentFilterClause)

Uma lista de filtros de segmento a serem combinados com um operador OR.

SegmentFilterClause

Cláusula de filtro a ser usada em uma definição de segmento. Pode ser um filtro de métrica ou dimensão.

Representação JSON
{
  "not": boolean,

  // Union field dimensionOrMetricFilter can be only one of the following:
  "dimensionFilter": {
    object(SegmentDimensionFilter)
  },
  "metricFilter": {
    object(SegmentMetricFilter)
  }
  // End of list of possible types for union field dimensionOrMetricFilter.
}
Campos
not

boolean

Corresponde ao complemento (!) do filtro.

Campo de união dimensionOrMetricFilter. Filtro de dimensão ou métrica. dimensionOrMetricFilter pode ser apenas de um dos tipos a seguir:
dimensionFilter

object(SegmentDimensionFilter)

Filtro de dimensão para a definição de segmento.

metricFilter

object(SegmentMetricFilter)

Filtro de métrica para a definição de segmento.

SegmentDimensionFilter

O filtro de dimensões especifica as opções de filtragem em uma dimensão.

Representação JSON
{
  "dimensionName": string,
  "operator": enum(Operator),
  "caseSensitive": boolean,
  "expressions": [
    string
  ],
  "minComparisonValue": string,
  "maxComparisonValue": string
}
Campos
dimensionName

string

Nome da dimensão a que o filtro está sendo aplicado.

operator

enum(Operator)

O operador a ser usado para fazer a correspondência entre a dimensão e as expressões.

caseSensitive

boolean

A correspondência deve diferenciar letras maiúsculas e minúsculas e ser ignorada para o operador IN_LIST.

expressions[]

string

A lista de expressões. Apenas o primeiro elemento é usado para todos os operadores.

minComparisonValue

string

Valores de comparação mínimos para o tipo de correspondência BETWEEN.

maxComparisonValue

string

Valores de comparação máximos para o tipo de correspondência BETWEEN.

Operador

Tipos de correspondência diferentes suportados.

Enums
OPERATOR_UNSPECIFIED Se o tipo de correspondência não for especificado, ele será tratado como um REGEXP.
REGEXP A expressão de correspondência é tratada como uma expressão regular. Todos os outros tipos de correspondência não são tratados como expressões regulares.
BEGINS_WITH Corresponde aos valores que começam com a expressão de correspondência fornecida.
ENDS_WITH Corresponde aos valores que terminam com a expressão de correspondência fornecida.
PARTIAL Correspondência de substring.
EXACT O valor deve corresponder à expressão de correspondência por completo.
IN_LIST

Essa opção é usada para especificar um filtro de dimensão cuja expressão aceita qualquer valor de uma lista de valores selecionados. Isso ajuda a evitar a avaliação de vários filtros de dimensões de correspondência exata que contêm "OR" em todas as linhas da resposta. Exemplo:

expressions: ["A", "B", "C"]

Toda linha de resposta cuja dimensão tem um valor de A, B ou C corresponde a esse DimensionFilter.

NUMERIC_LESS_THAN

Filtros de comparação de números inteiros. A diferenciação de letras minúsculas e maiúsculas é ignorada para eles, e a expressão é considerada uma string que representa um número inteiro. Condições de falha:

  • se a expressão não for um int64 válido, o cliente deverá esperar um erro;
  • dimensões inseridas que não são valores int64 válidos nunca corresponderão ao filtro.

Verifica se a dimensão é numericamente menor que a expressão de correspondência.

NUMERIC_GREATER_THAN Verifica se a dimensão é numericamente maior que a expressão de correspondência.
NUMERIC_BETWEEN Verifica se a dimensão está numericamente entre os valores mínimo e máximo da expressão de correspondência, excluindo os limites.

SegmentMetricFilter

Filtro de métrica a ser usado em uma cláusula de filtro de segmento.

Representação JSON
{
  "scope": enum(Scope),
  "metricName": string,
  "operator": enum(Operator),
  "comparisonValue": string,
  "maxComparisonValue": string
}
Campos
scope

enum(Scope)

Escopo para uma métrica que determina o nível em que ela é definida. O escopo especificado da métrica precisa ser igual ou maior que seu escopo principal, conforme definido no modelo de dados. O escopo principal é definido por ele se o segmento seleciona usuários ou sessões.

metricName

string

A métrica que será filtrada. O metricFilter precisa conter o nome de uma métrica.

operator

enum(Operator)

Especifica a operação a ser feita para comparar a métrica. O padrão é EQUAL.

comparisonValue

string

O valor para comparação. Se o operador for BETWEEN, esse valor será tratado como o valor de comparação mínimo.

maxComparisonValue

string

O valor de comparação máximo só é usado para o operador BETWEEN.

Escopo

O escopo de uma métrica define o nível em que ela é definida: PRODUCT, HIT, SESSION ou USER. Também é possível informar os valores das métricas nos escopos superiores ao escopo principal. Por exemplo: ga:pageviews e ga:transactions podem ser informados no nível SESSION e USER. Para isso, basta adicioná-los a cada hit que ocorre nessas sessões ou para esses usuários.

Enums
UNSPECIFIED_SCOPE Se o escopo não for especificado, ele será definido por padrão como o escopo da condição, USER ou SESSION. Isso dependerá da opção que o segmento escolherá: usuários ou sessões.
PRODUCT Escopo do produto.
HIT Escopo do hit.
SESSION Escopo da sessão.
USER Escopo do usuário.

Operador

Opções de tipo de comparação diferentes.

Enums
UNSPECIFIED_OPERATOR Um operador não especificado é tratado como um operador LESS_THAN.
LESS_THAN Verifica se o valor da métrica é menor que o valor de comparação.
GREATER_THAN Verifica se o valor da métrica é maior que o valor de comparação.
EQUAL Operador "igual a".
BETWEEN Para o operador "entre", os valores mínimo e máximo são exclusivos. Usamos LT e GT para comparação.

SequenceSegment

As condições de sequência consistem em uma ou mais etapas, e cada etapa é definida por uma ou mais condições de dimensão/métrica. É possível combinar várias etapas com operadores de sequência especiais.

Representação JSON
{
  "segmentSequenceSteps": [
    {
      object(SegmentSequenceStep)
    }
  ],
  "firstStepShouldMatchFirstHit": boolean
}
Campos
segmentSequenceSteps[]

object(SegmentSequenceStep)

A lista de etapas na sequência.

firstStepShouldMatchFirstHit

boolean

Se esse valor for definido, a condição de primeira etapa precisará corresponder ao primeiro hit do visitante (no período).

SegmentSequenceStep

A definição de uma sequência de segmento.

Representação JSON
{
  "orFiltersForSegment": [
    {
      object(OrFiltersForSegment)
    }
  ],
  "matchType": enum(MatchType)
}
Campos
orFiltersForSegment[]

object(OrFiltersForSegment)

Uma sequência é especificada com uma lista de filtros agrupados pelo operador "OR" que são combinados com o operador AND.

matchType

enum(MatchType)

Especifica se a etapa precede imediatamente a próxima etapa ou pode ocorrer a qualquer momento após a próxima etapa.

MatchType

O tipo de correspondência da sequência.

Enums
UNSPECIFIED_MATCH_TYPE Um tipo de correspondência não especificado é tratado como precedente.
PRECEDES O operador indica que a etapa anterior precede a próxima.
IMMEDIATELY_PRECEDES O operador indica que a etapa anterior precede imediatamente a próxima etapa.

Tabela dinâmica

A tabela dinâmica descreve a seção de tabela dinâmica na solicitação. A tabela dinâmica ajuda a reorganizar as informações na tabela de determinados relatórios dinamizando os dados em uma segunda dimensão.

Representação JSON
{
  "dimensions": [
    {
      object(Dimension)
    }
  ],
  "dimensionFilterClauses": [
    {
      object(DimensionFilterClause)
    }
  ],
  "metrics": [
    {
      object(Metric)
    }
  ],
  "startGroup": number,
  "maxGroupCount": number
}
Campos
dimensions[]

object(Dimension)

Uma lista de dimensões a serem exibidas como colunas dinâmicas. Uma tabela dinâmica pode ter no máximo quatro dimensões. As dimensões da tabela dinâmica são parte da restrição que se aplica ao número total de dimensões permitido na solicitação.

dimensionFilterClauses[]

object(DimensionFilterClause)

"DimensionFilterClauses" são combinados logicamente com um operador AND: somente dados incluídos por todos esses "DimensionFilterClauses" contribuem com os valores nessa região dinâmica. Filtros de dimensão podem ser usados para restringir as colunas exibidas na região dinâmica. Por exemplo, se você tiver ga:browser como a dimensão solicitada na região dinâmica e especificar os principais filtros para restringir ga:browser apenas a "IE" ou "Firefox", somente esses dois navegadores vão aparecer como colunas.

metrics[]

object(Metric)

As métricas da tabela dinâmica. As métricas da tabela dinâmica são parte da restrição que se aplica ao número total de métricas permitido na solicitação.

startGroup

number

Se k métricas forem solicitadas, a resposta terá algumas colunas múltiplas de k dependentes de dados no relatório. Por exemplo, se você mudou a dimensão ga:browser, k colunas para "Firefox", k colunas para "IE", k colunas para "Chrome" etc. A ordem dos grupos de colunas é determinada por ordem decrescente de "total" para o primeiro dos k valores. Os vínculos são rompidos pela classificação alfabética da primeira dimensão dinâmica, depois pela ordem alfabética da segunda dimensão dinâmica e assim por diante. Por exemplo, se os totais do primeiro valor para Firefox, IE e Chrome forem 8, 2 e 8, respectivamente, a ordem das colunas será Chrome, Firefox, IE.

Com as definições a seguir, você pode escolher quais dos grupos de k colunas estão incluídos na resposta.

maxGroupCount

number

Especifica o número de grupos a serem retornados. O valor padrão é 10, e o valor máximo é 1.000.

CohortGroup

Define um grupo de coorte. Exemplo:

"cohortGroup": {
  "cohorts": [{
    "name": "cohort 1",
    "type": "FIRST_VISIT_DATE",
    "dateRange": { "startDate": "2015-08-01", "endDate": "2015-08-01" }
  },{
    "name": "cohort 2"
     "type": "FIRST_VISIT_DATE"
     "dateRange": { "startDate": "2015-07-01", "endDate": "2015-07-01" }
  }]
}
Representação JSON
{
  "cohorts": [
    {
      object(Cohort)
    }
  ],
  "lifetimeValue": boolean
}
Campos
cohorts[]

object(Cohort)

A definição da coorte.

lifetimeValue

boolean

Ativa o valor da vida útil (LTV). O LTV avalia o valor da vida útil de usuários adquiridos por meio de canais diferentes. Consulte: Análise de coorte e Valor da vida útil. Se o valor da vida útil for "false":

  • Os valores de métrica são semelhantes aos valores na interface da Web do Relatório de coortes.
  • Os períodos de definição da coorte precisam estar alinhados à semana e ao mês do calendário. Por exemplo, ao solicitar ga:cohortNthWeek, o startDate na definição de coorte precisa ser um domingo e endDate deve ser o sábado seguinte. Para ga:cohortNthMonth, startDate deve ser o primeiro dia do mês e endDate deve ser o último dia do mês.

Quando "lifetimeValue" está definido como "true":

  • Os valores de métrica corresponderão aos valores na interface da Web do Relatório de valor da vida útil.
  • O Relatório de valor da vida útil mostra a evolução do valor do usuário (receita) e do engajamento (visualizações do aplicativo, conclusões de meta, sessões e duração da sessão) durante os 90 dias após a aquisição de um usuário.
  • As métricas são calculadas como uma média acumulativa por usuário e por incremento de tempo.
  • Os períodos de definição do coorte não precisam estar alinhados aos limites do calendário semanal e mensal.
  • O viewId precisa ser um ID da vista do aplicativo.

Coorte

Define um coorte. Um coorte é um grupo de usuários que compartilham uma característica comum. Por exemplo, todos os usuários com a mesma data de aquisição pertencem ao mesmo coorte.

Representação JSON
{
  "name": string,
  "type": enum(Type),
  "dateRange": {
    object(DateRange)
  }
}
Campos
name

string

Um nome exclusivo para a coorte. Se não definido, o nome será gerado automaticamente com os valores "cohort_[1234...]".

type

enum(Type)

Tipo de coorte. O único tipo com suporte a partir de agora é FIRST_VISIT_DATE. Se esse campo não for especificado, a coorte será tratada como do tipo FIRST_VISIT_DATE.

dateRange

object(DateRange)

Esse valor é usado para o coorte FIRST_VISIT_DATE. O coorte seleciona usuários cuja primeira visita ocorreu entre a data de início e de término definidas em "DateRange". Os períodos devem estar alinhados para solicitações de coorte. Se a solicitação contém ga:cohortNthDay, a duração precisa ser de exatamente um dia, se ga:cohortNthWeek precisa estar alinhada ao limite da semana (começando no domingo e terminando no sábado) e para ga:cohortNthMonth o período precisa ser alinhado ao mês (começando no primeiro e terminando no último dia do mês). Para solicitações de LTV, essas restrições não se aplicam. Não é preciso fornecer um período para o campo reportsRequest.dateRanges.

Tipo

O tipo de coorte.

Enums
UNSPECIFIED_COHORT_TYPE Se esse valor não for especificado, será tratado como FIRST_VISIT_DATE.
FIRST_VISIT_DATE Coortes selecionadas com base na data da primeira visita.

Denunciar

A resposta de dados correspondente à solicitação.

Representação JSON
{
  "columnHeader": {
    object(ColumnHeader)
  },
  "data": {
    object(ReportData)
  },
  "nextPageToken": string
}
Campos
columnHeader

object(ColumnHeader)

Os cabeçalhos das colunas.

data

object(ReportData)

Dados de resposta.

nextPageToken

string

Token da página para recuperar a próxima página de resultados na lista.

ColumnHeader

Cabeçalhos de coluna.

Representação JSON
{
  "dimensions": [
    string
  ],
  "metricHeader": {
    object(MetricHeader)
  }
}
Campos
dimensions[]

string

Os nomes de dimensões na resposta.

metricHeader

object(MetricHeader)

Cabeçalhos de métrica para as métricas na resposta.

MetricHeader

Os cabeçalhos das métricas.

Representação JSON
{
  "metricHeaderEntries": [
    {
      object(MetricHeaderEntry)
    }
  ],
  "pivotHeaders": [
    {
      object(PivotHeader)
    }
  ]
}
Campos
metricHeaderEntries[]

object(MetricHeaderEntry)

Cabeçalhos das métricas na resposta.

pivotHeaders[]

object(PivotHeader)

Cabeçalhos das tabelas dinâmicas na resposta.

MetricHeaderEntry

Cabeçalho das métricas.

Representação JSON
{
  "name": string,
  "type": enum(MetricType)
}
Campos
name

string

O nome do cabeçalho.

type

enum(MetricType)

O tipo de métrica. Por exemplo, INTEGER.

PivotHeader

Os cabeçalhos para cada uma das seções dinâmicas definidas na solicitação.

Representação JSON
{
  "pivotHeaderEntries": [
    {
      object(PivotHeaderEntry)
    }
  ],
  "totalPivotGroupsCount": number
}
Campos
pivotHeaderEntries[]

object(PivotHeaderEntry)

Um único cabeçalho de seção dinâmica.

totalPivotGroupsCount

number

O número total de grupos da tabela dinâmica.

PivotHeaderEntry

Os cabeçalhos para cada coluna de métrica correspondente às métricas solicitadas na seção dinâmica da resposta.

Representação JSON
{
  "dimensionNames": [
    string
  ],
  "dimensionValues": [
    string
  ],
  "metric": {
    object(MetricHeaderEntry)
  }
}
Campos
dimensionNames[]

string

O nome das dimensões na resposta dinâmica.

dimensionValues[]

string

Os valores das dimensões na tabela dinâmica.

metric

object(MetricHeaderEntry)

O cabeçalho da métrica na tabela dinâmica.

ReportData

A parte de dados do relatório.

Representação JSON
{
  "rows": [
    {
      object(ReportRow)
    }
  ],
  "totals": [
    {
      object(DateRangeValues)
    }
  ],
  "rowCount": number,
  "minimums": [
    {
      object(DateRangeValues)
    }
  ],
  "maximums": [
    {
      object(DateRangeValues)
    }
  ],
  "samplesReadCounts": [
    string
  ],
  "samplingSpaceSizes": [
    string
  ],
  "isDataGolden": boolean,
  "dataLastRefreshed": string
}
Campos
rows[]

object(ReportRow)

Há um "ReportRow" para cada combinação exclusiva de dimensões.

totals[]

object(DateRangeValues)

Para cada período solicitado, para o conjunto de todas as linhas que correspondem à consulta, cada formato de valor solicitado recebe um total. O total de um formato de valor é computado primeiro somando as métricas mencionadas no formato de valor e avaliando o formato de valor como uma expressão escalar. Por exemplo: Os "totais" para 3 / (ga:sessions + 2) que calculamos 3 / ((sum of all relevant ga:sessions) + 2). Os totais são computados antes da paginação.

rowCount

number

Número total de linhas correspondentes para essa consulta.

minimums[]

object(DateRangeValues)

Valores mínimo e máximo observados em todas as linhas correspondentes. Eles ficam vazios quando hideValueRanges na solicitação é "false" ou quando "rowCount" é zero.

maximums[]

object(DateRangeValues)

Valores mínimo e máximo observados em todas as linhas correspondentes. Eles ficam vazios quando hideValueRanges na solicitação é "false" ou quando "rowCount" é zero.

samplesReadCounts[]

string (int64 format)

Se os resultados forem de amostra, esse campo retornará o número total de amostras analisadas, uma entrada por período. Se os resultados não forem de amostra, esse campo não será definido. Consulte o guia do desenvolvedor para ver detalhes.

samplingSpaceSizes[]

string (int64 format)

Se os resultados forem de amostra, esse campo retornará o número total de amostras presentes, uma entrada por período. Se os resultados não forem de amostra, esse campo não será definido. Consulte o guia do desenvolvedor para ver detalhes.

isDataGolden

boolean

Indica se a resposta à solicitação é padrão ouro ou não. Os dados são padrão ouro quando a mesma solicitação exata não produz novos resultados quando é feita no futuro.

dataLastRefreshed

string (Timestamp format)

A última vez em que os dados do relatório foram atualizados. Todos os hits recebidos antes desse carimbo de data/hora são incluídos no cálculo do relatório.

É um carimbo de data/hora no formato UTC "Zulu" RFC3339, medido com precisão de nanossegundos. Exemplo: "2014-10-02T15:01:23.045123456Z".

ReportRow

Uma linha no relatório.

Representação JSON
{
  "dimensions": [
    string
  ],
  "metrics": [
    {
      object(DateRangeValues)
    }
  ]
}
Campos
dimensions[]

string

Lista de dimensões solicitadas.

metrics[]

object(DateRangeValues)

Lista de métricas para cada "DateRange" solicitado.

DateRangeValues

Usado para retornar uma lista de métricas para uma única combinação de "DateRange" / dimensão

Representação JSON
{
  "values": [
    string
  ],
  "pivotValueRegions": [
    {
      object(PivotValueRegion)
    }
  ]
}
Campos
values[]

string

Cada valor corresponde a uma métrica na solicitação.

pivotValueRegions[]

object(PivotValueRegion)

Os valores de cada região dinâmica.

PivotValueRegion

Os valores de métrica na região dinâmica.

Representação JSON
{
  "values": [
    string
  ]
}
Campos
values[]

string

Os valores das métricas em cada uma das regiões dinâmicas.

ResourceQuotasRemaining

Os tokens de cota de recursos restantes para a propriedade após a conclusão da solicitação.

Representação JSON
{
  "dailyQuotaTokensRemaining": number,
  "hourlyQuotaTokensRemaining": number
}
Campos
dailyQuotaTokensRemaining

number

Cota diária de recursos restante.

hourlyQuotaTokensRemaining

number

Tokens de cota de recursos restantes por hora.

Confira!