NuevoProduct Score, 4T Segmentation, Price War y Broken Size ya están disponibles.Ver las novedades
Feedance
Artículo

Por qué Google Ads, DV360 y Ad Manager rechazan los anuncios HTML5 generados a partir de feeds

Errores de tamaño, clickTag y rutas por los que Google Ads, DV360 y Ad Manager rechazan los anuncios HTML5 generados desde feeds, y cómo corregir cada uno.

Cagdas PolatCagdas Polat
11 min de lectura
Por qué Google Ads, DV360 y Ad Manager rechazan los anuncios HTML5 generados a partir de feeds

Google Ads limita una creatividad de display HTML5 subida a 600 KB y 40 archivos dentro del archivo ZIP, según la especificación de anuncios de display subidos del propio Google. Display & Video 360 permite hasta 100 archivos, pero limita a 5 MB el peso total de descarga que obtiene el navegador cuando se sirve el anuncio, y limita una sola creatividad a 25 cookies y 100 llamadas HTTP externas, según las directrices de creatividades HTML5 de DV360. Ninguna de estas cifras es secreta. Están publicadas en las páginas de especificaciones de cada plataforma. Aun así, un flujo de creatividades basado en feeds tropieza con ellas constantemente, porque el ZIP que un motor de plantillas ensambla a partir de unos pocos miles de SKU no se comporta en absoluto como el ZIP que un diseñador crea a mano. Esta guía está dirigida a quien se encarga del control de calidad de las creatividades en una cuenta de catálogo: los motivos concretos por los que Google Ads, DV360 y Google Ad Manager rechazan los anuncios HTML5 generados a partir de datos del feed de productos, y la solución para cada uno, para que los detecte antes que la plataforma.

Por qué el HTML5 generado a partir de feeds falla la revisión con más frecuencia que las creatividades hechas a mano

Un diseñador que crea un banner a mano incrusta la foto del producto directamente en el ZIP, escribe un clickTag y comprueba el número de archivos una vez. Un motor de plantillas que genera el mismo banner para 4.000 SKU repite cada decisión 4.000 veces, y un error que no cuesta nada con n=1 se multiplica a escala.

Cuatro patrones explican la mayoría de los casos. En primer lugar, la plantilla suele hacer referencia a las imágenes de producto mediante la URL de image_link tomada directamente del feed, porque es el campo que ya tiene el feed, en lugar de descargar e incrustar el archivo, que es lo que exige el formato ZIP. En segundo lugar, una plantilla que asigna a cada estado de distintivo (en stock, rebaja, más vendido, pocas unidades) su propio archivo de imagen multiplica el número de archivos del paquete antes de añadir una sola foto de producto. En tercer lugar, minificar el resultado de la compilación para acelerar la entrega elimina metadatos y ofusca variables, incluidas la metaetiqueta ad.size exacta y la variable clickTag que las plataformas publicitarias analizan por su nombre. En cuarto lugar, cada herramienta de la pila (la capa de automatización creativa, la etiqueta de analítica, el píxel de la propia red publicitaria) añade su propio script o cookie, y nadie prueba el anuncio ensamblado frente al límite combinado de la plataforma hasta que ya está en revisión.

Los límites técnicos, plataforma por plataforma

Estas son las cifras que realmente se aplican. Cuando una plataforma no ha publicado una cifra estricta, lo decimos en lugar de suponerla.

