Anúncios nativos

Os anúncios nativos são formatados para se ajustar ao conteúdo e ao design visual, aumentando a probabilidade de serem vistos e clicados pelos usuários. O inventário de anúncios nativos está disponível em apps para dispositivos móveis, além de sites para computadores e dispositivos móveis. Para mais informações sobre anúncios nativos, consulte Visão geral dos anúncios nativos.

Os anúncios nativos são compatíveis com o Authorized Buyers e o Open Bidding.

Este é o fluxo de trabalho para anúncios nativos:

  1. Uma chamada de um anúncio nativo é feita ao Google. A chamada especifica um ou ambos os modelos de anúncio nativo a seguir, cada um especificando os campos nativos preferidos.
  2. O Google envia aos compradores uma solicitação de lance em tempo real com uma lista dos campos que estão sendo solicitados.
  3. Os compradores interessados respondem com os campos solicitados.
  4. O Google abre um leilão para selecionar o lance vencedor e envia os recursos do criativo fornecidos pelo comprador ao editor.
  5. O editor monta os recursos em um anúncio nativo e os estiliza para se ajustar ao design do site.

Formatos de mensagem

O Google oferece suporte à especificação do OpenRTB em JSON e Protobuf.

Para anúncios nativos do OpenRTB Protobuf, os seguintes campos são diferentes da especificação:

JSON Tipo de JSON Protobuf Tipo de protobuf
BidRequest.imp[].native.request string BidRequest.imp[].native.request_native NativeRequest
BidResponse.seatbid[].bid[].adm string BidResponse.seatbid[].bid[].adm_native NativeResponse

Os campos do OpenRTB Protobuf são mensagens Protobuf, não strings.

Se você usar a implementação do Protobuf do OpenRTB, seu endpoint vai receber solicitações de lance que contêm BidRequest.imp.native.request_native em vez de BidRequest.imp.native.request. Além disso, seu endpoint precisa retornar respostas de lance que preencham BidResponse.seatbid.bid.adm_native em vez de BidResponse.seatbid.bid.adm. Caso contrário, ele será filtrado do leilão.

Se você usar um SDK do comprador para renderizar anúncios nativos, inclua uma imagem type no declared_ad ao enviar criativos para análise.

Modelos de anúncios nativos

Os modelos de anúncios nativos descrevem os componentes de um anúncio nativo e determinam o conteúdo e a estrutura do NativeRequest do OpenRTB ou do protocolo RTB do Google descontinuado na solicitação de lance.NativeAdTemplate O Google oferece suporte aos dois modelos de anúncios nativos mais comuns para anúncios não em vídeo e em vídeo:

Outros modelos existem e podem ter um conjunto diferente de requisitos para campos, dimensões e tamanhos.

Modelo de anúncio de instalação de apps

As tabelas a seguir mostram campos marcados como Obrigatório ou Recomendado. Aplicam-se as seguintes regras:

  • Os campos marcados como Obrigatório são exigidos pelo proponente.
  • Os campos marcados como Recomendados não são obrigatórios para o bidder, e o editor pode ou não exibi-los se forem fornecidos (por exemplo, classificação por estrelas).
  • A call-to-action (CTA) é sempre marcada como Recomendada porque um padrão é atribuído se ela não for enviada pelo bidder, mas ela sempre será mostrada se for enviada.

A tabela a seguir lista os campos de um modelo de anúncio de instalação de app. Os apps para dispositivos móveis usam esses campos para criar anúncios nativos de instalação de apps.

Campo Descrição Obrigatório ou recomendado? Sempre exibido? Tamanho de imagem recomendado/número máximo de caracteres Exemplo
Título O título do app Obrigatório Sim 25 caracteres Flood-It!
Imagem Uma captura de tela do app ou outra imagem relevante Obrigatório Não 1.200 x 627 px ou 600 x 600 px,dependendo da proporção exigida pelo editor. <Uma captura de tela do jogo Flood-It!>
Corpo Texto principal do app Obrigatório Não 90 caracteres Simples e desafiador = viciante!
Ícone do app O ícone do app Obrigatório Não 128 x 128 px <ícone do app Flood-it!>
Call-to-action Ação do usuário preferida Recomendado Sim 15 caracteres Instalar
Star rating Número de estrelas (0 a 5) que representam a classificação do app na app store Recomendado Não 0 a 5 4,5
Preço O custo do app Recomendado Não 15 caracteres Grátis

Observações sobre o comprimento do texto

Se um comprador enviar um recurso de texto (corpo do texto, por exemplo) com mais caracteres do que o número máximo sugerido, o texto poderá ser truncado e cortado pelo Google ou pelo editor. Os limites de truncamento são metade do tamanho em chinês, japonês e coreano. Por exemplo, o limite do título é 90 para o inglês e 45 para o chinês.

Observações sobre o tamanho da imagem

Os editores podem:

  • Cortar a imagem principal de forma simétrica em até 20% em uma dimensão (altura ou largura).
  • Redimensionar a imagem sem mudar a proporção.
  • As imagens com proporções substancialmente diferentes das implícitas pela altura e largura podem ser filtradas.

