Anuncios nativos

Los anuncios nativos tienen un formato que se ajusta al contenido que los rodea y al diseño visual, y, gracias a ello, aumentan las probabilidades de que los usuarios los vean y hagan clic en ellos. El inventario de anuncios nativos está disponible en apps para dispositivos móviles, así como en sitios web para computadoras y dispositivos móviles. Para obtener más información sobre los anuncios nativos, consulta Descripción general de los anuncios nativos.

Los anuncios nativos son compatibles con Authorized Buyers y Open Bidding.

Este es el flujo de trabajo de los anuncios nativos:

  1. Se realiza una llamada de un anuncio nativo a Google. En la llamada, se especifica una o ambas de las siguientes plantillas de anuncios nativos, cada una de las cuales especifica los campos nativos preferidos.
  2. Google envía una solicitud de oferta RTB a los compradores, que incluye una lista de los campos que se piden.
  3. Los compradores interesados responden con los campos solicitados.
  4. Google ejecuta una subasta para seleccionar la oferta ganadora y envía al publicador los elementos de creatividad que proporcionó el comprador.
  5. El publicador organiza los recursos en un anuncio nativo y les aplica un diseño para que se adapten al diseño del sitio.

Formatos de mensajes

Google admite la especificación de OpenRTB en JSON y Protobuf.

En el caso de los anuncios nativos de Protobuf de OpenRTB, los siguientes campos difieren de la especificación:

JSON Tipo 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

Los campos de Protobuf de OpenRTB son mensajes de Protobuf en lugar de cadenas.

Si usas la implementación de Protobuf de OpenRTB, tu extremo recibe solicitudes de oferta que contienen BidRequest.imp.native.request_native en lugar de BidRequest.imp.native.request. Además, tu extremo debe mostrar respuestas de ofertas que propaguen BidResponse.seatbid.bid.adm_native en lugar de BidResponse.seatbid.bid.adm; de lo contrario, se filtrará de la subasta.

Si usas un SDK de comprador para renderizar anuncios nativos, debes incluir una imagen type en declared_ad cuando envíes las creatividades para su revisión.

Plantillas de anuncios nativos

Las plantillas de anuncios nativos describen los componentes de un anuncio nativo y determinan el contenido y la estructura de NativeRequest de OpenRTB o NativeAdTemplate del protocolo RTB de Google obsoleto en la solicitud de oferta. Google admite las dos plantillas de anuncios nativos más comunes para los anuncios nativos de video y sin video:

Existen otras plantillas que posiblemente tengan un conjunto de requisitos distintos para los campos, las dimensiones y los tamaños.

Plantilla de anuncio de instalación de aplicación

En las siguientes tablas, se muestran los campos etiquetados como Obligatorio o Recomendado. Se aplican las siguientes reglas:

  • El ofertante debe completar los campos marcados como Obligatorios.
  • El ofertante no requiere los campos marcados como Recomendados, y el publicador puede mostrarlos o no si se proporcionan (por ejemplo, la calificación con estrellas).
  • El llamado a la acción (CTA) siempre se marca como Recomendado porque se asigna uno predeterminado si el ofertante no envía uno, pero siempre se mostrará si se envía.

En la siguiente tabla, se muestran los campos de una plantilla de anuncio de instalación de aplicación. Las aplicaciones para dispositivos móviles usan estos campos para crear anuncios de instalación de aplicación nativa.

Campo Descripción ¿Es obligatorio o recomendado? ¿Se muestra siempre? Tamaño de imagen recomendado/cantidad máxima de caracteres Ejemplo
Título El título de la app Obligatorio 25 caracteres Flood-It!
Imagen Una captura de pantalla de la app o alguna otra imagen relevante Obligatorio No 1,200 px × 627 px o 600 px × 600 px, según la relación de aspecto que requiera el publicador <Captura de pantalla del juego Flood-It!>
Cuerpo Texto principal de la app Obligatorio No 90 caracteres Decepcionantemente simple y tentadoramente desafiante es deliciosamente adictivo.
Ícono de la aplicación El ícono de la app Obligatorio No 128 x 128 px <Ícono de la app de Flood-it!>
Llamado a la acción Acción preferida del usuario Recomendado 15 caracteres Instalar
Calificación por estrellas Cantidad de estrellas (de 0 a 5) que representan la calificación de la app en la tienda de aplicaciones Recomendado No De 0 a 5 4.5
Precio El costo de la app Recomendado No 15 caracteres Gratis

