AlgorithmRules

Algoritmo baseado em regras.

Representação JSON
{
  "impressionSignalRuleset": {
    object (Ruleset)
  },
  "postImpressionSignalRuleset": {
    object (Ruleset)
  },
  "attributionModelId": string
}
Campos
impressionSignalRuleset

object (Ruleset)

Regras para os indicadores de impressão.

postImpressionSignalRuleset

object (Ruleset)

Regras para os indicadores pós-impressão.

Esse campo só é compatível com parceiros na lista de permissões.

attributionModelId

string (int64 format)

Modelo de atribuição para o algoritmo.

Esse campo só é compatível com parceiros na lista de permissões.

Conjunto de regras

Um conjunto de regras que consiste em uma lista de regras e como agregar os valores resultantes.

Representação JSON
{
  "rules": [
    {
      object (Rule)
    }
  ],
  "aggregationType": enum (RuleAggregationType),
  "maxValue": number
}
Campos
rules[]

object (Rule)

Lista de regras para gerar o valor da impressão.

aggregationType

enum (RuleAggregationType)

Como agregar valores de regras avaliadas.

maxValue

number

Valor máximo que o conjunto de regras pode avaliar.

Regra

Conjunto de condições.

O valor de retorno da regra é:

  • O valor de retorno para uma condição atendida ou
  • O valor de retorno padrão definido se nenhuma condição for atendida.
Representação JSON
{
  "conditions": [
    {
      object (RuleCondition)
    }
  ],
  "defaultReturnValue": {
    object (SignalValue)
  }
}
Campos
conditions[]

object (RuleCondition)

Lista de condições nesta regra. Os critérios entre as condições precisam ser mutuamente exclusivos.

defaultReturnValue

object (SignalValue)

O valor de retorno padrão aplicado quando nenhuma das condições é atendida.

RuleCondition

Conjunto de comparações de indicadores. Equivalente a uma instrução if.

Representação JSON
{
  "signalComparisons": [
    {
      object (SignalComparison)
    }
  ],
  "returnValue": {
    object (SignalValue)
  }
}
Campos
signalComparisons[]

object (SignalComparison)

Lista de comparações que criam a condição da instrução if. As comparações são combinadas em uma única condição com operadores lógicos AND.

returnValue

object (SignalValue)

O valor retornado se a condição signalComparisons for avaliada como TRUE.

SignalComparison

Uma única comparação. A comparação compara o signal com o comparisonValue.

A comparação de siteId==123 é representada com os seguintes valores de campo:

  • signal tem um impressionSignal de SITE_ID.
  • comparisonOperator é definido como EQUAL.
  • comparisonValue, definida como 123.
Representação JSON
{
  "signal": {
    object (Signal)
  },
  "comparisonOperator": enum (ComparisonOperator),
  "comparisonValue": {
    object (ComparisonValue)
  }
}
Campos
signal

object (Signal)

O indicador a ser comparado.

comparisonOperator

enum (ComparisonOperator)

Operador usado para comparar os dois valores.

Na expressão resultante, signal será o primeiro valor e "comparisonValue" será o segundo.

comparisonValue

object (ComparisonValue)

Valor para comparar o indicador.

Indicador

Indicador usado para avaliar regras.

Representação JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "impressionSignal": enum (ImpressionSignal),
  "clickSignal": enum (ClickSignal),
  "activeViewSignal": enum (ActiveViewSignal)
  // End of mutually exclusive fields.
}
Campos
O indicador usado para avaliar regras. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
impressionSignal

enum (ImpressionSignal)

Indicador com base em impressões.

clickSignal

enum (ClickSignal)

Indicador com base em cliques.

Esse campo só é compatível com parceiros na lista de permissões.

activeViewSignal

enum (ActiveViewSignal)

Indicador com base em visualizações ativas.

Esse campo só é compatível com parceiros na lista de permissões.

Fim dos campos mutuamente exclusivos.

ComparisonValue

Um valor para comparar com o indicador.