Modelo de anúncio de conteúdo

A tabela a seguir lista os campos de um modelo de anúncio de conteúdo. Os editores usam esses campos para criar anúncios de conteúdo nativo.

Campo Descrição Obrigatório ou recomendado? Sempre exibido? Tamanho de imagem recomendado/número máximo de caracteres * Exemplo
Título Cabeçalho do anúncio Obrigatório Sim 25 caracteres Menores taxas de hipoteca
Imagem A imagem principal do anúncio Obrigatório Não 1.200 x 627 px ou 600 x 600 px,dependendo da proporção exigida pelo editor. <Imagem principal do anúncio>
Corpo O conteúdo do anúncio Obrigatório Não 90 caracteres Sua casa doce casa em Brooklyn, mais barata e mais rápida do que você pensa!
Logotipo Logotipo do anunciante ou outra imagem pequena relevante Recomendado Não 128 x 128 px <Logotipo da NY Mortgage Inc.>
Call-to-action Ação preferida do usuário Recomendado Não 15 caracteres Receber um orçamento
Advertiser Texto que identifica o anunciante ou a marca Obrigatório Não 25 caracteres NY Mortgage Inc.

Modelo de anúncio em vídeo de instalação de apps

Campo Descrição Obrigatório ou recomendado? Sempre exibido? Tamanho de imagem recomendado/número máximo de caracteres * Exemplo
Vídeo É a resposta VAST de vídeo com todos os recursos necessários para exibir um anúncio desse tipo. Obrigatório Não - Um URL para o XML VAST que contém um Flood-It! Anúncio em vídeo
Título O título do app Obrigatório Sim 25 caracteres Flood-It!
Imagem É a imagem (miniatura) exibida no player antes do clique ou durante o carregamento do anúncio em vídeo. Obrigatório Não As dimensões precisam corresponder à proporção do vídeo (por exemplo, 1.280 x 720 para vídeos de 16 x 9 ou 4 x 3 para vídeos de 640 x 480). Captura de tela do jogo Flood-It! Ou no vídeo
Corpo Texto principal do app Obrigatório Não 90 caracteres Simples e desafiador = viciante!
Ícone do app O ícone do app Obrigatório Não 128 x 128 px Ícone do app Flood-it!
Call-to-action Ação do usuário preferida Obrigatório Sim 15 caracteres Instalar
Star rating Número de estrelas (0 a 5) que representam a classificação do app na app store Recomendado Não 0 a 5 4,5
Preço O custo do app Recomendado Não 15 caracteres Grátis

Restrições

  • Vídeo: todo vídeo precisa estar no formato de um URL VAST ou uma tag VAST. Não é possível especificar um arquivo de vídeo bruto, como WebM, MP4 etc.

  • Comprimento do texto: se um comprador especificar um recurso de texto, como body, na resposta, ele poderá ser truncado e cortado pelo Google ou pelo editor. Os limites de truncamento são metade do tamanho em chinês, japonês e coreano. Por exemplo, o limite do título é 90 em inglês e 45 para o chinês.

  • Tamanho da imagem: os editores podem:

    • Cortar a imagem principal de forma simétrica em até 20% em uma dimensão (altura ou largura).
    • Redimensionar a imagem sem mudar a proporção.

Exemplo de anúncio de instalação de apps

vídeo nativo

Modelo de anúncio de conteúdo em vídeo

Campo Descrição Obrigatório ou recomendado? Sempre exibido? Tamanho de imagem recomendado/número máximo de caracteres * Exemplo
Vídeo É a resposta VAST de vídeo com todos os recursos necessários para exibir um anúncio desse tipo. Obrigatório Sim - Um URL para o XML VAST que contém um Flood-It! Anúncio em vídeo
Título Cabeçalho do anúncio Obrigatório Sim 25 caracteres Menores taxas de hipoteca
Imagem É a imagem (miniatura) exibida no player antes do clique ou durante o carregamento do anúncio em vídeo. Obrigatório Não As dimensões precisam corresponder à proporção do vídeo (por exemplo, 1.280 x 720 para vídeos de 16 x 9 ou 4 x 3 para vídeos de 640 x 480). Uma captura de tela do vídeo
Corpo O conteúdo do anúncio Obrigatório Não 90 caracteres Sua casa doce casa em Brooklyn, mais barata e mais rápida do que você pensa!
Logotipo Logotipo do anunciante ou outra imagem pequena relevante Recomendado Não 128 x 128 px Logotipo da NY Mortgage Inc.
Call-to-action Ação preferida do usuário Obrigatório Não 15 caracteres Receber um orçamento
Advertiser Texto que identifica o anunciante ou a marca Obrigatório Não 25 caracteres NY Mortgage Inc.

Campos de metadados

Os metacampos a seguir são compartilhados por todos os modelos de anúncio com suporte:

