El principal objetivo de AMP era mejorar la experiencia del usuario en el mayor contenido de la Web como fuera posible. Esto significaba que no podíamos construir un sistema idealista. Los métodos de monetización existentes necesitarían ser compatibles para obtener la gran aceptación que mejoraría la experiencia del usuario. En la Web de hoy esto significa: AMP debería ser compatible con la publicidad.
Aprendí mucho sobre la publicidad en Internet en los primeros meses trabajando en AMP, y una de estas cosas era que la industria de publicidad en la Web no cambia muy rápido. De hecho, mirando muchos de los JavaScript relacionados con anuncios en la Web, no se pueden evitar frecuentes recuerdos de la década de los 90.
Esto llevó al compromiso de diseño en AMP: Ser compatible con la publicidad web de herencia, pero hacerlo de una manera que mitigara el impacto en las páginas donde estuviera incorporado. Para lograr este objetivo, AMP utiliza las siguientes técnicas:
- Primero el contenido. AMP carga los anuncios después del resto del contenido, de tal forma que los anuncios no reducen el tiempo de carga.
- Contención. AMP administra de manera estricta el área de la página que los anuncios pueden acceder y controlar a un rectángulo muy bien definido. Entre otras cosas esto evita que las páginas “salten de un lado a otro” a medida que aparecen los anuncios.
- Mitigación. AMP mitiga varias malas prácticas de JavaScript que comúnmente se encuentran en la tecnología de anuncios como `document.write`, limitando su efecto en el anuncio mismo vs. la página completa.
- Intervención. AMP reduce el tiempo que usan las animaciones para los anuncios que no son visibles actualmente, de tal modo que los anuncios usan una menor cantidad de batería y CPU cuando no se ven. Firefox, Safari, Opera y Chrome han empezado a hacer esto de manera predeterminada y estamos dispuestos a eliminar el código cuando se dé a conocer a más usuarios. Dado que en AMP todos los anuncios heredados se ejecutan dentro de iframes (muchos anuncios fuera de AMP tienen acceso a la página host), estas nuevas intervenciones del navegador funcionan particularmente bien en AMP.
Estas medidas, junto con las optimizaciones agresivas de AMP para el contenido general de la web, mejoran significativamente el tiempo de carga de la página y mitigan los efectos de los anuncios en la experiencia del usuario. En particular, el hecho de que el contenido siempre se carga de primera, garantiza que los anuncios nunca interrumpirán a los usuarios en lo que buscan en la página.
Sin embargo, existen límites en la fidelidad que se puede obtener con la aproximación que hemos tomado hasta ahora. Esto comienza con lo obvio: Retrasar la carga de un anuncio después del contenido puede ser un buen compromiso, pero está lejos de ser la mejor estrategia que se pueda emplear para controlar de la mejor manera el ciclo de vida de un anuncio. Pero el mayor problema, que AMP no ha solucionado por el momento, es lo que llamamos el
problema de coordinación.
Fuente:
Daniel Stockman, Licencia:
CC BY-SA 2.0
Una de las mayores fortalezas de la Web es que tiene un modelo de composición súper flexible. Esto permite un ensamble a la medida y fácil de cosas como los videos de YouTube, posteos en Instagram, tuits y anuncios en una sola página. Pero mientras que la composición es simple, todos estos componentes comparten un solo hilo para la computación de JavaScript y la mayoría de las operaciones IU. Es aquí donde el problema de coordinación entra en el juego: Mientras que cada componente por separado puede trabajar muy bien, las cosas se pueden deteriorar a una mala experiencia del usuario cuando se ensamblan juntos.
Esto es un problema frecuente de los anuncios. Por ejemplo, es muy fácil concebir tres anuncios que usen 6 ms de CPU por cuadro cada uno para sus animaciones. Esto es genial. Es muy fácil mantenerse dentro del presupuesto de cuadros para conseguir los 60 cuadros por segundo (o 16 ms tiempo total de cuadros). Pero cuando estos anuncios aparecen juntos en la misma página, de repente necesitan 18 ms por cuadro y el navegador no puede ofrecer la misma experiencia fluida de 60 cuadros por segundo.
Este es el problema de coordinación: Incluso los anuncios que están perfectamente diseñados, cuando se juntan, impactan de manera negativa la experiencia del usuario.
Finalmente, incluso cuando se ignora lo que hemos dicho arriba, hay muchas cosas que se pueden hacer para mejorar la calidad general de los anuncios creativos desde el punto de vista de su impacto en la experiencia del usuario. AMP se creó como un camino simple para crear documentos en la Web con un buen rendimiento, y sería genial hacer el mismo salto hacia adelante para la publicidad en la Web.
AMP para anuncios
Al inicio de este año, un equipo de Google se hizo esta pregunta:
“AMP funcionó muy bien para el contenido general. ¿Podríamos usarlo para los anuncios?”
... y eso fue lo que hicieron. Estos anuncios basados en AMP son documentos de AMP válidos y normales, que también son anuncios creativos. Esto me emociona porque ofrece un camino para resolver todos los desafíos técnicos mencionados anteriormente, llevándonos a un ecosistema más saludable en términos técnicos en Internet.
AMP es aún muy joven para los anuncios, o A4A, pero después de anunciar hace unas semanas el esfuerzo en GitHub, el equipo ha
unido sus solicitudes en AMP y está en el proceso de establecer un experimento en vivo. AMP continuará siendo compatible con anuncios creativos que no sean AMP para permitir una transición gradual del ecosistema más amplio.
Separar las solicitudes de anuncios de la reproducción de anuncios
La primera innovación en A4A parece muy obvia en retrospectiva, pero tiene una gran impacto: Como se menciona anteriormente, AMP carga de manera predeterminado los anuncios después del contenido y lo hace generalmente lentamente. Esto ocurre porque reproducir los anuncios puede ser muy costoso en términos de CPU y RAM. Sin embargo, la solicitud misma de los anuncios puede ser lenta, porque se tiene que hacer mucho trabajo (piensa: la subasta) en el servidor. No es conveniente hacerlo tarde para obtener tiempos de carga rápidos. Desde la perspectiva del cliente, hacer la solicitud es muy barato, pero su efecto secundario (la reproducción del anuncio) es costoso. Separando los dos, A4A consigue una reproducción de anuncios más rápida sin un costo adicional de CPU y memoria.
Uno de los elementos principales de AMP es que se envía con un validador que verifica el cumplimiento de los documentos de AMP con ciertas reglas. La ideas es: Si se cumplen las reglas, el documento se cargará más rápido. El conjunto de reglas que diseñamos para AMP tiene un conjunto más amplio de tipos de documentos y utiliza casos en ese sentido. Por otro lado, los anuncios creativos son un caso de uso mucho más enfocado y por lo tanto no requieren la misma amplitud de funcionalidad que tiene AMP. Por esta razón, AMP para anuncios recoge cuidadosamente los aspectos de AMP que se requieren para crear anuncios creativos. Un ejemplo es que AMP basado en anuncios no podrá cargar iframes con un JavaScript arbitrario.
Comparando esto con el estado actual de la tecnología de anuncios: los anuncios creativos normalmente tienen el control total sobre el navegador y pueden cargar dinámicamente más código durante el tiempo de ejecución, por lo tanto es imposible saber lo que realmente harán. Por otro lado, AMP basado en creatividad tendrá un comportamiento definido y estadísticamente analizable manteniendo el acceso a la gran mayoría de la funcionabilidad de la plataforma web.
En el momento AMP está siendo optimizado para documentos y aún necesita muchos tipos de componentes para acoplar los anuncios. El equipo está trabajando arduamente para cerrar los vacíos de la aplicación. Un ejemplo es que AMP para anuncios se enviará con un componente para animaciones basadas en líneas de tiempo interactivas y fluidas.
Reutilizar AMP
Frecuentemente los anuncios vienen con su propio conjunto de herramientas de medición para recolectar información importante como por ejemplo si el anuncio ha sido visto por el usuario. Esto aumenta sustancialmente el tamaño de la carga del anuncio, la compilación inicial y el tiempo de ejecución, uso de la batería y otros aspectos del rendimiento del tiempo de ejecución.
A través de su mecanismo de
`amp-analytics` establecido, AMP ya viene con todo el código para realzar todas estas medidas. Es neutral con los vendedores y es compatible con una gran variedad de métricas. Esto significa que los anuncios pueden aprovechar la misma característica
“Instrumentar una vez, reportar muchas veces” que beneficia las páginas de AMP de hoy, eliminando completamente el costo del ancho de banda y el tiempo de ejecución mencionado anteriormente.
La solución de coordinación
Los anuncios basados en AMP participarán en el diseño de la página como todos los otros recursos de AMP. Esto significa que aprovecharán automáticamente las características de AMP para minimizar el impacto del recurso en el rendimiento del tiempo de ejecución.
En particular, AMP solo anima las cosas que son visibles en la pantalla. Punto. Mientras que los navegadores están trabajando para conseguir esto a nivel de la plataforma, necesitan ser conservadores para no romper los casos de usos existentes. AMP para los anuncios nuevos y para la tecnología para propósitos especiales, puede determinar la posición cuando las animaciones se necesitan y por lo tanto puede reducir aún más el uso de CPU y el consumo de batería.
AMP actuará como un supervisor para los anuncios y asegurará que no afecten de manera negativa el contenido principal de la página. Las animaciones basadas en A4A serán aminoradas para reducir pero mantener uniforme la tasa de cuadros cuando AMP detecte que 60 cuadros por segundo no se pueden lograr en el dispositivo actual. Del mismo modo, si AMP no puede estabilizar la tasa de cuadros, desactivará las animaciones. Esto asegura que todos los dispositivos obtengan la misma experiencia que puedan ofrecer y asegura de que los anuncios no puedan tener un impacto negativo en aspectos importantes de la experiencia del usuario como desplazarse por la página.
Cruce de plataformas
Como parte del proyecto AMP, AMP para anuncios es una iniciativa neutral hacia el vendedor. Mientras que todavía estamos en la fase temprana de experimentación e implementación, la tecnología está diseñada para ser compatible con todas las redes de anuncios. Si trabajas en una tecnología de anuncios,
saluda a GitHub. Creemos que A4A es una gran paso hacia la experiencia del usuario y nos gustaría ver una gran aceptación en toda la industria de la publicidad en Internet.
Esto es lo que estamos haciendo con los anuncios:
Aún es muy temprano y apenas estamos comenzando a explorar el uso de AMP para anuncios.
En el futuro
- los anuncios serán estadísticamente analizables para ser seguros y para que se comporten de manera correcta
- podrán usar un conjunto común de funcionalidades para reducir significativamente el consumo del ancho de banda,
- El uso de CPU será limitado para los anuncios en la pantalla, mejorando la vida de la batería,
- y los anuncios serán coordinados con la página asegurándose de que el contenido y la funcionalidad primaria pueda fluir a 60 cuadros por segundo.
Estamos intentando construir un primer ecosistema basado en la experiencia del usuario para la publicidad en la Web y teniendo en cuenta el éxito de AMP en publicidad, también puede funcionar.