PlataformaTamaño máx. del ZIP / de la descargaMáx. de archivosTipos de archivo permitidosRegla adicional destacable
Google Ads: display subido estándar600 KB (ZIP)40HTML, CSS, JS, GIF, PNG, JPG, JPEG, SVGSolo pueden referenciarse externamente Google Fonts y CreateJS, GSAP y jQuery alojados por Google; todo lo demás debe estar dentro del ZIP
Google Ads: intersticial HTML5 de campañas de aplicaciones5,2 MB (ZIP)512El mismo conjunto básico que el anteriorSolo se admiten dos dimensiones: 320×480 y 480×320
Display & Video 3605 MB de peso total de descarga (no del tamaño del ZIP)100html, htm, css, js, jpg, jpeg, gif, png, svg más un conjunto definido de archivos de fuentesLímites estrictos de 25 cookies, 100 llamadas HTTP externas y 30 segundos de animación por creatividad; sin reproducción automática de audio
Google Ad ManagerSin límite estricto publicado: se valida por paqueteNo especificado públicamenteEl mismo conjunto básico; solo dimensiones fijas, sin FluidExige una variable clickTag sin minificar en el head y una metaetiqueta ad.size; las URL de clic codificadas directamente rompen el seguimiento de clics

Fuentes: especificaciones de anuncios de display subidos de Google Ads, resolución de problemas de recursos HTML5 en campañas de aplicaciones de Google Ads, directrices de creatividades HTML5 de DV360, directrices de HTML5 de Google Ad Manager.

Cinco causas de rechazo que se repiten en todas las plataformas y la solución para cada una

1. URL de imagen absolutas en lugar de recursos incrustados

La plantilla toma image_link directamente del feed y lo escribe tal cual en el código:

<img src="https://cdn.example.com/feed/sku-4471-a.jpg">

El propio validador de recursos HTML5 de Google devuelve un error específico para esto en los paquetes intersticiales de campañas de aplicaciones: "Su anuncio HTML5 intenta hacer referencia a un recurso externo a su archivo .ZIP. Solo se permiten referencias a archivos internos". La misma regla se aplica, con un texto de error menos explícito, en el display estándar y en DV360.

Solución: en el momento de la compilación, descargue el archivo al que apunta la URL de image_link, vuelva a codificarlo dentro del ZIP en una ruta relativa y haga referencia a esa ruta:

<img src="assets/sku-4471-a.jpg">

2. Número de archivos disparado por los recursos de distintivos e iconos de cada variante

Una plantilla con seis estados de distintivo en ocho tamaños de creatividad suma 48 archivos antes de añadir una sola foto de producto, lo que ya supera el límite de 40 archivos de Google Ads para el display estándar. En un catálogo con cientos de promociones activas, este es el motivo más habitual por el que falla una exportación por lotes cuando la misma plantilla superó el control de calidad con un conjunto de prueba de cinco productos.

Solución: agrupe los estados de los distintivos en un único spritesheet o en un <symbol> SVG en línea referenciado mediante una clase CSS, para que el número de archivos se mantenga estable independientemente de cuántos estados de distintivo o tamaños utilice la campaña.

3. Metaetiqueta ad.size ausente o eliminada

Los pasos de minificación pensados para la velocidad, y no para el cumplimiento de la tecnología publicitaria, suelen eliminar o reordenar el contenido del <head>, incluida la metaetiqueta de dimensiones que las plataformas analizan por su nombre exacto. El error del validador de Google Ads en este caso dice: "Falta un archivo .HTML principal en su anuncio HTML5. Los archivos .HTML principales incluyen una etiqueta de tamaño de anuncio". Google Ad Manager exige la misma información en forma de <meta name="ad.size" content="width=300,height=250">.

Solución: ejecute la comprobación de la metaetiqueta después de la minificación, no antes, e inclúyala como control automático en el flujo de exportación en lugar de como una revisión manual puntual.

4. clickTag codificado directamente, ausente o minificado hasta resultar irreconocible

Un minificador convierte un controlador de clics legible en algo como var a=b(3). Las propias directrices de DV360 indican explícitamente que el click tag "debe ser fácil de leer para el servidor de anuncios" y piden a los equipos que no lo pasen por un minificador de código; Ad Manager exige la misma variable, declarada exactamente como clickTag, en el head.

Solución: declárela una sola vez, sin minificar, y excluya esa línea del proceso de minificación: var clickTag = "https://example.com/product/4471";. No codifique nunca la URL de destino en ningún otro lugar del código: Ad Manager no puede atribuir los clics que no ve a través de la variable.