Protocolo de RTB do Google Equivalente do OpenRTB Descrição
NativeAd.click_link_url Link.url O URL que será chamado pelo navegador quando o usuário clicar no anúncio. Pode ser a primeira etapa de uma cadeia de redirecionamento que leva à página de destino. Para anúncios nativos, recomendamos usar click_link_url como o campo para definir o destino para onde o usuário vai. É necessário usar esse campo no caso de páginas de destino dinâmicas.
Ad.click_through_url Bid.adomain

Precisa ser definido se o proponente pretende dar lances. É o conjunto de URLs de destino do snippet, incluindo os URLs para onde o usuário vai se clicar no anúncio exibido e os URLs que estão visíveis no anúncio renderizado. Não inclua chamadas intermediárias para o servidor de anúncios que não estejam relacionadas à página de destino final. Uma BidResponse que retorna um snippet ou anúncio em vídeo, mas declara que não tem click_through_url, será descartada. Defina esse campo somente se html_snippet, video_url ou native_ad estiverem definidos. Esses dados são usados como uma declaração de URL de destino, por exemplo, para a filtragem pós-filtragem de URLs bloqueados pelo editor ou categorização de anúncios. Consulte NativeAd.click_link_url ao usar anúncios nativos.

Para anúncios não nativos, ele não é usado para rastreamento de cliques ou qualquer outra funcionalidade de anúncio. Ele é usado apenas como uma declaração de URL de destino.

Para anúncios nativos, se NativeAd.click_link_url não estiver definido, o primeiro valor de click_through_url será usado para direcionar o usuário à página de destino. Além disso, todos os valores são usados como declarações de URL de destino, de forma semelhante ao caso não nativo.

NativeAd.click_tracking_urls Link.clicktrackers Opcional. Outros URLs que permitem que os anunciantes rastreiem os cliques dos usuários no anúncio.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Link para uma página de preferências de anúncios ou de desativação. Se presente, um ícone padrão das Opções de anúncios é adicionado ao criativo nativo e vinculado a esse URL. Isso é compatível com anúncios nativos, mas não faz parte da mensagem nativa na resposta do lance.
Ad.impression_tracking_url NativeResponse.imptrackers A impressão nativa precisa ser rastreada com impression_tracking_url no proto de lances em tempo real do Authorized Buyers ou em imptrackers nativos no OpenRTB.

required_fields e recommended_fields são especificados pelo editor. Mostramos como converter esses campos de bits para determinar se um campo é obrigatório ou recomendado.

Um campo de bit usa cada bit de um valor binário para armazenar uma instrução verdadeira ou falsa, o que equivale a enviar muitos sinais booleanos, como is_logo_required ou is_header_required, mas todos agrupados.

Exemplo

Neste exemplo, vamos usar um valor de required_fields de 1085.

Primeiro, encontre o valor binário equivalente: 10000111101

Depois de ter o valor binário, você pode verificar os bits para saber se um campo é obrigatório (1) ou não (0).

A tabela a seguir mapeia os campos para o lugar deles no valor binário. Leia o binário da direita para a esquerda, com o bit 1 correspondendo ao lugar mais à direita no valor binário.

Campo Posição do valor binário (da direita para a esquerda)
HEADLINE 1
BODY 2
CALL_TO_ACTION 4
ADVERTISER 8
IMAGE 16
LOGO 32
APP_ICON 64
STAR_RATING 128
PRICE 256
STORE 512
VIDEO 1024

No exemplo de valor binário 10000111101, o de 1 bit (mais à direita) é 1, indicando um valor obrigatório. De acordo com a tabela, o de 1 bit corresponde a HEADLINE.

O de 2 bits (segundo valor à direita) é 0, significando não obrigatório. O de 2 bits corresponde a BODY.

Confira todos os campos obrigatórios interpretados no nosso exemplo:

Valor Descrição Obrigatório?
1 VIDEO Sim
0 STORE Não
0 PRICE Não
0 STAR_RATING Não
0 APP_ICON Não
1 LOGO Sim
1 IMAGE Sim
1 ADVERTISER Sim
1 CALL_TO_ACTION Sim
0 BODY Não
1 HEADLINE Sim

Representação do modelo de anúncio nativo na solicitação de lance

Ao receber uma solicitação de lance com inventário nativo, ela vai conter o modelo de anúncio nativo em diferentes formas, dependendo do protocolo usado. Recomendamos usar o OpenRTB porque o protocolo do Google foi descontinuado.

No OpenRTB, o modelo de anúncio nativo é descrito com a mensagem NativeRequest. No protocolo do Google RTB, ele é descrito com NativeAdTemplate. Essas mensagens fornecem os seguintes detalhes sobre o inventário de anúncios nativos:

  • Campos obrigatórios ou recomendados.
  • Dimensões para imagens, logotipos e ícones de apps.
  • Especificações do estilo em que o anúncio é renderizado.

IDs de recursos do OpenRTB

O OpenRTB transmite uma matriz de recursos na solicitação de lance que descrevem a estrutura do anúncio nativo que você precisa retornar na resposta. Cada recurso na solicitação terá um ID que precisa ser especificado para o recurso correspondente na resposta. Para conferir um exemplo de como esses IDs correspondem à solicitação e à resposta, consulte o exemplo de solicitação de lance nativo e o exemplo de resposta de lance nativo.