Representação JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "int64Value": string,
  "doubleValue": number,
  "stringValue": string,
  "boolValue": boolean,
  "creativeDimensionValue": {
    object (Dimensions)
  },
  "dayAndTimeValue": {
    object (DayAndTime)
  },
  "deviceTypeValue": enum (RuleDeviceType),
  "onScreenPositionValue": enum (OnScreenPosition),
  "environmentValue": enum (Environment),
  "exchangeValue": enum (Exchange),
  "contentDurationValue": enum (ContentDuration),
  "contentStreamTypeValue": enum (ContentStreamType),
  "contentGenreIdValue": string,
  "videoPlayerSizeValue": enum (VideoPlayerSize)
  // End of mutually exclusive fields.
}
Campos
O valor a ser comparado com o indicador. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
int64Value

string (int64 format)

Número inteiro.

doubleValue

number

Valor duplo.

stringValue

string

Valor da string.

boolValue

boolean

Valor booleano.

creativeDimensionValue

object (Dimensions)

Valor da dimensão do criativo.

dayAndTimeValue

object (DayAndTime)

Valor de dia e hora. Somente TIME_ZONE_RESOLUTION_END_USER é aceito.

deviceTypeValue

enum (RuleDeviceType)

Valor do tipo de dispositivo.

onScreenPositionValue

enum (OnScreenPosition)

Valor da posição do anúncio.

environmentValue

enum (Environment)

Valor do ambiente.

exchangeValue

enum (Exchange)

Valor da troca.

contentDurationValue

enum (ContentDuration)

Valor da duração do conteúdo em vídeo.

contentStreamTypeValue

enum (ContentStreamType)

Valor do tipo de exibição do vídeo.

contentGenreIdValue

string (int64 format)

Valor do ID do gênero do vídeo.

videoPlayerSizeValue

enum (VideoPlayerSize)

Valor do tamanho do player de vídeo.

Esse campo só é compatível com parceiros na lista de permissões.

Fim dos campos mutuamente exclusivos.

DayAndTime

Representação do tempo definido por dia da semana e hora do dia.

Representação JSON
{
  "dayOfWeek": enum (DayOfWeek),
  "hourOfDay": integer,
  "timeZoneResolution": enum (TimeZoneResolution)
}
Campos
dayOfWeek

enum (DayOfWeek)

Obrigatório. Dia da semana.

hourOfDay

integer

Obrigatório. Hora do dia.

timeZoneResolution

enum (TimeZoneResolution)

Obrigatório. O mecanismo usado para determinar o fuso horário relevante.

SignalValue

Valor ajustado do indicador usado para avaliação da regra.

Representação JSON
{

  // The following is a list of mutually exclusive fields. At most one of the
  // fields will be set in a response:
  "activeViewSignal": enum (ActiveViewSignal),
  "floodlightActivityConversionSignal": {
    object (FloodlightActivityConversionSignal)
  }
  // End of mutually exclusive fields.
  "number": number
}
Campos
O indicador de base usado para gerar o valor. Confira a seguir uma lista de campos mutuamente exclusivos. No máximo um dos campos será definido em uma resposta:
activeViewSignal

enum (ActiveViewSignal)

Indicador com base em visualizações ativas. Somente TIME_ON_SCREEN é aceito.

Esse campo só é compatível com parceiros na lista de permissões.

floodlightActivityConversionSignal

object (FloodlightActivityConversionSignal)

Indicador com base em eventos de conversão do Floodlight.

Esse campo só é compatível com parceiros na lista de permissões.

Fim dos campos mutuamente exclusivos.
number

number

Valor a ser usado como resultado.

FloodlightActivityConversionSignal

A regra para pontuar impressões com base em eventos de conversão do Floodlight.

Representação JSON
{
  "floodlightActivityId": string,
  "countingMethod": enum (CountingMethod),
  "conversionCounting": enum (ConversionCounting)
}
Campos
floodlightActivityId

string (int64 format)

Obrigatório. ID da atividade do Floodlight.

countingMethod

enum (CountingMethod)

Obrigatório. A maneira de adquirir valor da atividade do Floodlight, por exemplo, contagem da conversão.

conversionCounting

enum (ConversionCounting)

Obrigatório. O tipo de conversões a ser usado no cálculo do valor da impressão, por exemplo, conversões pós-clique.