Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Anchor
indice
indice

Excerpt

Este documento explica como implementar en diferentes escenarios Header Bidder para una optima monetización del sitio.

...

  • Implementación Display directa en el sitio
  • Implementación Display mediante Google Tag Manager
  • Implementación para espacios de Video Instream (VAST)
  • Implementación mediante Prebid
  • Implementación mediante Prebid Server
  • Implementación Display en sitios  AMP

...

Warning
titleAtención

En cualquiera de los casos de implementación es importante ademas implementar en el sitio la ultima versión del archivo ads.txt.

Puedes ver como implementar correctamente ads.txt desde este aquí

 ¿Cómo realizo una implementación Display directa en el sitio?

...

Expand
titleVer un ejemplo...


Tip
titleEjemplo

<script src="https://i.e-planning.net/layers/hbdfp.js" id="hbepl" async data-sv="us.img.e-planning.net"data-sv="ads.us.e-planning.net" data-ci="xxxxx" data-dkt="true">



↑ Regresar a la tabla de contenido ↑


¿Cómo realizo una Implementación Display mediante Google Tag Manager?

...

  •     10.A Colocar un nombre descriptivo a los cambios aplicados

  •     10.B Colocar una descripción sobre los cambios aplicados (opcional)

  •     10.C Hacer click en PUBLICAR para hacer efectivos los cambios.

↑ Regresar a la tabla de contenido ↑

¿Cómo realizo un refresh de los slots en una implementación display con monetización?

Si deseamos realizar un refresh de los anuncios de la pagina, contemplando una nueva monetización mediante las fuentes de demanda de E-Planning Header Bidder, podemos hacerlo ejecutando el siguiente comando javascript:

hbepl.refresh()

Este método recargara todos los espacios de DFP con un nuevo valor de correlator, volviendo a subastarlos.

Warning
titleAtención

Este metodo se puede utilizar en implementaciones display directas e implementaciones mediante Google Tag Manager. No puede ser aplicado en implementaciones de video o de sitios AMP

...


↑ Regresar a la tabla de contenido ↑

¿Cómo realizo una Implementación para espacios de Video Instream (VAST)?

...

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Supongamos que poseemos originalmente implementado el siguiente tag del Adserver DFP:

https://pubads.g.doubleclick.net/gampad/ads?sz=320x180|640x360|240x156&iu=/28253248/Placement_Video&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1

Luego, extraemos de la plataforma de E-Planning Header Bidder el siguiente Tag:

https://ads.us.e-planning.net/vhb/1/18f66/

Reemplazaremos entonces el tag original del Adserver DFP por el siguiente:

https://ads.us.e-planning.net/vhb/1/18f66/https://pubads.g.doubleclick.net/gampad/ads?sz=320x180|640x360|240x156&iu=/28253248/Placement_Video&gdfp_req=1&env=vp&output=vast&unviewed_position_start=1



↑ Regresar a la tabla de contenido ↑

¿Cómo realizo

...

