El OpenX es el principal gestor de publicidad de código abierto disponible actualmente. Puede ser utilizado en dos versiones: OnRamp,utilizada como servicio, y Source, que debe ser descargada e instalada.
Existen varias maneras de vehicular anuncios vía OpenX. En esta documentación vamos a comentar dos soluciones, ambas vía javascript.
Tag de página
En este modelo, cada página tiene una tag central, inicializadora, y las posiciones de anuncio son invocadas por un código mínimo, muy simple. La integración con Navegg debe ser realizada en la tag de inicialización. En general esta es así:
<script type='text/javascript' src='http://DOMINIO/openx/www/delivery/spcjs.php?id=2'></script>
Para integrar con Navegg, esta debe ser transformada en algo así, conla inserción de la variable OPENXSTR, sustituyendo las letras “ID” por su número de identificación Navegg:
<script type="text/javascript"> (function(w) { try { var x, name, col, persona = JSON.parse(window.localStorage.getItem("nvgpersonaID")); w.NVG_qry = ""; for (col in persona) { name = "nvg_" + col; if (typeof persona[col] == "object") { for (x in persona[col]) { w.OPENXSTR += "&" + name + "_" + persona[col][x] + "=1"; } } else w.OPENXSTR += "&" + name + "=" + persona[col]; } } catch (e) { console.error(e); } })(window) document.write ("<scr"+ "ipt type='text/javascr"+ "ipt' src='http://DOMINIO/openx/www/delivery/spcjs.php?id=2"+ OPENXSTR+ "'></scr"+ "ipt>"); </script>
Ningún otro código es necesario. Al contrario de las tags de zona (abajo), en este modelo no hay necesidad de alterar el código de cada posición de publicidad.
Tag de zona
En este momento, cada posición de anuncio (zona) tiene una tag completa e independiente. De esta manera, es necesario hacer la integración con Navegg en cada posición. La integración es simple, tan sólo debes incluir una nueva línea de código en el bloque javascript de cada zona.
<script type='text/javascript'> (function(w) { try { var x, name, col, persona = JSON.parse(window.localStorage.getItem("nvgpersonaID")); w.NVG_qry = ""; for (col in persona) { name = "nvg_" + col; if (typeof persona[col] == "object") { for (x in persona[col]) { w.OPENXSTR += "&" + name + "_" + persona[col][x] + "=1"; } } else w.OPENXSTR += "&" + name + "=" + persona[col]; } } catch (e) { console.error(e); } })(window) var m3_u = (location.protocol=='https:'?'https://DOMINIO/openx/www/delivery/ajs.php':'http://DOMINIO/openx/www/delivery/ajs.php'); var m3_r = Math.floor(Math.random()*99999999999); if (!document.MAX_used) document.MAX_used = ","; document.write ("<scr"+"ipt type='text/javascript' src='"+m3_u); document.write ("?zoneid=3"); document.write (OPENXSTR); document.write ("&cb=" + m3_r); if (document.MAX_used != ",") document.write ("&exclude=" + document.MAX_used); document.write (document.charset ? "&charset=" + document.charset : (document.characterSet ? "&charset=" + document.characterSet : "")); document.write ("&loc=" + escape(window.location)); if (document.referrer) document.write ("&referer=" + escape(document.referrer)); if (document.context) document.write ("&context=" + escape(document.context)); if (document.mmm_fo) document.write ("&mmm_fo=1"); document.write ("'><\/scr"+"ipt>"); </script>
Utilizando los segmentos en OpenX
Todos los segmentos Navegg quedan disponibles en OpenX como variables del sitio. No es necesario registrarlos previamente.
nvg_gender nvg_age nvg_education nvg_marital nvg_income nvg_interest nvg_product nvg_everyone nvg_career nvg_brand nvg_connection nvg_everybuyer nvg_custom nvg_city nvg_region nvg_country
En OpenX, las variables del sitio deben segmentar banners (creativos) y no campañas. Para hacer que un banner impacte solamente en un público especifico, tan sólo debes ir a la pestaña “Deliveryoptions” de tu pantalla de configuración.
En seguida en el campo “Adddeliverylimitation”, selecciona la opción “Site – Variable”:
Ahora es sólo adicionar las opciones de segmentación deseadas. Nota que OpenX permite crear filtros con las palabras que están contenidas en los valores, lo que es muy útil en la segmentación por interés de contenido, por ejemplo: