Discourse es una aplicación de una sola página (SPA) y todo el marcado de la página se genera del lado del cliente mediante nuestra aplicación EmberJS.
El uso de manipulación directa del DOM, como document.write, entra en conflicto directo con todo el sistema y tiene muy pocas posibilidades de “funcionar sin problemas”.
Recomendaría intentar adaptar tu sistema de anuncios para utilizar nuestro sistema de Anuncios internos en el plugin oficial de anuncios. Podrías tener un solo anuncio en el inventario de anuncios internos y usar el ganchos de cambio de página para contactar al servidor de anuncios y reemplazar el anuncio con la respuesta. ¿O quizás tu sistema de anuncios puede escribir directamente en el inventario de anuncios internos a través de la API?