Notas sobre la longitud del texto

Si un comprador envía un recurso de texto (por ejemplo, el texto del cuerpo) más largo que la cantidad máxima de caracteres sugerida, es posible que Google o el publicador lo truncen y pongan puntos suspensivos. Ten en cuenta que los límites de truncamiento corresponden a la mitad en los idiomas chino, japonés y coreano. Por ejemplo, el límite del título es de 90 caracteres para inglés y de 45 para chino.

Notas sobre el tamaño de las imágenes

Los publicadores pueden hacer lo siguiente:

  • Recorta la imagen principal simétricamente en hasta un 20% en una dimensión (altura o ancho).
  • Ajusta la escala de la imagen sin cambiar su relación de aspecto.
  • Es posible que se filtren las imágenes que tengan relaciones de aspecto muy diferentes de las que se insinúan con la altura y el ancho.

Plantilla de anuncio de contenido

En la siguiente tabla, se indican los campos de una plantilla de anuncio de contenido. Los publicadores usan estos campos para crear anuncios de contenido nativo.

Campo Descripción ¿Es obligatorio o recomendado? ¿Se muestra siempre? Tamaño de imagen recomendado/cantidad máxima de caracteres * Ejemplo
Título El encabezado del anuncio Obligatorio 25 caracteres Tasas hipotecarias más bajas
Imagen La imagen principal del anuncio Obligatorio No 1,200 px × 627 px o 600 px × 600 px, según la relación de aspecto que requiera el publicador <Imagen principal del anuncio>
Cuerpo El contenido del anuncio Obligatorio No 90 caracteres Tu casa en Brooklyn, más económica y antes de lo que crees
Logotipo El logotipo del anunciante o alguna otra imagen pequeña relevante Recomendado No 128 x 128 px <Logotipo de NY Mortgage Inc.>
Llamado a la acción Acción preferida del usuario Recomendado No 15 caracteres Solicite una cotización
Advertiser Texto que identifica al anunciante o a la marca Obligatorio No 25 caracteres NY Mortgage Inc.

Plantilla de anuncio de instalación de aplicación de video

Campo Descripción ¿Es obligatorio o recomendado? ¿Se muestra siempre? Tamaño de imagen recomendado/cantidad máxima de caracteres * Ejemplo
Video Es la respuesta de VAST del video con todos los recursos necesarios para volver a reproducir un anuncio de video. Obligatorio No - Una URL al archivo VAST XML que contiene un Flood-It! Anuncio de video
Título El título de la app Obligatorio 25 caracteres Flood-It!
Imagen Es una imagen (miniatura) que se muestra en el reproductor antes de hacer clic en el anuncio de video o mientras este se está cargando. Obligatorio No Debe coincidir con la relación de aspecto del video (por ejemplo: 1280 × 720 para videos 16 × 9 o 4 × 3 para videos 640 × 480). Captura de pantalla del juego Flood-It! O desde el video
Cuerpo Texto principal de la app Obligatorio No 90 caracteres Decepcionantemente simple y tentadoramente desafiante es deliciosamente adictivo.
Ícono de la aplicación El ícono de la app Obligatorio No 128 x 128 px Ícono de la app de Flood-it!
Llamado a la acción Acción preferida del usuario Obligatorio 15 caracteres Instalar
Calificación por estrellas Es la cantidad de estrellas (de 0 a 5) que representa la calificación de la app en la tienda de aplicaciones. Recomendado No De 0 a 5 4.5
Precio El costo de la app Recomendado No 15 caracteres Gratis