E-Planning Header Bidder puede ser implementado en publishers que utilicen en Prebid (http://prebid.org) como una nueva fuente de demanda.

Obtener soporte para E-Planning Header Bidder en Prebid

Para que la implementación de Prebid tenga soporte para E-Planning Header Bidder, se debe incluir en la librería de Prebid el adapter de E-Planning al momento de su descarga.

Para esto, en el momento de  ingresar al  Sitio de descarga de la libreria de Prebid, debemos incluir en la selección de las fuentes de demanda que se quieran utilizar, la fuente E-Planning.

Image Removed

Luego, la librería debe ser incluida en el sitio como se describe en su documentación oficial

Obtención  de mi id de cliente único de Header Bidder

Para obtener el id único de cliente, debemos desde la plataforma acceder a IMPLEMENTACIÓN (1), luego en la sección Implementación para display (2) seleccionar la pestaña PREBID (3), donde podremos ver nuestro id único de cliente (4)

Image Removed

Declaración de los placements en mi sitio para ser monetizados también  por E-Planning HB

Siguiendo el ejemplo de la documentación oficial de Prebid, se debe agregar en cada placement que se quiera implementar el bidder 'eplanning' y como parametro el Account ID mediante el nombre 'ci'. 

...

una implementación Display en sitios AMP?,

Para realizar una implementación en sitios AMP, primero debemos extraer el tag de la plataforma administrativa, y luego implementarlo dentro de los tags de espacio de DFP. Por ultimo, debemos implementar un lineitem de callback para renderizar el anuncio en caso de ganar.

Extracción del tag

Si deseamos implementar Header Bidder directamente en el sitio, debemos ir a la pestaña IMPLEMENTACIÓN (1), Luego dentro del cuadro Implementación para display(2) y seleccionar AMP (3)  . Por último debemos copiar el código  que se mostrará debajo (4). El mismo código que se muestra en pantalla puede ser copiado también haciendo click en el ícono copiar que se encuentra en la esquina superior derecha (5).

Image Added

Implementación del tag

Una vez extraído el tag, este debe implementarse como atributo en los tags  AMP-AD de DFP que querramos monetizar. Se puede ver como desde su documentación oficial: AMP Real Time Config

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Asumiendo un Supongamos que nuestro id de cliente es 18f66 este seria un ejemplo de placement donde esta implementado E-Planning y AppNexusen nuestro sitio tenemos el siguiente tag AMP-AD de DFP que deseamos monetizar:

...

 ¿Cómo realizo una implementación Display en sitios AMP?

Para realizar una implementación en sitios AMP, primero debemos extraer el tag de la plataforma administrativa, y luego implementarlo dentro de los tags de espacio de DFP. Por ultimo, debemos implementar un lineitem de callback para renderizar el anuncio en caso de ganar.

Extracción del tag

Si deseamos implementar Header Bidder directamente en el sitio, debemos ir a la pestaña IMPLEMENTACIÓN (1), Luego dentro del cuadro Implementación para display(2) y seleccionar AMP (3)  . Por último debemos copiar el código  que se mostrará debajo (4). El mismo código que se muestra en pantalla puede ser copiado también haciendo click en el ícono copiar que se encuentra en la esquina superior derecha (5).

Image Removed

Implementación del tag

Una vez extraído el tag, este debe implementarse como atributo en los tags  AMP-AD de DFP que querramos monetizar. Se puede ver como desde su documentación oficial: AMP Real Time Config

Expand
titleVer un ejemplo...
Tip
titleEjemplo

Supongamos que en nuestro sitio tenemos el siguiente tag AMP-AD de DFP que deseamos monetizar:

Code Block
languagexml
<amp-ad width=300 height=250
    type="doubleclick"
    data-slot="/77069040/Right1"
    >
</amp-ad>
Y desde la plataforma de E-Planning extraemos el siguiente tag AMP:
Code Block
languagexml
rtc-config='{"urls": ["https://ads.us.e-planning.net/hb/1/18f66/ADCID/HB_AMP/ROS?&e=ATTR(width)xATTR(height)!ATTR(data-slot)&ur=HREF"], "timeoutMillis": 750}'
Debemos insertar el tag extraído de E-Planning como atributo en el tag de DFP, quedando
Code Block
languagejs
 pbjs.que.push(function() {
	var adUnits = [
		{
			code: 'div-gpt-ad-1438287399331-0',
			sizes: [
				[300, 250],
				[300, 600]
			],
			bids: [
				{ 
					bidder: 'appnexus',
					params: { placementId: '4799418'}
				},
				{
					bidder: 'eplanning',
					params: { ci: '18f66' }
				}
			]
		}
	];
});

...

xml
<amp-ad width=300 height=250
    type="doubleclick"
    data-slot="/77069040/Right1"
    >
</amp-ad>


Y desde la plataforma de E-Planning extraemos el siguiente tag AMP:

Code Block
languagexml
rtc-config='{"urls": ["https://ads.us.e-planning.net/hb/1/18f66/ADCID/HB_AMP/ROS?&e=ATTR(width)xATTR(height)!ATTR(data-slot)&ur=HREF"], "timeoutMillis": 750}'


Debemos insertar el tag extraído de E-Planning como atributo en el tag de DFP, quedando de la siguiente manera:

Code Block
languagexml
<amp-ad width=300 height=250
    type="doubleclick"
    data-slot="/77069040/Right1"
    rtc-config='{"urls": ["https://ads.us.e-planning.net/hb/1/18f66/ADCID/HB_AMP/ROS?&e=ATTR(width)xATTR(height)!ATTR(data-slot)&ur=HREF"], "timeoutMillis": 750}'
    >
</amp-ad>




Implementación del lineitem de renderización en callback

Como ultimo paso para utilizar  Header Bidder en sitios AMP, debemos crear en nuestra cuenta DFP un lineitem de callback. Podemos ver un instructivo completo sobre como realizar esta activación desde este Link


↑ Regresar a la tabla de contenido ↑

¿Cómo realizo una Implementación mediante Prebid?

E-Planning Header Bidder puede ser implementado en publishers que utilicen Prebid (http://prebid.org) como una nueva fuente de demanda.

Obtener soporte para E-Planning Header Bidder en Prebid

Para que la implementación de Prebid tenga soporte para E-Planning Header Bidder, se debe incluir en la librería de Prebid el adapter de E-Planning al momento de su descarga.

Para esto, en el momento de  ingresar al  Sitio de descarga de la libreria de Prebid, debemos incluir en la selección de las fuentes de demanda que se quieran utilizar, la fuente E-Planning.

Image Added


Luego, la librería debe ser hosteada en en servidor prebid server utilizado, tal como lo indica su  documentación oficial

Obtención  de mi id de cliente único de Header Bidder

Para obtener el id único de cliente, debemos desde la plataforma acceder a IMPLEMENTACIÓN (1), luego en la sección Implementación para display (2) seleccionar la pestaña PREBID (3), donde podremos ver nuestro id único de cliente (4)

Image Added

Declaración de los placements en mi sitio para ser monetizados también  por E-Planning HB

Siguiendo el ejemplo de la documentación oficial de Prebid, se debe agregar en cada placement que se quiera implementar el bidder 'eplanning' y cuyo objeto de configuracion cuente con el parámetro  'ci', cuyo valor se corresponda con el id de cliente unico de Header Bidder

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Asumiendo un que nuestro id de cliente es 18f66 este seria un ejemplo de placement donde esta implementado E-Planning y AppNexus

Code Block
languagejs
 pbjs.que.push(function() {
	var adUnits = [
		{
			code: 'div-gpt-ad-1438287399331-0',
			sizes: [
				[300, 250],
				[300, 600]
			],
			bids: [
				{ 
					bidder: 'appnexus',
					params: { placementId: '4799418'}
				},
				{
					bidder: 'eplanning',
					params: { ci: '18f66' }
				}
			]
		}
	];
});




↑ Regresar a la tabla de contenido ↑


Cómo realizo una Implementación mediante Prebid Server?

E-Planning Header Bidder puede ser implementado en publishers que utilicen  Prebid  Server (http://prebid.org/prebid-server) como una nueva fuente de demanda.

Obtener soporte para E-Planning Header Bidder en Prebid Server

Para que la implementación de Prebid server tenga soporte para E-Planning Header Bidder, se debe incluir en la librería de Prebid el adapter de E-Planning , pero ademas, se bebe incluir el adapter  Prebid Server

Image Added

Image Added

Luego, la librería debe ser hosteada en en servidor Prebid Server utilizado, tal como lo indica su  documentación oficial

Obtención  de mi id de cliente único de Header Bidder

Para obtener el id único de cliente, debemos desde la plataforma acceder a IMPLEMENTACIÓN (1), luego en la sección Implementación para display (2) seleccionar la pestaña PREBID (3), donde podremos ver nuestro id único de cliente (4)

Image Added

Declaración E-Planning HB como participe de Prebid Server

Para que E-Planning HB participe de la subasta Prebid Server, se debe incluir  'eplanning' dentro de la lista definida en el atributo bidders del objeto s2sConfig

Expand
title Ver un ejemplo...


Tip
titleEjemplo

Este seria un ejemplo de s2sConfig donde esta implementado E-Planning y AppNexus

Code Block
languagejs
pbjs.setConfig({
        s2sConfig: {
            accountId: '1',
            enabled: true,
            bidders: ['eplanning', 'AppNexus'],
            timeout: 1000,
            adapter: 'prebidServer',
            endpoint: 'https://prebid.adnxs.com/pbs/v1/openrtb2/auction',
            syncEndpoint: 'https://prebid.adnxs.com/pbs/v1/cookie_sync'
        }
    });



Declaración de los placements en mi servidor Prebid Server para ser monetizados también  por E-Planning HB

Si no se contaba con uno, primero, debemos crear un nuevo archivo Stored Request especifico para la configuración de  E-Planning:

stored_requests/data/by_id/stored_imps/<id>.json

Siendo <id> un identificador arbitrario que asignaremos  para el Stored Request.

En el mismo, se debe incorporar  el json de configuración del Stored Request, según lo indica su documentación oficial, asegurándonos de definir correctamente los tamaños a subastar, el dominio y la granularidad de subasta.

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Asumiendo un que nuestro id de cliente es 18f66, y el dominio monetizado es mydomain.com, y granularidad dense, este seria un ejemplo de Stored Request definido para E-Planning:

Code Block
languagejs
 {
    "imp": [
        {
            "ext": {
                "eplanning": {
                    "ci": "18f66"
                }
            },
            "banner": {
                "format": [
                    {
                        "h": 250,
                        "w": 300
                    },
                    {
                        "h": 90,
                        "w": 728
                    }
                ]
            },
            "id": "test-imp-id"
        }
    ],
    "ext": {
        "prebid": {
            "cache": {
                "bids": {}
            },
            "targeting": {
                "pricegranularity": "dense"
            }
        }
    },
    "id": "test-request-id-1",
    "site": {
        "page": "mydomain.com"
    }

}



En caso de que ya contáramos con uno existente, debemos modificar su configuración para incorporar en el placement  el bidder 'eplanning' y cuyo objeto de configuración cuente con el parámetro  'ci', cuyo valor se corresponda con el id de cliente unico de Header Bidder

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Asumiendo un que nuestro id de cliente es 18f66, y que ya contábamos con un stored request creado, solo debemos incorporar el bidder correspondiente a E-Planning, dentro del primer elemento de "imp", en el atributo "ext". Debemos utilizar como nombre del nuevo atributo "eplanning", y como valor un objeto que contenga un atributo "ci", cuyo valor sea el id de cliente respectivo:

Code Block
languagejs
 {
    "imp": [
        {
            "ext": {
				"appnexus": {
                    "placementId": '4799418'
                },
                "eplanning": {
                    "ci": "18f66"
                }
            },
            "banner": {
                "format": [
                    {
                        "h": 250,
                        "w": 300
                    },
                    {
                        "h": 90,
                        "w": 728
                    }
                ]
            },
            "id": "test-imp-id"
        }
    ],
    "ext": {
        "prebid": {
            "cache": {
                "bids": {}
            },
            "targeting": {
                "pricegranularity": "dense"
            }
        }
    },
    "id": "123456789",
    "site": {
        "page": "mydomain.com"
    }

}




↑ Regresar a la tabla de contenido ↑

¿Cómo doy soporte  AMP a Prebid Server?

Para dar soporte AMP a Prebid Server,  se deben cumplir dos etapas, la sincronizacion de usuarios, y la configuracion rtb de los slots.


Sincronización de usuarios en Prebid Server

Para sincronizar los usuarios en prebid server, es necesario dar soporte al componente amp-iframe implementando en el header de la pagina el tag de la libreria correspondiente.

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Asumiendo la librería de amp-iframe como:

Code Block
languagexml
<script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>

La misma debe colocarse en el header de la pagina:

Code Block
languagexml
<html amp lang="en">
<head>
	<meta charset="utf-8">
    <script async src="https://cdn.ampproject.org/v0.js"></script>
    <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
    <title>Hello, AMPs</title>
	
...




Luego, al inicio del body, se debe implementar el siguiente código:

Code Block
languagexml
<amp-iframe width="1" title="User Sync" height="1" sandbox="allow-scripts allow-same-origin" frameborder="0" src="https://ads.us.e-planning.net/uspd/1/?du=https%3A%2F%2Fads.us.e-planning.net%2Fgetuid%2F1%2F5a1ad71d2d53a0f5%3Fhttps%3A%2F%2Fib.adnxs.com%2Fprebid%2Fsetuid%3Fbidder%3Deplanning%26gdpr%3D0%26gdpr_consent%3D%26uid%3D%24UID"><amp-img layout="fill" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" placeholder></amp-img></amp-iframe>


Expand
titleVer un ejemplo...


Tip
titleEjemplo


Code Block
languagexml
<!doctype html>
<html amp lang="en">
<head>
	<meta charset="utf-8">
    <script async src="https://cdn.ampproject.org/v0.js"></script>
    <script async custom-element="amp-iframe" src="https://cdn.ampproject.org/v0/amp-iframe-0.1.js"></script>
    <title>Hello, AMPs</title>
	<link rel="canonical" href="https://amp.dev/documentation/guides-and-tutorials/start/create/basic_markup/">
    <meta name="viewport" content="width=device-width,minimum-scale=1,initial-scale=1">
	<style amp-boilerplate>body{-webkit-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-moz-animation:-amp-start 8s steps(1,end) 0s 1 normal both;-ms-animation:-amp-start 8s steps(1,end) 0s 1 normal both;animation:-amp-start 8s steps(1,end) 0s 1 normal both}@-webkit-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-moz-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-ms-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@-o-keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}@keyframes -amp-start{from{visibility:hidden}to{visibility:visible}}</style>
	<noscript><style amp-boilerplate>body{-webkit-animation:none;-moz-animation:none;-ms-animation:none;animation:none}</style></noscript>
  </head>
  <body>
    <h1>Pixel Sync AMP</h1>

	<amp-iframe width="1" title="User Sync"
	  height="1"
	  sandbox="allow-scripts allow-same-origin"
	  frameborder="0"
	  src="https://ads.us.e-planning.net/uspd/1/?du=https%3A%2F%2Fads.us.e-planning.net%2Fgetuid%2F1%2F5a1ad71d2d53a0f5%3Fhttps%3A%2F%2Fib.adnxs.com%2Fprebid%2Fsetuid%3Fbidder%3Deplanning%26gdpr%3D0%26gdpr_consent%3D%26uid%3D%24UID">
	  <amp-img layout="fill" src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==" placeholder></amp-img>
	</amp-iframe>
  </body>
</html>
</body>
</html>



Configuración RTB de los slots

Una vez implementado el código de sincronización de los usuarios, debe implementarse como atributo en cada uno de los tags  AMP-AD de DFP que queramos monetizar, la configuración AMP Real Time Config de Prebid Server. La misma, consta de indicar el vendor PrebidAppNexus, cuyo objeto de configuración debe contener el atributo PLACEMENT_ID con valor respectivo al id indicado en el Stored Request configurado.

Expand
titleVer un ejemplo...


Tip
titleEjemplo

Supongamos que en nuestro sitio tenemos el siguiente tag AMP-AD de DFP que deseamos monetizar:

Code Block
languagexml
<amp-ad width=300 height=250
    type="doubleclick"
    data-slot="/77069040/Right1"
    >
</amp-ad>

Y que en el Stored Request que queremos utilizar especificamos el siguiente id: 123456789

Debemos completar la configuración RTC de la siguiente manera:

Code Block
languagexml
<amp-ad width=300 height=250
    type="doubleclick"
    data-slot="/77069040/Right1"
    rtc-config='{"urls": ["https://ads.us.e-planning.net/hb/1/18f66/ADCID/HB_AMP/ROS?&e=ATTR(width)xATTR(height)!ATTR(data-slot)&ur=HREF"] rtc-config='{"vendors": {"PrebidAppNexus": {"PLACEMENT_ID": "123456789"}}, "timeoutMillis": 750950}'
    >
</amp-ad>

Implementación del lineitem de renderización en callback

...



↑ Regresar a la tabla de contenido ↑ 


...

Contenido

Table of Contents
excludeContenido
 

...