Representação de um anúncio nativo na resposta do lance

Ao dar lances em inventário nativo, o comprador precisa preencher os campos obrigatórios que foram identificados na solicitação de lance. No OpenRTB, é possível fazer isso com BidResponse.seatbid.bid.adm_native ao usar Protobuf ou BidResponse.seatbid.bid.adm para JSON. Para o protocolo descontinuado do Google, isso é feito com o campo BidResponse.ad.native_ad.

Exemplos de solicitações de lance

Solicitações de lance que não são de vídeo

Solicitação serializada
id: "l6210s8bS8Uc726V81B821"
imp {
  id: "1"
  tagid: "3019814809"
  bidfloor: 0.06
  bidfloorcur: "USD"
  secure: true
  native {
    ver: "1.2"
    request_native {
      ver: "1.2"
      assets {
        id: 1
        required: true
        title {
          len: 25
        }
      }
      assets {
        id: 2
        required: true
        data {
          type: DESC
          len: 90
        }
      }
      assets {
        id: 3
        data {
          type: CTATEXT
          len: 15
        }
      }
      assets {
        id: 4
        required: true
        img {
          type: MAIN
          wmin: 1200
          hmin: 627
        }
      }
      assets {
        id: 5
        img {
          type: LOGO
          wmin: 100
          hmin: 100
        }
      }
      eventtrackers {
        event: IMPRESSION
        methods: IMG
      }
      privacy: true
      [com.google.doubleclick.native_ext] {
        style_id: 497439
        style_height: 1
        style_width: 1
        style_layout_type: FLUID
      }
    }
  }
  exp: 3600
  metric {
    type: "click_through_rate"
    value: 0.0006697923527099192
    vendor: "EXCHANGE"
  }
  metric {
    type: "viewability"
    value: 0.05
    vendor: "EXCHANGE"
  }
  [com.google.doubleclick.imp] {
    billing_id: 50577321529
    dfp_ad_unit_code: "/3711494/google/test"
    ampad: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
    buyer_generated_request_data {
      data: "Test Data"
    }
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    excluded_creatives {
      buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
    }
    open_bidding {
      is_open_bidding: true
    }
    creative_enforcement_settings {
      policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
      publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_OVERRIDDEN
    }
    auction_environment: SERVER_SIDE_AUCTION
    ae: SERVER_SIDE_AUCTION
  }
}
site {
  page: "https://www.google.com"
  publisher {
    id: "pub-1111111111111111"
    [com.google.doubleclick.publisher] {
      country: "FR"
    }
  }
  content {
    livestream: false
    language: "fr"
  }
  [com.google.doubleclick.site] {
    amp: DIALECT_HTML
    page_visibility: VISIBILITY_STATE_VISIBLE
    inventorypartnerdomain: ""
    ntype: NAVIGATION_TYPE_NAVIGATE
  }
}
device {
  ua: "OMITTED"
  geo {
    lat: 0.0
    lon: 0.0
    country: "FRA"
    region: "FR-C"
    zip: "63120"
    type: IP
    utcoffset: 120
    accuracy: 6948
    [com.google.doubleclick.geo] {
      geo_criteria_id: 9112278
    }
  }
  ipv6: "2a01:cb14:8183::"
  os: "Windows"
  devicetype: PERSONAL_COMPUTER
  lmt: false
  pxratio: 1.0
  sua {
    browsers {
      brand: "Chromium"
      version: "130"
      version: "0"
    }
    browsers {
      brand: "Microsoft Edge"
      version: "130"
      version: "0"
    }
    platform {
      brand: "Windows"
      version: "15"
      version: "0"
    }
    mobile: false
    architecture: "x86"
    bitness: "64"
    source: CLIENT_HINTS_HIGH_ENTROPY
  }
}
user {
  [com.google.doubleclick.user] {
    consented_providers_settings {
      consented_providers: 1712
      consented_providers: 2316
      additional_consent: "OMITTED"
    }
    consent: "OMITTED"
    eids {
      source: "OMITTED"
      uids {
        id: "12JD92JD8078S8J29SDOAKC0EF230337"
      }
    }
  }
}
at: FIRST_PRICE
tmax: 350
cur: "USD"
regs {
  gpp: "OMITTED"
  [com.google.doubleclick.regs] {
    gdpr: true
  }
}
source {
  schain {
    complete: true
    nodes {
      asi: "testssp.com"
      sid: "pub-1111111111111111"
      hp: true
    }
    ver: "1.0"
  }
  [com.google.doubleclick.source] {
    schain {
      complete: 1
      nodes {
        asi: "testssp.com"
        sid: "pub-1111111111111111"
        hp: 1
      }
      ver: "1.0"
    }
  }
}
[com.google.doubleclick.bid_request] {
  google_query_id: "ANy-zyo598-4J62UYQ5J70Wm78t166uKD8322K98ik4X5496cn305Sp16t94Mhegp514jh1v"
  fcap_scope: FREQUENCY_CAPPING_SCOPE_NONE
}
{
  "id": "l6210s8bS8Uc726V81B821",
  "imp": [
    {
      "id": "1",
      "tagid": "3019814809",
      "bidfloor": 0.06,
      "bidfloorcur": "USD",
      "secure": 1,
      "native": {
        "ver": "1.2",
        "request": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"required\":1,\"title\":{\"len\":25}},{\"id\":2,\"required\":1,\"data\":{\"type\":2,\"len\":90}},{\"id\":3,\"data\":{\"type\":12,\"len\":15}},{\"id\":4,\"required\":1,\"img\":{\"type\":3,\"wmin\":1200,\"hmin\":627}},{\"id\":5,\"img\":{\"type\":2,\"wmin\":100,\"hmin\":100}}],\"eventtrackers\":[{\"event\":1,\"methods\":[1]}],\"privacy\":1,\"ext\":{\"style_id\":497439,\"style_height\":1,\"style_width\":1,\"style_layout_type\":1}}"
      },
      "exp": 3600,
      "metric": [
        {
          "type": "click_through_rate",
          "value": 0.0006697923527099192,
          "vendor": "EXCHANGE"
        },
        {
          "type": "viewability",
          "value": 0.05,
          "vendor": "EXCHANGE"
        }
      ],
      "ext": {
        "billing_id": [
          "50577321529"
        ],
        "dfp_ad_unit_code": "/3711494/google/test",
        "ampad": 3,
        "buyer_generated_request_data": [
          {
            "data": "Test Data"
          }
        ],
        "excluded_creatives": [
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          },
          {
            "buyer_creative_id": "EXCLUDED_BUYER_CREATIVE_ID"
          }
        ],
        "open_bidding": {
          "is_open_bidding": 1
        },
        "creative_enforcement_settings": {
          "policy_enforcement": 1,
          "publisher_blocks_enforcement": 2
        },
        "auction_environment": 0,
        "ae": 0
      }
    }
  ],
  "site": {
    "page": "https://www.google.com",
    "publisher": {
      "id": "pub-1111111111111111",
      "ext": {
        "country": "FR"
      }
    },
    "content": {
      "livestream": 0,
      "language": "fr"
    },
    "ext": {
      "amp": 0,
      "page_visibility": 1,
      "inventorypartnerdomain": "OMITTED",
      "ntype": 1
    }
  },
  "device": {
    "ua": "OMITTED",
    "geo": {
      "lat": 0.0,
      "lon": 0.0,
      "country": "FRA",
      "region": "FR-C",
      "zip": "63120",
      "type": 2,
      "utcoffset": 120,
      "accuracy": 6948,
      "ext": {
        "geo_criteria_id": 9112278
      }
    },
    "ipv6": "2a01:cb14:8183::",
    "os": "Windows",
    "devicetype": 2,
    "lmt": 0,
    "pxratio": 1.0,
    "sua": {
      "browsers": [
        {
          "brand": "Chromium",
          "version": [
            "130",
            "0"
          ]
        },
        {
          "brand": "Microsoft Edge",
          "version": [
            "130",
            "0"
          ]
        }
      ],
      "platform": {
        "brand": "Windows",
        "version": [
          "15",
          "0"
        ]
      },
      "mobile": 0,
      "architecture": "x86",
      "bitness": "64",
      "source": 2
    }
  },
  "user": {
    "ext": {
      "consented_providers_settings": {
        "consented_providers": [
          "1712",
          "2316"
        ],
        "additional_consent": "OMITTED"
      },
      "consent": "OMITTED",
      "eids": [
        {
          "source": "OMITTED",
          "uids": [
            {
              "id": "12JD92JD8078S8J29SDOAKC0EF230337"
            }
          ]
        }
      ]
    }
  },
  "at": 1,
  "tmax": 350,
  "cur": [
    "USD"
  ],
  "regs": {
    "gpp": "OMITTED",
    "ext": {
      "gdpr": 1
    }
  },
  "source": {
    "schain": {
      "complete": 1,
      "nodes": [
        {
          "asi": "testssp.com",
          "sid": "pub-1111111111111111",
          "hp": 1
        }
      ],
      "ver": "1.0"
    },
    "ext": {
      "schain": {
        "complete": 1,
        "nodes": [
          {
            "asi": "testssp.com",
            "sid": "pub-1111111111111111",
            "hp": 1
          }
        ],
        "ver": "1.0"
      }
    }
  },
  "ext": {
    "google_query_id": "ANy-zyo598-4J62UYQ5J70Wm78t166uKD8322K98ik4X5496cn305Sp16t94Mhegp514jh1v",
    "fcap_scope": 1
  }
}
Solicitação serializada
id: "\213\371#\236Mh\214uJ\356\225qW88=7|\2448\315Wx"
ip: "\300\250"
user_agent: "OMITTED"
url: "https://www.google.com"
detected_language: "it"
adslot {
  id: 1
  excluded_attribute: 14
  excluded_attribute: 32
  allowed_vendor_type: 42
  allowed_vendor_type: 144
  excluded_sensitive_category: 36
  excluded_sensitive_category: 19
  matching_ad_data {
    billing_id: 74792558829
    billing_id: 11204117851
    minimum_cpm_micros: 390000
  }
  matching_ad_data {
    billing_id: 44428418146
    billing_id: 91112044263
    minimum_cpm_micros: 110000
  }
  slot_visibility: BELOW_THE_FOLD
  excluded_product_category: 10366
  excluded_product_category: 11504
  ad_block_key: 8767661977
  publisher_settings_list_id: 7807286827624818876
  publisher_settings_list_id: 8186380472781289268
  allowed_restricted_category: 32
  allowed_restricted_category: 33
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  excluded_creatives {
    buyer_creative_id: "EXCLUDED_BUYER_CREATIVE_ID"
  }
  iframing_state: UNKNOWN_IFRAME_STATE
  viewability: 6
  allowed_restricted_category_for_deals: 32
  allowed_restricted_category_for_deals: 33
  click_through_rate: 0.0010397299
  allowed_ad_types: ALLOWED_AD_TYPE_NATIVE
  is_amp_page: DIALECT_HTML
  amp_ad_requirement_type: AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED
  secure_signals {
    data: "Test Data: bw44G12BFZ"
    source: "OMITTED"
  }
  consented_providers_settings {
    tcf_consent_string: "OMITTED"
    additional_consent_string: "OMITTED"
  }
  regs_gdpr: true
  native_ad_template {
    required_fields: 17
    recommended_fields: 0
    headline_max_safe_length: 90
    body_max_safe_length: 90
    call_to_action_max_safe_length: 15
    advertiser_max_safe_length: 25
    image_width: 1200
    image_height: 627
    style_id: 749853
    style_layout_type: FLUID
    style_height: 1
    style_width: 1
  }
  creative_enforcement_settings {
    policy_enforcement: POLICY_ENFORCEMENT_PLATFORM_POLICY
    publisher_blocks_enforcement: PUBLISHER_BLOCKS_ENFORCEMENT_APPLIES
  }
  auction_environment: SERVER_SIDE_AUCTION
  impression_expiration_seconds: 3600
  supported_auction_environment: SERVER_SIDE_AUCTION
}
is_test: false
timezone_offset: 120
geo_criteria_id: 1008463
bid_response_feedback {
  request_id: "\314\354d\177=@0\271\226a^\250\302u\037\301"
  creative_status_code: 1
  event_notification_token: "token"
  buyer_creative_id: "test_creative_id_744913"
  minimum_bid_to_win: 220000
  feedback_type: BID_FEEDBACK
}
bid_response_feedback {
  request_id: "\2354\335\340\347!\341~\265\n\206\327\300\005\370G"
  creative_status_code: 80
  event_notification_token: "token"
  buyer_creative_id: "test_creative_id_744913"
  minimum_bid_to_win: 3450000
  feedback_type: BID_FEEDBACK
}
publisher_type: PUBLISHER_OWNED_AND_OPERATED
device {
  device_type: PERSONAL_COMPUTER
  platform: "Windows"
  screen_pixel_ratio_millis: 1000
  limit_ad_tracking: false
}
publisher_country: "IT"
publisher_id: "pub-1111111111111111"
response_deadline_ms: 350
google_query_id: "ANy-zJXQF6-ob5v09r508m39543114QNHDY20RX67Ajs996K62nkEpcMuvWam950XP9486e6"
auction_type: FIRST_PRICE
geo {
  lat: 0.0
  lon: 0.0
  country: "ITA"
  region: "IT-MI"
  city: "Milan"
  utcoffset: 120
  accuracy: 6821
}
user_agent_data {
  platform {
    brand: "Windows"
    version: "10"
    version: "0"
  }
  mobile: false
  architecture: "x86"
  browsers {
    brand: "Chromium"
    version: "128"
    version: "0"
  }
  browsers {
    brand: "Not;A=Brand"
    version: "24"
    version: "0"
  }
  bitness: "64"
  source: CLIENT_HINTS_HIGH_ENTROPY
}
page_visibility: VISIBILITY_STATE_VISIBLE
supply_chain {
  complete: true
  nodes {
    advertising_system_identifier: "testdomain.com"
    seller_identifier: "pub-1111111111111111"
    handles_payment: true
  }
  version: "1.0"
}
frequency_capping_scope: FREQUENCY_CAPPING_SCOPE_NONE
privacy_treatments {
  allow_user_data_collection: true
}
inventory_partner_domain: "OMITTED"

