¿Cómo puedo mostrar un anuncio flotante fijo de AdSense de 300x250 en la barra lateral derecha de la página de temas sobre el pliegue?

Básicamente, lo que quiero es muy similar a lo que tiene el sitio a continuación:
Fíjate en el anuncio de 300x250 en la barra lateral derecha de la página del tema en Quora.

Tengo un diseño de tema en un foro Discourse similar, con muchos posts en cada tema. Quiero que mis usuarios vean un banner publicitario fijo/flotante de 300x250, y que sea pegajoso (sticky), es decir, cuando los usuarios hagan scroll hacia abajo en la página del tema para leer más posts, este anuncio en la barra lateral derecha debe permanecer pegajoso, exactamente debajo del deslizador de navegación del tema actual (línea de tiempo del tema) de Discourse.
El mismo comportamiento que ves en https://www.quora.com/What-are-the-lessons-people-most-often-learn-too-late-in-life

¿Cómo puedo lograr esto? Ya estoy usando GitHub - discourse/discourse-adplugin: Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum · GitHub, pero no encontré ninguna opción en el plugin de publicidad para hacer eso.

He encontrado esto: How to show advertising in timeline of the topic page?, pero no estoy seguro de cómo insertar un código de Google AdSense dentro de esto, que se ve algo así. No sé cómo insertarlo en el HTML de Ember JS; me da errores de script y div sin cerrar. Como ya es una etiqueta script, ¿cómo cargo el script de Google JS dentro del script existente de Ember de Discourse?

<script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- Topic side bar timeline -->
<ins class="adsbygoogle"
 style="display:block"
 data-ad-client="ca-pub-708790731309"
 data-ad-slot="5067761793"
 data-ad-format="auto"
 data-full-width-responsive="true"></ins>
<script>
 (adsbygoogle = window.adsbygoogle || []).push({});
</script>

Estoy recibiendo este error cuando intento hacerlo:


Mi código se ve así:

<script type="text/discourse-plugin" version="0.8">

api.decorateWidget('topic-timeline-container:before', helper => {
    return helper.h('div.side-block', [
    	helper.rawHtml('<div id="friends"><script async src="https://pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script><ins class="adsbygoogle" style="display:block" data-ad-client="ca-pub-708790731302" data-ad-slot="5067761793" data-ad-format="auto" data-full-width-responsive="true"></ins><script> (adsbygoogle = window.adsbygoogle || []).push({});</script></div>'),
    ])
 });    
</script>

Además, también estoy usando el índice de contenidos de Discourse (Discourse Table of Content): DiscoTOC - automatic table of contents, por lo que el anuncio también debe mostrarse debajo del índice de contenidos actual. Ahora noto que cuando aparece el índice de contenidos, la línea de tiempo del tema desaparece.

¿Puede alguien ayudarme a lograr esto? Este anuncio pegajoso será más visible para mis usuarios y, por lo tanto, el CPM puede mejorar.
@ladydanger @neil, ¿pueden ayudarme?

Gracias de antemano.

1 me gusta

Creo que los anuncios flotantes pueden ir en contra de los términos de uso de AdSense, ten cuidado.

1 me gusta

La última vez que revisé, también lo estaban.

No, no van en contra de las políticas de AdSense. Llevo años gestionando un sitio con un socio certificado de Google, y fueron ellos mismos quienes añadieron este anuncio flotante. Quora hace lo mismo.

Tú también lo hiciste en tu publicación. Pero, ¿cómo puedo obtener la versión en iframe del código de AdSense?

Mis anuncios flotantes son propios, no de AdSense.

Muchos de los principales sitios de noticias muestran anuncios fijos en la barra lateral derecha, mientras los usuarios leen las noticias en el lado izquierdo de la página y hacen scroll hacia abajo.

Incluyendo Forbes, Huffington Post, Quora, 9GAG, BBC, etc.

¿Alguien puede ayudarme a renderizar mi código de AdSense dentro de ese bloque de código de Ember JS? Estoy obteniendo errores de sintaxis.

¿Tienes asignado un espacio publicitario pegajoso de AdSense en tu cuenta por parte de tu representante? Estoy seguro de que los editores que mencionaste sí lo tienen, y nosotros también, pero debes tener un contrato de editor Premium con ellos.