Restricciones

  • Video: Todos los videos deben tener el formato de una URL de VAST o una etiqueta VAST. No se puede especificar un archivo de video sin procesar, como WebM, MP4, etcétera.

  • Longitud del texto: Si un comprador especifica un recurso de texto, como body, en la respuesta, es posible que Google o el publicador lo trunquen y coloquen puntos suspensivos. Ten en cuenta que los límites de truncamiento corresponden a la mitad en chino, japonés y coreano. Por ejemplo, el límite del título es de 90 caracteres en inglés y de 45 en chino.

  • Tamaño de la imagen: Los publicadores pueden hacer lo siguiente:

    • Recorta la imagen principal simétricamente en hasta un 20% en una dimensión (altura o ancho).
    • Ajusta la escala de la imagen sin cambiar su relación de aspecto.

Ejemplo de anuncio de instalación de aplicación

video nativo

Plantilla de anuncio de contenido de video

Campo Descripción ¿Es obligatorio o recomendado? ¿Se muestra siempre? Tamaño de imagen recomendado/cantidad máxima de caracteres * Ejemplo
Video Es la respuesta de VAST del video con todos los recursos necesarios para volver a reproducir un anuncio de video. Obligatorio - Una URL al archivo VAST XML que contiene un Flood-It! Anuncio de video
Título El encabezado del anuncio Obligatorio 25 caracteres Tasas hipotecarias más bajas
Imagen Es una imagen (miniatura) que se muestra en el reproductor antes de hacer clic en el anuncio de video o mientras este se está cargando. Obligatorio No Debe coincidir con la relación de aspecto del video (por ejemplo: 1280 × 720 para videos 16 × 9 o 4 × 3 para videos 640 × 480). Una captura de pantalla del video
Cuerpo El contenido del anuncio Obligatorio No 90 caracteres Tu casa en Brooklyn, más económica y antes de lo que crees
Logotipo El logotipo del anunciante o alguna otra imagen pequeña relevante Recomendado No 128 x 128 px Logotipo de NY Mortgage Inc.
Llamado a la acción Acción preferida del usuario Obligatorio No 15 caracteres Solicite una cotización
Advertiser Texto que identifica al anunciante o a la marca Obligatorio No 25 caracteres NY Mortgage Inc.

Campos de metadatos

Todas las plantillas de anuncios admitidas comparten los siguientes metacampos:

Protocolo de RTB de Google Equivalente a OpenRTB Descripción
NativeAd.click_link_url Link.url Es la URL a la que llamará el navegador cuando el usuario haga clic en el anuncio. Puede ser el primer paso de una cadena de redireccionamientos que, en última instancia, lleva a la página de destino. En el caso de los anuncios nativos, te recomendamos que uses click_link_url como el campo para establecer el destino al que irá el usuario en última instancia. Es obligatorio usar este campo en el caso de las páginas de destino dinámicas.
Ad.click_through_url Bid.adomain

Se debe establecer si el ofertante tiene la intención de ofertar. Es el conjunto de URLs de destino del fragmento, incluidas las URLs a las que irá el usuario si hace clic en el anuncio que se muestra y las URLs que son visibles en el anuncio renderizado. No incluyas llamadas intermedias al servidor de anuncios que no estén relacionadas con la página de destino final. No se descartará una BidResponse que devuelva un fragmento o un anuncio de video, pero que declare que no hay click_through_url. Solo configura este campo si se configuran html_snippet, video_url o native_ad. Estos datos se usan como una declaración de URL de destino, por ejemplo, para el filtrado posterior de URLs bloqueadas por el publicador o la categorización de anuncios. Consulta NativeAd.click_link_url cuando uses anuncios nativos.

En el caso de los anuncios no nativos, no se usa para el seguimiento de clics ni para ninguna otra función del anuncio; solo se usa como una declaración de URL de destino.

En el caso de los anuncios nativos, si no se establece NativeAd.click_link_url, se usa el primer valor de click_through_url para dirigir al usuario a la página de destino. Además, todos los valores se usan como declaraciones de URL de destino (similar al caso no nativo).