5. Límite de cookies y llamadas HTTP superado por el seguimiento acumulado

DV360 limita estrictamente una sola creatividad a 25 cookies y 100 llamadas HTTP externas. Cada etiqueta individual (un píxel de retargeting, una solicitud de fuente web, una llamada de GA4, el fragmento de seguimiento propio de la plataforma de automatización creativa) cumple por sí sola. Acumuladas en un mismo anuncio ensamblado, no cumplen, y el exceso solo aparece cuando alguien prueba el paquete terminado en lugar de la plantilla.

Solución: canalice el seguimiento a través de un único contenedor de gestor de etiquetas por anuncio en lugar de añadir píxeles uno a uno, cargue las fuentes localmente en lugar de mediante una solicitud externa y compruebe el recuento en una exportación renderizada real (no en la plantilla), ya que las pruebas a nivel de plantilla se quedan cortas en el recuento.

Lista de comprobación previa antes de publicar un lote de creatividades HTML5 generadas a partir de feeds

  • Todas las referencias a recursos del código son relativas a la raíz del ZIP, no URL absolutas que apuntan a la CDN del feed.
  • El número de archivos se comprueba en el ZIP ensamblado y específico de cada producto (no en la plantilla) y está por debajo del límite de la plataforma de destino.
  • La metaetiqueta ad.size (o su equivalente en DV360/Ad Manager) está presente y sin minificar después del paso de compilación, no solo antes.
  • La variable clickTag se declara una sola vez, sin minificar, y es el único destino de clic del archivo.
  • El recuento combinado de cookies y llamadas HTTP externas se prueba en el anuncio renderizado frente al límite de 25/100 de DV360, no se estima etiqueta por etiqueta.
  • El peso total de descarga se mide en frío, tras la compresión, frente al límite real de la plataforma: 600 KB para el display estándar de Google Ads y 5 MB en total para DV360.

Qué no cubre esta guía

Se trata de una capa de cumplimiento técnico, no de una estrategia creativa completa. No cubre los anuncios dinámicos de catálogo sociales y nativos (ubicaciones de Meta e Instagram, anuncios de catálogo de TikTok) creados a partir del mismo feed, porque funcionan con recursos de imagen y vídeo a través del gestor de anuncios de catálogo de cada plataforma, no mediante la subida de un ZIP HTML5. Para esa tarea concreta, las herramientas especializadas encajan realmente mejor que un flujo HTML5 genérico: Confect está diseñada específicamente en torno a plantillas de anuncios de catálogo de Meta y Google con sincronización de productos cada hora, y Hunch está diseñada en torno a creatividades dinámicas sociales y de vídeo, incluidas variantes hiperlocalizadas. Ninguna de las dos produce banners de display HTML5 conformes a la especificación IAB, que es precisamente el hueco que cubre esta guía, pero en su propio terreno merece la pena evaluarlas por sus propios méritos.

Tampoco cubre las pruebas creativas ni la medición del rendimiento (si una plantilla convierte más que otra es una disciplina distinta de si supera la revisión técnica), ni sustituye a la revisión de las políticas de contenido de una plataforma. Corregir todos los puntos de la lista anterior evita un rechazo técnico. No aprueba una creatividad que infringe por motivos de fondo la política publicitaria de una plataforma.

Preguntas frecuentes

¿Cuál es el tamaño máximo de archivo de un anuncio de display HTML5 en Google Ads?

En los anuncios de display subidos estándar, el archivo ZIP debe ocupar 600 KB o menos y contener como máximo 40 archivos. Los recursos intersticiales HTML5 de las campañas de aplicaciones siguen una especificación distinta: hasta 5,2 MB y 512 archivos, pero solo en las dimensiones 320×480 o 480×320.

¿Por qué DV360 mide el peso total de descarga en lugar del tamaño del ZIP?

Porque un ZIP puede descomprimirse en un conjunto de archivos mucho mayor cuando el navegador lo renderiza. DV360 limita a 5 MB el peso real que descarga el navegador del visitante cuando se sirve el anuncio, lo que refleja con más precisión el impacto real en la carga que el tamaño del archivo comprimido.