Solicitações de lance de vídeo

{
  id: "\\\123/f\000\t\456&\n\789\1234\"\001a\123",
  ip: "\0338\355",
  google_user_id: "CAESEJ1ur2l94_8ruuu",
  cookie_version: 1,
  cookie_age_seconds: 5184000,
  hosted_match_data: "W9ABDAAAAGR67nl0",
  user_agent: "Mozilla/5.0 (Linux; Android 5.1; CP8298_I00) Mobile Safari/537.36",
  publisher_country: "IN",
  geo_criteria_id: 1007796,
  timezone_offset: 330,
  publisher_id: "pub-2230723027927371",
  seller_network_id: 989,
  url: "https://m.example.com",
  detected_language: [en],
  google_query_id: "ANy-zJEgdus4l0MishbSmH0eOcXUA1Fbo4_tKROsbR37q",
  auction_type: "SECOND_PRICE",
  device: {
    device_type: "HIGHEND_PHONE",
    platform: "android",
    brand: "coolpad",
    model: "cp8298_i00",
    os_version: {
      major: 5,
      minor: 1
    },
    carrier_id: 70210,
    screen_width: 360,
    screen_height: 640,
    screen_pixel_ratio_millis: 2000
  },
  mobile: {
    is_app: false,
    is_mobile_web_optimized: true,
    DEPRECATED_platform: "android",
    DEPRECATED_mobile_device_type: "HIGHEND_PHONE",
    DEPRECATED_brand: "coolpad",
    DEPRECATED_model: "cp8298_i00",
    DEPRECATED_os_version: {
      os_version_major: 5,
      os_version_minor: 1
    },
    DEPRECATED_screen_width: 360,
    DEPRECATED_screen_height: 640,
    DEPRECATED_carrier_id: 70210,
    DEPRECATED_device_pixel_ratio_millis: 2000
  },
  publisher_type: "ADX_PUBLISHER_OWNED_AND_OPERATED",
  adslot: [{
    id: 1,
    ad_block_key: 2882274820,
    width:   [300,250],
    height:   [250,250],
    excluded_attribute:   [114,22,34,25,27,13,14,15,16,17,18,19,20,25,27,22],
    allowed_vendor_type:   [42,144,575,698,704,743,776,785,793,797,808,828,832,885],
    excluded_sensitive_category:   [36,27,19,4,23,30,10,3,31,5,8,37,18],
    excluded_product_category:   [10031,11669,13423,13525,13566,13589,13612,13740],
    excluded_creatives:   [{
      buyer_creative_id: "1234567.1234567890-ssl"
    }],
    matching_ad_data:   [{
      billing_id:     [6629616415,51386650457],
      minimum_cpm_micros: 1380000,
      direct_deal:     [{
        direct_deal_id: 410401,
        fixed_cpm_micros: 1360000,
        deal_type: "PREFERRED_DEAL",
        publisher_blocks_overridden: true
      },{
        direct_deal_id: 240644,
        fixed_cpm_micros: 1500000,
        deal_type: "PREFERRED_DEAL",
        publisher_blocks_overridden: true
      }]
    },{
      billing_id:     [1234567890],
      minimum_cpm_micros: 1380000
    }],
    publisher_settings_list_id:   [12109930661871909476,11138951146123409010],
    slot_visibility: "BELOW_THE_FOLD",
    viewability: 30,
    click_through_rate: 0.0010072842,
    iframing_state: "UNKNOWN_IFRAME_STATE",
    native_ad_template:   [{
      required_fields: 1065,
      recommended_fields: 4,
      headline_max_safe_length: 25,
      body_max_safe_length: 90,
      call_to_action_max_safe_length: 15,
      advertiser_max_safe_length: 25,
      logo_width: 100,
      logo_height: 100,
      style_id: 199892,
      style_height: 250,
      style_width: 300
    }],
    sticky_settings: {

    },
    renderer: "GOOGLE",
    is_amp_page: "DIALECT_HTML",
    amp_ad_requirement_type: "AMP_AD_ALLOWED_AND_NOT_EARLY_RENDERED",
    allowed_ad_types:   [ALLOWED_AD_TYPE_BANNER,ALLOWED_AD_TYPE_NATIVE],
    session_depth: 1,
    internal_data: {

    }
  }],
  response_deadline_ms: 122,
  is_test: false
}

