12
oct
2015
4

Etiquetado automatico url´s en Google Drive usando App Script Google

¿Alguna vez os habéis encontrado con la situación de tener que etiquetar muchas url de golpe?

Supongo que sí, y seguramente esto ha requerido un trabajo en equipo, ya que tienes que estar en continuo contacto con la gente y hacerles ver que es importantísimo poder etiquetar las campañas de las que se quiera saber el impacto e incluso que ayude a calcular el ROI.

Cuando digo muchas url de golpe, estoy hablando de unas 300 urls o más (El máximo no lo he probado, pero dependerá de las limitaciones de Google Sheets). Por lo que empecé a pensar una posible solución usando las herramientas siguientes gratuitasssss

Google Sheets

     Permitirá almacenar las urls a etiquetar, tageada con UTM´s y tageada con UTM´s acortada de forma automática

URL Shortener API y Google Cloud Platform

Permitirá hacer llamadas a la api de URL Shortener API para obtener la url tageada acortada. Para ello previamente se tendrá que haber creado un proyecto en Google Cloud Platform y haber habilitado dicha API

 

  1. Google Sheets

Habitualmente se suele usar Google Sheets porque te permite un mejor trabajo en equipo. Todo el mundo puede entrar desde cualquier sitio e incluir su url a etiquetar en cualquier momento, siempre que tenga internet. Como ejemplo he usado un Google Sheets con 21 urls a etiquetar

urls a etiquetar con utm

Una vez creado, el siguiente paso que llevé a cabo  fue pensar cómo podría, de una forma automática, generar tanto la url tageada, como la url tageada acortada. Pensé en acortar de Google “Google Url Shortener” https://goo.gl/

Google Url Shortener

 

Pero el objetivo era poder hacer todo de una vez y forma automática. Entonces había que realizar llamadas a la URL Shortener API y así hariamos trabajar menos al humano y más a las maquinas (Mejor,nooo!!!!!!)

 

  1. URL Shortener API y Google Cloud Platform

Una vez llegado a ese punto, el siguiente objetivo era llamar a URL Shortener API desde el Google Sheet ya existente.

Aquí entran en juego los scripts en Google Sheets y las herramientas que nos proporciona Google Cloud Platform. A continuación expongo los pasos a seguir:

  • Accedemos a https://cloud.google.com/ que está vinculado a tu cuenta de gmail y puedes usar ciertas funcionalidades, con límites, gratuitamente.
  • Una vez que hayas entrado en la cuenta, tendrías que ir a tu consola y crearte un proyecto, en mi caso lo denominé “urlShortener”. Una vez dentro visualizarás este proyecto:

Panel Control Google Cloud Platform

  • Accedemos a la sección API´s, habría que buscar “URL Shortener API” y activarla. Una vez hecha dicha activación,  podrás verlo en la sección “Enabled APIs”

api habilitadas Google Cloud Platform

Nota: Me gustaría hacer hincapié en que Google permite realizar un número máximo de llamadas a API de Shortener de forma gratuita, pero como veis en la siguiente imagen, 1 millón de llamadas gratis al día, no está mal, no?

llamadas gratuitas api shortener

 

  1. Una vez activada la API, llega el último paso a efectuar, que es crear el script en el “Script Editor” de Google Sheet.
  1. Si volvéis al Google Sheet creado en el paso uno, situaros en el menú Herramientasà Editor de secuencias de comando

menu script app Google Script

 

  1. Una vez abierto el script de google, llega el momento de pensar y escribir el código de programación que nos permita hacer la automatización de todo el proceso, que con un simple clic, se generen todos los enlaces tageados y acortados simultáneamente.

 

A continuación muestro el código a realizar:

 

function myFunction() {

//Accedo a mi documentos Excel. El id del documento viene en la url después de /d/

var spa=SpreadsheetApp.openById(“id_documento”);

//Para tener acceso a todas las hojas de mi spreadsheet

var sheets=spa.getSheets();

//Accedemos a la hoja cero

var dataExcel=sheets[0].getDataRange().getValues();

//recorro el excel de los datos de la primera hoja

for(var i=1; i<dataExcel.length;i++)

{

//guardos los valores de la fila del excel que necesito

var url=dataExcel[i][3];

var nombreCampana= dataExcel[i][0];

var fuente= dataExcel[i][1];

var medio= dataExcel[i][2];

var urltageada= url + “?utm_source=” + fuente + “&utm_medium=” + medio + “&utm_campaign=” + nombreCampana;

sheets[0].getRange(i+1,5).setValue(urltageada);

var urlshortener= shortenUrl(urltageada);

sheets[0].getRange(i+1,6).setValue(urlshortener);

}

SpreadsheetApp.flush();

}

//Funcion que se ejecuta cuando se habre el spreadsheet y que  muestra el menú Generar Url Acortadas

function onOpen()

{

var sheetActual= SpreadsheetApp.getActiveSpreadsheet();

var entries= [{name: “Generar Url Acortadas”,

functionName: “myFunction”}];

sheetActual.addMenu(“Generar Url Acortadas”, entries);

}

//Funcion que realiza la petición a la API de Shortener y te devuelve dicha url acortada

function shortenUrl(longUrl)

{

var toShorten = UrlShortener.newUrl().setLongUrl(longUrl);

var shortened = UrlShortener.Url.insert(toShorten);

return shortened.id;

}

 

  1. Antes de poder ejecutar el Menu Generar Url Acortadas de forma automática, hay que realizar estos dos pasos en el Script Editor:

 

  • Menú Resources à Developer Console Proyects. Aparecerá la siguiente pantalla, en la cual tendría que indicar el ID de Proyecto creado anterior en Google Cloud Platform

developer console project

 

  • Menú Resources à Advanced Google Services. Aparecerá la siguiente pantalla, en el cual tendría se debe activar la API URL Shortener para este script

developer console project - api urlshortener

  1. Al realizar los pasos anteriores, se debe de cerrar el Google Sheets y al abrir de nuevo, se verá en el menú principal una opción denominada “Generar Url Acortadas”

developer console project - api urlshortener ejecutado

 

  1. Para finalizar, ya sólo quedaría hacer un click en el menú “Generar Url Acortadas” y en apenas unos segundos se generaran todas la url acortadas que necesitábamos

url etiquetas con urlshortener

 

Espero que nos haya gustado. Hagamos trabajar más a las máquinas ¿no?

Espero poder haber aliviado el día a día a las personas que tengan que realizar dicho trabajo de tageo de urls muy a menudo

Hasta la próxima!!!!!!!!!!!!!!

4

Leave a Reply