AdWords AdWords Scripts Marketing online PPC

Excluir Ubicaciones de Display SPAM

Hoy veremos cómo detectar, recopilar y excluir las ubicaciones de Display SPAM de tus cuentas de AdWords con este script.

¿Cuántas veces has entrado en páginas en las que, al hacer clic en cualquier sitio, hacen que te salte un banner? Seguro que muchas. Pues bien, si no tenemos cuidado en nuestras campañas de AdWords, parte de nuestro presupuesto lo estaremos tirando en este tipo de clics forzados.

Partiendo del script que detecta y elimina ubicaciones de Display de bajo rendimiento, he desarrollado esta variante para realizar lo propio con las ubicaciones de Display que fuerzan al usuario a hacer clic. Lo único que había que cambiar, period la condición que deben cumplir las ubicaciones para ser excluidas.

¿Qué caracteriza a estas ubicaciones de Display “spam”? Fácil: su exageradamente alto CTR.

Dicho esto, paso a comentar las 5 versiones desarrolladas de este script:

Versión 1: AdWords Script a nivel de cuenta

Busca, a nivel de cuenta, las ubicaciones de Display que tengan al menos un nº de impresiones y, como mínimo, un CTR concreto. Además, también limita las ubicaciones de Display a aquellas que hayan tenido como máximo un nº conversiones y conversiones post-impresión. Todos estos valores son editables.

Por ejemplo, los valores por defecto son:

  • Impresiones: 2
  • CTR mínimo: 49%
  • Conversiones: zero
  • Conversiones post-impresión: zero

De esta manera, el script excluirá aquellas ubicaciones de Display que tengan, al menos, 2 impresiones acumuladas, un CTR superior al 49% y que no han producido conversiones ni conversiones post-impresión.

Podéis encontrar el código completo AQUÍ.

Versión 2:  AdWords Script a Nivel de MCC

Versión del script ejecutado a nivel MCC.

Además, se comprueba antes de excluir cada ubicación, si coincide con ‘anonymous.google’. Si coincide, NO lo excluye.

Código completo AQUÍ

Versión 3:  Filtro por etiqueta a nivel MCC

Se ha añadido un filtro por etiqueta a nivel MCC, por si no se quiere ejecutar en todas las cuentas del MCC.

La variable auxiliar:

Y el código de filtrado:

Código completo AQUÍ

Versión 4: Recopilación de ubicaciones en spreadsheet

Además de excluir las ubicaciones de Display, esta versión también las recopila en un spreadsheet, junto con el nº de clics, impresiones, el nombre de la campaña y el ID de la campaña.

Lo que pretendo con esta funcionalidad son 2 cosas:

  1. Poder revisar fácilmente las ubicaciones excluidas y, si detectamos alguna que no queramos que sea excluida, podamos saber de forma rápida en qué campaña se excluyó, y así poder restaurarla.
  2. Obtener un listado único de todas las ubicaciones de Display detectadas y excluidas en TODAS las cuentas en las que el script se ejecutó. Esto puede ser muy útil si creamos una campaña nueva de Display y queremos excluir en ella de inicio todas esas ubicaciones, lo cual es especialmente interesante para este tipo de ubicación spam.

Variables auxiliares:

Debéis hacer una copia de este spreadsheet y pegar la URL en:

Código donde se añade la información de cada ubicación en el spreadsheet:

Si queréis recopilar otro tipo de información, es ahí donde debéis modificar el script.

Código completo AQUÍ

Versión 5: Sistema de control de ejecución de más de 30 minutos

Añadido un sistema de control de ejecución del script, con el que se guarda la última cuenta en la que se ejecutó el script.

El motivo principal para realizar este management es que, si la ejecución del script dura más de 30 minutos, por limitaciones de la API de AdWords, la ejecución se verá interrumpida. Si esto ocurre, en la próxima ejecución el script volvería a empezar desde la primera cuenta.

De esta manera, se guarda en el mismo spreadsheet en el que se recopilan las ubicaciones excluidas, la posición en el array de la última cuenta en la que se ejecutó el script.

Por otro lado, si el script termina su ejecución sin interrupciones, ‘reseteará’ el valor de la última cuenta ejecutada a cero:

Por último, en la siguiente ejecución del script, extraerá ese valor del spreadsheet.

Y comenzará a ejecutarse desde la posición de la última cuenta ejecutada o desde el comienzo, si el valor extraído period cero.

El código completo de esta última versión, lo tenéis AQUÍ.

NOTA: Si el script es interrumpido, por ejemplo, en la cuenta nº 30 y, antes de que se ejecute de nuevo, se añade una nueva cuenta de AdWords que, por su nombre (el script ordena las cuentas en el array por nombre) la coloca en una posición anterior (por ejemplo, la nº 21), en la siguiente ejecución el script saltaría a la nueva cuenta (ya que empezaría a ejecutar en la posición 30).

Por no hacer el código del script más complejo, aún siendo consciente de esta excepción, creo que es asumible, ya que en la siguiente ejecución que comience desde la primera cuenta, el script ya pasaría por la nueva también. El tiempo que tarde en ocurrir esto, depende del intervalo de tiempo que configuréis para la ejecución del script.

Hasta aquí la entrada de este segundo script. Al igual que comenté en el anterior, estoy seguro de que se puede hacer de mil formas más eficientes y añadir funcionalidades mucho más interesantes, por lo que os animo a darle vueltas, trastear con ello y dejar en los comentarios vuestras preguntas, sugerencias o concepts.

Excluye las ubicaciones de #Display #SPAM de tus cuentas de #AdWords con este #AdWordsScript Click To Tweet

ACTUALIZACIÓN 21/10/2016:

Tras recoger el suggestions de los primeros usuarios, he realizado las siguientes modificaciones:

  1. Cambiado el nivel de exclusión de cada ubicación: antes se excluía a nivel de campaña, ahora se excluye a nivel de grupo de anuncios para tener un mayor control de dónde se excluye cada ubicación.
  2. Modificado, tanto el script como la plantilla del spreadSheet, para incluir en la información recopilada, los IDs y nombres de la cuenta publicitaria, campaña y grupo de anuncios a los que pertenece la ubicación excluida. De esta manera, identificaremos de manera aún más rápida y sin equívocos, donde se produjo cada exclusión.
  3. Añadida variable international “timePeriod” para facilitar la edición del periodo de tiempo a analizar. Por defecto, la opción elegida es ALL_TIME, pero para cuentas con mucho histórico, puede llegar a ser un problema. También se indica el enlace a la página de Google Builders donde indica qué valores son compatibles.