Exemplos de respostas de lances

Respostas de lances que não são em vídeo

Resposta serializada
id: "22i22S9494PQl819H7Ld5K"
seatbid {
  bid {
    id: "2GTnPXOn76gg1C6574T"
    impid: "1"
    price: 0.24
    adid: "test_creative_id_713312"
    adomain: "google.com"
    crid: "test_creative_id_713312"
    exp: 300
    language: "xx"
    adm_native {
      ver: "1.2"
      assets {
        id: 1
        title {
          text: "Luxury Mars Cruises"
        }
      }
      assets {
        id: 2
        data {
          value: "Visit the planet in a luxury spaceship."
        }
      }
      assets {
        id: 3
        data {
          value: "Book today"
        }
      }
      assets {
        id: 4
        img {
          url: "https://native.test.com/image?id=123456"
          w: 1200
          h: 627
        }
      }
      assets {
        id: 5
        img {
          url: "https://native.test.com/logo?id=123456"
          w: 1200
          h: 1200
        }
      }
      link {
        url: "https://www.google.com"
        clicktrackers: "https://native.test.com/click?id=123456"
      }
      eventtrackers {
        event: IMPRESSION
        method: IMG
        url: "https://test.com/event?id=123456"
      }
      eventtrackers {
        event: IMPRESSION
        method: IMG
        url: "https://test.com/event?id=123456"
      }
      privacy: "https://adssettings.google.com/whythisad?source=display&reasons=OMITTED"
    }
    [com.google.doubleclick.bid] {
      event_notification_token {
        payload: "token"
      }
      billing_id: 50577321529
      third_party_buyer_token: "4G79rr82Ah8r51859j2XT2RBR1BW2808IQrAa2nRjf63oo5w71y8q929t794MO75n4642HmE5HQ2B1jj9a03w6BFxc4D0mVReL1NgZ42aj7l308820m77pg004705U32AC81b7nkghu7"
    }
  }
  seat: "5249:9218:332606"
}
cur: "USD"
{
  "id": "22i22S9494PQl819H7Ld5K",
  "seatbid": [
    {
      "bid": [
        {
          "id": "2GTnPXOn76gg1C6574T",
          "impid": "1",
          "price": 0.24,
          "adid": "test_creative_id_713312",
          "adomain": [
            "google.com"
          ],
          "crid": "test_creative_id_713312",
          "exp": 300,
          "language": "xx",
          "ext": {
            "event_notification_token": {
              "payload": "token"
            },
            "billing_id": "50577321529",
            "third_party_buyer_token": "4G79rr82Ah8r51859j2XT2RBR1BW2808IQrAa2nRjf63oo5w71y8q929t794MO75n4642HmE5HQ2B1jj9a03w6BFxc4D0mVReL1NgZ42aj7l308820m77pg004705U32AC81b7nkghu7"
          },
          "adm": "{\"ver\":\"1.2\",\"assets\":[{\"id\":1,\"title\":{\"text\":\"Luxury Mars Cruises\"}},{\"id\":2,\"data\":{\"value\":\"Visit the planet in a luxury spaceship.\"}},{\"id\":3,\"data\":{\"value\":\"Book today\"}},{\"id\":4,\"img\":{\"url\":\"https://native.test.com/image?id=123456\",\"w\":1200,\"h\":627}},{\"id\":5,\"img\":{\"url\":\"https://native.test.com/logo?id=123456\",\"w\":1200,\"h\":1200}}],\"link\":{\"url\":\"https://www.google.com\",\"clicktrackers\":[\"https://native.test.com/click?id=123456\"]},\"eventtrackers\":[{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"},{\"event\":1,\"method\":1,\"url\":\"https://test.com/event?id=123456\"}],\"privacy\":\"https://adssettings.google.com/whythisad?source=display&reasons=OMITTED\"}"
        }
      ],
      "seat": "5249:9218:332606"
    }
  ],
  "cur": "USD"
}
Resposta serializada
ad {
  adslot {
    id: 1
    max_cpm_micros: 110734
    min_cpm_micros: 0
    billing_id: 74792558829
    deal_id: 0
  }
  click_through_url: "google.com"
  attribute: 47
  attribute: 8
  buyer_creative_id: "test_creative_id_907643"
  advertiser_name: "Google"
  native_ad {
    headline: "Luxury Mars Cruises"
    body: "Visit the planet in a luxury spaceship."
    call_to_action: "Book today"
    advertiser: "Galactic Luxury Cruises"
    image {
      url: "https://native.test.com/image?id=123456"
      width: 800
      height: 800
    }
    logo {
      url: "https://native.test.com/logo?id=123456"
      width: 200
      height: 200
    }
    price: "\342\202\254 225"
    click_link_url: "https://www.google.com"
  }
  impression_tracking_url: "https://test.com/imp?id=123456"
  impression_tracking_url: "https://test.com/imp?id=123456"
  ad_choices_destination_url: "https://test.com/preferences"
  event_notification_token: "token"
  dsa_transparency {
    buyer_render: true
  }
}
processing_time_ms: 27

Respostas de lance em vídeo

bid_response {
  ad {
    ...
    click_through_url: "https://www.exampleDomain.com"
    impression_tracking_url: "https://my_impression_tracking_url.com/"
    ad_choices_destination_url: "https://my_ad_choices_destination_url.com/"
    ...
    native_ad {
      headline: "Lowest mortgage rates"
      video_url: "https://pubads.g.doubleclick.net/gampad/ads?sz=640x480&iu=/124319096/external/single_ad_samples&ciu_szs=300x250&impl=s&gdfp_req=1&env=vp&output=vast"
      call_to_action: "Get a quote"
      advertiser: "NY Mortgage Inc."
      image {
        url: "https://www.example.net/mypromoimage.png"
        width: 1200
        height: 700
      }
      logo {
        url: "https://www.example.net/mylogo.png"
        width: 200
        height: 200
      }
      click_link_url: "https://r1.example.com/r/u1dhfh3cow00/b1_googleadx/830/41972/ ?_b_ctrl=1"
      click_tracking_urls: "https://my_click_tracking_url.com/"
    }
  }
}