Como posso exibir um anúncio AdSense flutuante e fixo de 300x250 na barra lateral direita da página de tópico acima da dobra?

Basicamente, o que eu quero é muito similar ao que o site abaixo tem,
Observe o anúncio 300x250 na barra lateral direita da página do tópico do Quora.

Tenho um layout de tópico de fórum Discourse similar com muitos posts em cada tópico. Quero que meus usuários vejam um banner de anúncio 300x250 fixo/flutuante, e ele deve ser fixo (sticky), ou seja, quando os usuários estiverem rolando para baixo na página do tópico para ler mais posts, esse anúncio na barra lateral direita deve permanecer fixo, exatamente abaixo do controle deslizante de navegação do tópico atual (timeline do tópico) do Discourse.
Mesmo comportamento que você vê em https://www.quora.com/What-are-the-lessons-people-most-often-learn-too-late-in-life

Como posso alcançar isso? Já estou usando GitHub - discourse/discourse-adplugin: Official Discourse Advertising Plugin. Install & Start Serving Ads on Your Discourse Forum · GitHub, mas não encontrei nenhuma opção no plugin de publicidade para fazer isso.

Encontrei isso: How to show advertising in timeline of the topic page?, mas não tenho certeza de como inserir um código do Google AdSense dentro disso, que parece algo assim. Não sei como inserir isso no HTML do Ember JS; ele me dá erros de script e div não fechada. Como já é uma tag script, como carrego o script JS do Google dentro do script existente do Ember do 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>

Estou recebendo este erro quando tento fazer isso,


Meu código parece assim,

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

Também estou usando o índice de conteúdos (table of contents) do Discourse: DiscoTOC - automatic table of contents, então o anúncio também deve aparecer abaixo do índice atual. Como agora notei que, quando o índice aparece, a timeline do tópico desaparece.

Alguém pode me ajudar a alcançar isso? Esse anúncio fixo será mais visível para meus usuários e, portanto, o CPM pode melhorar.
@ladydanger @neil, vocês podem me ajudar?

Obrigado antecipadamente.

Acho que anúncios flutuantes podem estar contra os termos de uso do Adsense, tenha cuidado.

Na última vez que verifiquei, eles também estavam.

Não, eles não estão contra as políticas do AdSense. Já estou operando um site há anos com um parceiro certificado pelo Google, e foram eles mesmos que adicionaram esse anúncio flutuante. O Quora faz o mesmo.

Você também fez isso em sua postagem. Mas como posso obter a versão em iframe da tag do AdSense?

Meus anúncios flutuantes são meus próprios, não do AdSense.

Muitos dos principais sites de notícias exibem anúncios fixos na barra lateral direita, enquanto os usuários leem suas notícias no lado esquerdo da página e rolam para baixo.

Isso inclui Forbes, Huffingtonpost, Quora, 9gag, BBC, entre outros.

Alguém pode me ajudar a renderizar meu código do AdSense dentro daquele bloco de código do Ember.js? Estou recebendo erros de sintaxe.

Você tem uma permissão para um anúncio do AdSense fixo inserido na sua conta pelo seu representante? Tenho certeza de que os editores que você mencionou e nós também, mas você precisa estar sob um Contrato de Editor Premium com eles.

Se não estiver, essa é uma das maneiras mais rápidas de ter sua conta banida. Só avisando… e possivelmente no interesse de outras pessoas que desejam seguir por esse caminho.

@Terrapop sim, sou um parceiro editor premium do Google. Pode me ajudar a resolver meu problema? Estou lutando o dia todo para fazer funcionar.

Também sou parceiro premium do Google Ad Exchange.

Além disso, tenho outras redes de anúncios, então posso colocar o código delas no sticky também, mas todas são tags baseadas em JS que são inseridas no código HTML. Porém, quando insiro tags JS dentro do código EmberJS, como no meu post do tópico acima, recebo um erro de sintaxe.

Por que você não coloca simplesmente um div com um ID acima do container da linha do tempo e direciona o tráfego via DFP? Em particular, já que você não deseja exibir uma unidade responsiva do AdSense nesse local, mas sim uma de tamanho fixo. Não há necessidade de JS no container do anúncio. É assim que fazemos todos os nossos anúncios no Discourse, incluindo header bidding via prebid.js. Caso contrário, imagino que você precise desenvolver um plugin, pois não sei se é possível, por meio de um componente de template, inserir tags de script brutas em algum lugar. Não acho que seja, mas outros podem ter uma resposta melhor.

Muito obrigado pela sua sugestão. Na verdade, nunca usei o DFP, mas tenho uma conta com ele.

Poderia, por favor, fornecer um exemplo de código mostrando como colocar um div com um ID acima do container da linha do tempo e direcionar o tráfego via DFP?

Quais alterações eu precisaria fazer nas configurações do Discourse e na minha conta do DFP? Por favor, forneça uma captura de tela e um exemplo de código; isso seria muito útil.

Peço desculpas, mas não tenho muita experiência em personalizar o layout da página do tópico ou o Discourse em geral; tenho usado apenas as configurações padrão. Se puder me ajudar, seria ótimo.

Parceiro Premium do AdX e nunca usou o DFP? Como é isso possível? Ok… :roll_eyes:

Há vários guias sobre como criar componentes aqui no Meta. E eu não posso compartilhar nosso código de implementação do DFP com você. Isso apenas o confundiria, já que também integramos o header bidding, que é muito mais complexo do que o que você precisa. Mas o Google tem documentação bem detalhada para uma configuração simples; são coisas básicas de JavaScript.

Minhas redes de anúncios sempre cuidam do DFP por mim, eu não faço isso.

Você poderia ter me dado um exemplo simples baseado em código sem compartilhar seu código pessoal, apenas me dizendo que eu inseriria meu próprio código no lugar do seu… qualquer tutorial em vídeo ou exemplo de código (você pode remover seus códigos secretos do DFP, não me importo), mas eu quero entender como fazer isso…?

Nunca ouvi falar que redes de anúncios gerenciam o DFP para clientes. Agências, sim… mas redes de anúncios?

Algo nessa linha… (este não é um código totalmente funcional, é necessário muito mais, mas para te dar uma ideia)

<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]);

Mas se você não consegue entender esse código de forma alguma, terá que pedir à sua “rede de anúncios” ou agência para configurá-lo.

Deixe-me tentar isso. Onde devo colocar esse código no Discourse? Se for no after_head, por favor, atualize o código para que eu possa colocá-lo no site head sem erros de JavaScript ou de sintaxe.
E quais outras dependências ou scripts são necessários para que isso funcione totalmente?

Não, você não pode usar isso como está em nenhum lugar. Como dito, é necessário muito mais, e como você não tem nenhum conhecimento técnico básico de DFP, Discourse ou Javascript, por favor, contrate alguém que tenha a capacidade de ajudá-lo, por exemplo, em Marketplace.