Los anuncios engañosos en Google Ads siguen pasando la revisión humana, aunque el propio modelo de inteligencia artificial de Google, Gemini, los identifica como fraude en cuestión de segundos. El caso lo documentó el desarrollador Chris Greening en su blog atomic14 el 13 de septiembre de 2026, después de reportar el mismo anuncio dos veces sin obtener ningún cambio.
El anuncio en disputa reproduce con precisión la ventana emergente "iPhone Storage is Full" de iOS: misma tipografía, mismo contenedor y botones falsos "Yes" y "No" que en realidad solo redirigen a una tienda de apps. Varios usuarios reportaron la misma pieza publicitaria y recibieron idéntica respuesta automática de Google: el anuncio no viola ninguna política.
TL;DR
- Google Ads aprobó dos veces un anuncio que imita la alerta nativa "iPhone Storage is Full" de iOS.- El desarrollador Chris Greening reportó el anuncio dos veces y recibió la misma respuesta: no viola las políticas.- Gemini, el modelo de Google, clasificó el mismo anuncio como DISAPPROVED en segundos al pedirle una revisión.- Gemini detectó tres violaciones: imitar alertas de sistema, botones no funcionales y tácticas de miedo falsas.- El anuncio circuló en la app de YouTube con botones falsos "Yes"/"No" que solo redirigen a una tienda de apps.- Google Ads combina reglas automáticas y revisión humana a gran escala, sin un filtro obligatorio con un LLM multimodal.- Cualquier desarrollador puede replicar la prueba de Greening con la API de Gemini y una imagen del anuncio.- El caso reabre la pregunta de por qué Google no usa sus propios modelos de IA para frenar publicidad engañosa.
Qué pasó
Greening notó el anuncio dentro de la app de YouTube cuando, según cuenta, estuvo a punto de tocarlo por accidente mientras revisaba el espacio libre de su iPhone. La pieza reproducía una alerta falsa de almacenamiento lleno con botones "Yes" y "No" que no controlan nada: cualquier toque dentro del banner dispara la misma redirección a una tienda de aplicaciones.
Hizo lo que correspondía: reportó el anuncio a Google. La respuesta llegó con una plantilla estándar: "encontramos que el anuncio no va en contra de las políticas de Google, que prohíben cierto contenido y prácticas que consideramos dañinas para los usuarios y el ecosistema en línea en general". Lo reportó una segunda vez. Recibió la misma respuesta. Y no fue el único: otros usuarios reportaron el mismo anuncio y obtuvieron idéntico resultado.
Ante ese punto muerto, Greening probó algo distinto: le mostró el anuncio a Gemini y le pidió que lo evaluara contra las políticas publicitarias de Google. El modelo respondió con un veredicto tajante, DISAPPROVED, con tres violaciones específicas detalladas y una recomendación de suspender la cuenta del anunciante en caso de reincidencia.
Contexto e historia
No es la primera vez que la calidad de la moderación de Google Ads queda en entredicho. La plataforma procesa anuncios de un rango de anunciantes que va desde pequeñas tiendas hasta redes de fraude organizadas, y combina filtros automáticos basados en reglas con revisión humana por muestreo. Ese modelo funciona razonablemente bien para violaciones evidentes (contenido explícito, marcas registradas obvias), pero deja huecos para anuncios engañosos diseñados específicamente para parecer legítimos ante un revisor apurado.
El propio Greening cita la navaja de Hanlon como primera explicación: "nunca atribuyas a la malicia lo que se explica adecuadamente por la estupidez". Es decir, el problema podría ser simple sobrecarga operativa antes que un incentivo deliberado a dejar pasar anuncios que generan clics (y, por lo tanto, ingresos). Pero también anota la lectura menos caritativa: un anuncio con alta tasa de clics es, para el negocio publicitario de Google, un anuncio rentable, y eso genera un incentivo perverso a no mirar con demasiado cuidado.
Anuncios engañosos en Google Ads: el análisis técnico de Gemini
La respuesta completa de Gemini, tal como la reprodujo Greening, clasificó el anuncio bajo dos categorías de la política de Misrepresentation de Google Ads: "Misleading Ad Design" y "Unreliable / Deceptive Claims". Dentro de esas categorías, el modelo detalló tres violaciones puntuales:
- Imitación de alertas de sistema: el banner reproduce con tipografía, contenedores y botones el aspecto de un modal nativo de iOS, algo que las políticas de anuncios de Google prohíben de forma explícita.- Componentes de interfaz no funcionales: los botones "Yes" y "No" no ejecutan ninguna acción real, solo capturan cualquier clic dentro del banner para redirigir a una tienda de apps.- Tácticas de miedo con datos no verificados: el texto "If you don't free up space soon, some features may not work properly" fabrica un estado de urgencia sobre el hardware del usuario sin ninguna base real. El banner reproducía botones "Yes"/"No" que no controlan nada real. Lo llamativo no es solo el veredicto, sino la velocidad: Gemini generó ese análisis estructurado en el tiempo que toma una consulta de chat, contra un proceso de revisión humana que aprobó el mismo anuncio dos veces en semanas distintas. Para entender dónde encaja (o no encaja) un modelo así en el pipeline real de revisión, conviene comparar los tres métodos que conviven hoy en la moderación de anuncios: MétodoCuándo se usaVentajaLimitaciónFiltros automáticos por reglasPrimera pasada sobre todo anuncio nuevoEscala a millones de piezas sin costo marginalSolo detecta patrones ya catalogados (palabras, dominios, hashes de imagen)Revisión humana por muestreoCasos ambiguos o reportados por usuariosEntiende contexto e intención que una regla no capturaNo escala igual de rápido que el volumen de anuncios ni de reportesClasificación con LLM multimodal (Gemini)Hoy: pruebas manuales como la de Greening, fuera del flujo oficialEntiende intención visual y textual, cita la política violada, responde en segundosRequiere que alguien lo invoque; Google no lo aplica de forma automática a cada reporte
flowchart TD
A["Anuncio nuevo o reportado"] --> B["Filtros automaticos por reglas"]
B --> C{"Patron conocido de fraude?"}
C -- "Si" --> D["Rechazo automatico"]
C -- "No" --> E["Cola de revision humana"]
E --> F{"Revisor aprueba?"}
F -- "Si" --> G["Anuncio en produccion"]
F -- "No" --> D
G -. "Gap: sin gate de LLM multimodal" .-> H["Gemini podria reclasificar aqui"]
El diagrama resume el punto central del caso: entre la cola de revisión humana y la publicación del anuncio no existe, hoy, un paso obligatorio de reclasificación con un modelo como Gemini. Ese paso solo ocurrió porque un usuario lo ejecutó manualmente, por fuera del flujo oficial de Google.
Cómo probarlo con tu propio anuncio
Reproducir el experimento de Greening no requiere acceso especial: alcanza con una cuenta en Google AI Studio para generar una clave de API. La clave funciona igual en Windows, macOS y Linux porque la interacción es vía HTTP o un SDK multiplataforma.
Primero, la instalación del SDK oficial de Python (mismo comando en las tres plataformas, corrido dentro de una terminal o PowerShell):
pip install google-generativeai
En Windows funciona desde PowerShell o cmd.exe con ese mismo comando; en macOS y Linux, desde bash o zsh. Con la librería instalada, este script envía una imagen del anuncio junto con las políticas relevantes y pide una clasificación estructurada:
import google.generativeai as genai
genai.configure(api_key="TU_GEMINI_API_KEY")
modelo = genai.GenerativeModel("gemini-2.0-flash")
imagen_anuncio = genai.upload_file("anuncio_sospechoso.png")
prompt = """
Evalua esta imagen de un anuncio contra las politicas de
Google Ads sobre Misrepresentation (Misleading Ad Design y
Unreliable/Deceptive Claims). Responde con: veredicto
(APPROVED o DISAPPROVED), lista de politicas violadas y
evidencia especifica encontrada en la imagen.
"""
respuesta = modelo.generate_content([prompt, imagen_anuncio])
print(respuesta.text)
El resultado esperado es un bloque de texto estructurado con el veredicto y la evidencia, similar al que obtuvo Greening: una lista de violaciones puntuales en vez de un simple "sí" o "no". Ese formato es justamente lo que le faltó a la respuesta automática que recibió del equipo de revisión humano de Google.
💡 Tip: si administrás una cuenta de anunciante, corré este chequeo antes de subir cualquier creatividad. Te ahorra una eventual suspensión de cuenta si el diseño se acerca demasiado a imitar una alerta de sistema operativo.
Impacto y análisis
El caso importa más allá de un anuncio puntual porque expone una brecha operativa concreta: Google construye y vende algunos de los modelos de clasificación multimodal más capaces del mercado, pero no los aplica de forma sistemática a su propio proceso de revisión de anuncios. La revisión sigue apoyada en reglas y en muestreo humano, el mismo esquema que existía antes de que estos modelos existieran.
Gemini listó tres violaciones puntuales que la revisión humana pasó por alto dos veces.
Para verificar si tu propia cuenta de Google Ads tiene anuncios marcados por políticas, la API de Google Ads expone el campo ad_group_ad.policy_summary.approval_status vía GAQL. Una consulta mínima para auditar el estado de tus creatividades:
SELECT
ad_group_ad.ad.id,
ad_group_ad.policy_summary.approval_status,
ad_group_ad.policy_summary.review_status
FROM ad_group_ad
WHERE ad_group_ad.status != 'REMOVED'
Ese mismo campo es el que Google podría reforzar con un veredicto adicional de un modelo multimodal antes de marcar un anuncio como APPROVED, y hoy no lo hace de forma obligatoria.
⚠️ Ojo: que un anuncio pase el filtro automático y la revisión humana no significa que cumpla las políticas. Reportarlo una vez no garantiza una segunda revisión distinta a la primera, como muestra este caso.
La lectura más simple es la de la navaja de Hanlon que cita el propio Greening: sobrecarga operativa, no malicia. Pero también hay un incentivo económico real que no puede ignorarse: un anuncio con alta tasa de clics genera ingresos, y eso reduce la urgencia interna de frenarlo mientras no genere una crisis de reputación pública.
Qué sigue
Nada en el caso documentado por Greening indica que Google haya anunciado un cambio de proceso a partir de este reporte puntual. Lo que sí es reproducible hoy, con el código de la sección anterior, es que cualquier desarrollador o agencia de medios puede montar su propio filtro de preclasificación con Gemini antes de que un anuncio propio llegue a publicarse, sin depender de que Google integre ese paso en su pipeline oficial.
Mientras tanto, la presión pública (casos como este, documentados y compartidos, con la respuesta textual del sistema de reportes incluida) sigue siendo la vía más rápida para forzar una segunda mirada humana sobre un anuncio específico, aunque no resuelva el problema de fondo del volumen.
Probalo vos: instalá google-generativeai con el comando de arriba y corré el prompt de clasificación sobre cualquier anuncio sospechoso que hayas visto esta semana.
📖 Resumen en Telegram: Ver resumen
Preguntas frecuentes
¿Qué políticas violaba el anuncio según Gemini?
Dos categorías de la política de Misrepresentation de Google Ads: Misleading Ad Design, por imitar una alerta de sistema, y Unreliable/Deceptive Claims, por el mensaje de urgencia falso sobre el almacenamiento.
¿Por qué Google no usa Gemini para revisar todos los anuncios automáticamente?
Google no ha explicado públicamente esa decisión en este caso puntual. El proceso documentado por Greening muestra que la revisión sigue apoyada en reglas automáticas y muestreo humano, sin un paso obligatorio de reclasificación con un modelo multimodal.
¿Cómo reporto un anuncio engañoso en Google Ads?
Desde la propia app o sitio donde aparece el anuncio, con la opción "Reportar este anuncio", que abre un formulario donde se puede describir la política presuntamente violada.
¿Puedo usar Gemini para revisar mis propios anuncios antes de publicarlos?
Sí. El script de la sección "Cómo probarlo con tu propio anuncio" envía una imagen y un prompt con las políticas relevantes, y devuelve un veredicto estructurado antes de que el anuncio llegue a la cola de revisión de Google.
¿Este tipo de anuncios afecta solo a iOS?
El caso documentado imita específicamente una alerta de iOS, pero la misma técnica, imitar un diálogo nativo del sistema operativo, se reportó también con variantes de Android en el pasado, y cae bajo la misma política de Misrepresentation.
¿Qué diferencia hay entre un anuncio rechazado por reglas y uno rechazado por un LLM?
Un filtro por reglas rechaza patrones ya catalogados: una palabra, un dominio, un hash de imagen conocido. Un LLM multimodal como Gemini evalúa intención y contexto visual, por lo que puede detectar una imitación de interfaz nunca vista antes, como ocurrió en este caso.
Referencias
- Why is Google still serving dodgy ads?: el reporte original de Chris Greening en atomic14, con capturas del anuncio y la respuesta completa de Gemini.- Centro de políticas de Google Ads: documentación oficial de las políticas de Misrepresentation citadas en el caso.- Documentación de la API de Gemini: referencia oficial para el SDK usado en los ejemplos de código de este artículo.- Documentación de la API de Google Ads: referencia oficial de GAQL y el campo policy_summary usado en la sección de verificación.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
Top comments (0)