Código para rotar dos banners con PHP

7 Comentarios

A veces tenemos la necesidad de rotar banners porque hemos vendido el mismo espacio y dividimos las impresiones para cada cliente. Si bien esto se puede hacer con un adserver, por ahí no tenemos ganas de andar instalando uno y preferimos las cosas más simples.

Esto código también sirve para hacer pruebas A/B, estas nos permiten determinar qué banner tiene mejor rendimiento y así decidirnos cuál nos conviene.

Este código es muy básico y asigna una impresión a cada banner, es decir, cuando cargue la página aparecerá el banner #1, y cuando refresquen la página nuevamente aparecerá el banner #2.

Código para rotar 2 banners con PHP

<?php $splitIt = rand()&1; echo "<!-- $splitIt -->"; ?>
<?php if ($splitIt == 0) { ?>
<!-- ADS 1 -->
<?php } ?>

<?php if ($splitIt == 1) { ?>
<!-- ADS 2 -->
<?php } ?>

Obviamente este código requiere que tu server soporte PHP. Solo tienen que reemplazar donde dice ADS 1 y ADS 2 por los códigos de sus publicidades.

Comentarios

  • Christopher Dv

    Hola Juanguis, siempre renegué para encontar un código de éstos que me funcione, y hasta ahora el que me anda bárbaro es este:

    <?php

    $banner = mt_rand(1,5);

    if ($banner == 1)

    echo ('');

    if ($banner == 2)

    echo ('');

    if ($banner == 3)

    echo ('');

    if ($banner == 4)

    echo ('');

    if ($banner == 5)

    echo ('');

    ?>

    En este caso yo utilicé 5 banners, pero si quiero restar o agregar más debo editar en el primer párrafo que dice mt_rand(1,5). Ej: Si quiero 3 banners pongo mt_rand(1,3)


    <?php

    $banner = mt_rand(1,5);

    Y obviamente agregar o borrar los párrafos de cada banner cómo éste:

    if ($banner == 1)

    echo ('');

    Siendo $banner == 1 el banner número 1.

    Espero haberme explicado, no soy muy avanzado en el tema, por lo tanto no sé si el código está bien, pero funciona. Te leo hace mucho! Un abrazo.

  • Álvaro Carneiro

    Se podrían ahorrar los condicionales poniendo dichas ads en un array y seleccionado uno al azar (array_rand)

  • Raúl

    Disculpen la ignoracia pero si quiero insertar el banner con un enlace en HTML ¿Cómo hago?
    O una forma simple de poner el url de la imagen y el enlace al que tiene que llevar la misma.

  • iop

    mas facil:

    if(rand(0,1)){

    //baner1

    }else{

    //baner2

    }

    • Álvaro Carneiro

      Más fácil:
      $banners = ['banner1', 'banner2'];
      $banner = $banners[array_rand($banners)];
      echo $banner;