¿Puede un anuncio HTML5 generado a partir de un feed hacer referencia a fuentes o imágenes externas?

Por lo general, no. El display estándar de Google Ads solo permite referencias externas a Google Fonts y a una pequeña lista de bibliotecas permitidas alojadas por Google (CreateJS, GSAP, jQuery); todo lo demás, incluidas todas las imágenes de producto, debe incrustarse en el ZIP con una ruta relativa.

¿Por qué un anuncio HTML5 supera las pruebas locales pero falla la revisión de la plataforma?

Las pruebas locales suelen ejecutarse sobre el código fuente antes de la minificación y la compresión, no sobre el ZIP exacto que se sube. La minificación puede eliminar la etiqueta ad.size o alterar la variable clickTag después de que la prueba local haya sido satisfactoria, por lo que las comprobaciones deben ejecutarse sobre el artefacto final de la compilación.

¿El límite de 40 archivos se aplica por producto o por campaña?

Por cada ZIP de creatividad individual. Una exportación por lotes que genera un ZIP por SKU necesita que cada uno, de forma individual, esté por debajo del límite: el límite no se promedia sobre el total de archivos de una campaña.

¿Qué diferencia hay entre la especificación HTML5 de las campañas de aplicaciones y la del display estándar?

Son especificaciones distintas, con límites diferentes y orientadas a inventarios diferentes. Los anuncios de display subidos estándar están limitados a 600 KB y 40 archivos, con dimensiones flexibles; los intersticiales HTML5 de las campañas de aplicaciones permiten hasta 5,2 MB y 512 archivos, pero solo en dos dimensiones fijas, vertical y horizontal. Aplicar los supuestos de una especificación a la superficie de la otra es una causa habitual de paquetes rechazados.

¿Se aplican estas reglas de archivos y clickTag a las creatividades de vídeo generadas a partir del mismo feed?

No: los recursos de vídeo siguen las especificaciones de anuncios de vídeo de cada plataforma (codificación, duración, relación de aspecto), no las reglas de ZIP HTML5 de esta guía. Un flujo basado en feeds que produce tanto vídeo como HTML5 necesita controles de calidad separados para cada uno.

¿Cómo pruebo el recuento de cookies y llamadas HTTP antes de subir a DV360?

Renderice la creatividad ensamblada en un navegador con las herramientas para desarrolladores abiertas, cargue el anuncio en una pestaña aislada y cuente en el panel de red las cookies que realmente se establecen y las solicitudes que se lanzan. Probar la plantilla de forma aislada, antes de que se inyecten las etiquetas de seguimiento durante la compilación, se quedará corto en ambos recuentos.

Si mantener a mano esta capa de cumplimiento no es un buen uso del tiempo de su equipo, descubra cómo Creative Suite de Feedance genera creatividades listas para cada canal directamente a partir de su feed de productos (banners estáticos, de vídeo y HTML5), junto con el enriquecimiento del feed para los datos de producto subyacentes. Karaca utilizó este mismo enfoque de feed a creatividad para producir 10.000 creatividades de Black Friday con su marca en dos horas. Hable con nosotros sobre su catálogo y su tasa de rechazo actual.

¿Quiere que alguien más revise su feed? Lo revisaremos con usted y le mostraremos dónde están las carencias antes de su próximo envío.
Solicitar una auditoría gratuita
Cagdas Polat
Escrito por
Cagdas Polat

Cofundador de Feedance, donde aprovecha su formación como ingeniero informático y profesional del marketing para impulsar análisis basados en datos. Con un fuerte enfoque en convertir los datos en estrategias accionables, se dedica a ayudar a las marcas a lograr un crecimiento significativo en el entorno digital.

LinkedIn

Descubra qué
productos generan ingresos.

Conecte su feed y GA4. Mostramos Product Score, 4T, Price War y Broken Size en su propio catálogo.