NativeAd.click_tracking_urls Link.clicktrackers Opcional. Son URLs adicionales que permiten que los anunciantes hagan un seguimiento de los clics de los usuarios en el anuncio.
Ad.ad_choices_destination_url BidExt.ad_choices_destination_url Vínculo a una página de preferencias de anuncios o inhabilitación. Si está presente, se agrega un ícono estándar de AdChoices a la creatividad nativa y se vincula a esta URL. Esto es compatible con los anuncios nativos, pero no forma parte del mensaje nativo en la respuesta a la oferta.
Ad.impression_tracking_url NativeResponse.imptrackers Se debe hacer un seguimiento de la impresión nativa con impression_tracking_url en el protocolo de ofertas en tiempo real de Authorized Buyers o en los servicios de seguimiento de impresiones nativas de OpenRTB.

El publicador especifica required_fields y recommended_fields. Te mostramos cómo traducir estos campos de bits para determinar si un campo es obligatorio o recomendado.

Un campo de bits usa cada bit de un valor binario para almacenar una sentencia verdadera o falsa, lo que equivale a enviar muchos indicadores booleanos, como is_logo_required o is_header_required, pero todos juntos.

Ejemplo

En este ejemplo, usaremos un valor de required_fields de 1085.

Primero, busca el valor binario equivalente: 10000111101

Una vez que tengas el valor binario, puedes verificar los bits para ver si un campo es obligatorio (1) o no (0).

En la siguiente tabla, se asignan los campos a su lugar en el valor binario. Lee el número binario de derecha a izquierda, con el bit 1 correspondiente al lugar más a la derecha en el valor binario.

Campo Ubicación del valor binario (de derecha a izquierda)
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

Si observas el ejemplo de valor binario 10000111101, el 1 bit (el más a la derecha) es 1, lo que indica un valor obligatorio. Según la tabla, el 1 bit corresponde a HEADLINE.

El valor de 2 bits (segundo valor de la derecha) es 0, lo que significa que no es obligatorio. El de 2 bits corresponde a BODY.

Estos son todos los campos obligatorios interpretados en nuestro ejemplo:

Valor Descripción ¿Obligatorio?
1 VIDEO
0 STORE No
0 PRICE No
0 STAR_RATING No
0 APP_ICON No
1 LOGO
1 IMAGE
1 ADVERTISER
1 CALL_TO_ACTION
0 BODY No
1 HEADLINE

Representación de la plantilla de anuncio nativo en la solicitud de oferta

Cuando recibas una solicitud de oferta que contenga inventario nativo, esta contendrá la plantilla de anuncio nativo en diferentes formas según el protocolo que se use. Te recomendamos que uses OpenRTB porque el protocolo de Google dejó de estar disponible.

En OpenRTB, la plantilla de anuncios nativos se describe con el mensaje NativeRequest. En el protocolo de RTB de Google, se describe con NativeAdTemplate. Estos mensajes proporcionan los siguientes detalles sobre el inventario de anuncios nativos:

  • Campos obligatorios o recomendados.
  • Dimensiones para imágenes, logotipos y íconos de apps.
  • Especificaciones del estilo en el que se renderiza el anuncio.

IDs de activos de OpenRTB

OpenRTB pasa un array de recursos en la solicitud de oferta que describen la estructura del anuncio nativo que debes mostrar en la respuesta. Cada activo de la solicitud tendrá un ID que se debe especificar para el activo correspondiente en la respuesta. Para ver un ejemplo de cómo estos IDs se corresponden entre la solicitud y la respuesta, consulta el ejemplo de solicitud de oferta nativa y el ejemplo de respuesta de oferta nativa.

Representación de un anuncio nativo en la respuesta a la oferta

Cuando se oferta por inventario nativo, el comprador debe propagar los campos obligatorios que se identificaron en la solicitud de oferta. En OpenRTB, puedes hacerlo con BidResponse.seatbid.bid.adm_native cuando usas Protobuf o BidResponse.seatbid.bid.adm para JSON. En el caso del protocolo de Google obsoleto, esto se hace con el campo BidResponse.ad.native_ad.

Ejemplos de solicitudes de oferta

Solicitudes de ofertas que no son de video

Solicitud 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
  }
}
Solicitud 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"

Solicitudes de ofertas de video

{
  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
}

Ejemplos de respuestas de ofertas

Respuestas a ofertas que no son de video

Respuesta 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"
}
Respuesta 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

Respuestas a ofertas de video

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/"
    }
  }
}