Si no es así, esa es una de las formas más rápidas de que tu cuenta sea suspendida. Solo lo digo… y posiblemente por el interés de otros que quieran seguir este camino.

2 Me gusta

@Terrapop sí, soy un socio editor premium de Google. ¿Podrías ayudarme a resolver mi problema? He estado luchando todo el día para que funcione.

También soy socio premium de Google Ad Exchange.

Además, tengo otras redes publicitarias, por lo que puedo insertar sus códigos en el contenido fijo, pero todos son etiquetas basadas en JS que se insertan en el código HTML. Sin embargo, cuando inserto etiquetas JS dentro del código de Ember.js, como en mi publicación del tema anterior, me da un error de sintaxis.

¿Por qué no colocas simplemente un div con un ID encima del contenedor de la línea de tiempo y lo diriges/traes tráfico mediante DFP? En particular, ya que no deseas mostrar una unidad de Adsense responsiva en esa ubicación, sino una de tamaño fijo. No es necesario usar JS en el contenedor del anuncio. Así es como gestionamos todos nuestros anuncios en Discourse, incluida la puja de encabezado mediante prebid.js. De lo contrario, supongo que tendrías que desarrollar un plugin, ya que no sé si es incluso posible colocar etiquetas de script crudas en algún lugar mediante un componente de plantilla. No lo creo, pero otros podrían tener una mejor respuesta.

Muchas gracias por tu sugerencia. En realidad, nunca he usado DFP, pero sí tengo una cuenta con DFP.
¿Podrías proporcionarme un ejemplo de código sobre cómo colocar un div con un ID encima del contenedor de la línea de tiempo y dirigir el tráfico mediante DFP?

¿Qué cambios necesitaría realizar en la configuración de Discourse y en mi cuenta de DFP? Por favor, proporciona una captura de pantalla y un ejemplo de código; sería de gran ayuda.

Disculpa, pero no tengo mucha experiencia en la personalización del diseño de la página de temas ni en Discourse en general; solo lo he estado usando tal cual viene por defecto. Si puedes ayudarme, sería excelente.

Socio Premium de AdX y nunca has usado DFP? ¿Cómo es eso posible? Ok… :roll_eyes:

Hay muchas guías sobre cómo crear componentes aquí en Meta. Y no puedo compartir nuestro código de implementación de DFP contigo. Solo te confundiría, ya que también hemos integrado header bidding, lo cual es mucho más complejo de lo que necesitas. Sin embargo, Google tiene documentación muy detallada para una configuración sencilla; es algo bastante básico de JavaScript.

Mis redes publicitarias siempre gestionan DFP por mí, yo no.

Podrías haberme dado un ejemplo sencillo basado en código sin compartir tu código personal; solo dímelo y yo insertaré mi propio código en lugar del tuyo… ¿Hay algún tutorial en video o ejemplos de código (puedes eliminar tus códigos secretos de DFP, no me importa), pero quiero entender cómo hacerlo…?

Nunca había escuchado que las redes publicitarias gestionen DFP para clientes. Las agencias, sí… ¿pero las redes publicitarias?

Algo así… (este no es un código totalmente funcional, se necesita mucho más, pero para darte una idea)

<div id="adunit_sidebar"></div>

var adunit_sidebar = googletag.defineSlot('/XXXXXXX/SIDEBAR', [300,250], 'adunit_sidebar').addService(googletag.pubads());

googletag.pubads().disableInitialLoad();
googletag.enableServices();
googletag.display([adunit_sidebar]);
googletag.pubads().refresh([adunit_sidebar]);

Pero si no puedes entender este código en absoluto, debes pedirle a tu “red publicitaria” o agencia que lo configure.

Déjame probar esto. ¿Dónde coloco este código en Discourse? Si es en after head, por favor actualiza el código para que pueda colocarlo en site head sin errores de JavaScript ni de sintaxis.

¿Qué otras dependencias o scripts son necesarios para que funcione completamente?

No, no puedes poner esto tal cual en ningún lado. Como se ha dicho, se requiere mucho más, y como no tienes ningún conocimiento técnico básico de DFP, Discourse o Javascript, por favor contrata a alguien que tenga la capacidad de ayudarte, por ejemplo en Marketplace.

2 Me gusta