Uncaught SyntaxError: Unexpected Token ILLEGAL Google Analytics

Hace poco estuve analizando la correcta implementación del código de Google Analytics para registrar las búsquedas internas en el sitio de un cliente. El motor de búsqueda interno es usado por miles de usuarios todos los días, y prácticamente toda la información se estaba desaprovechando.

Los datos de la búsqueda se enviaban a través del método POST del protocolo HTTP, por lo que para registrar los datos se generó una _trackPageview() virtual.

Debugueando el código con el plugin Google Analytics Debugger para Chrome, me encuentro con el siguiente error:

 

Unexpected Token Illegal

 

Uncaught SyntaxError: Unexpected Token ILLEGAL

Surprised Gasp

 

Este error es generalmente causado por la presencia de caracteres no válidos en un script. Pero la línea de código que estaba generando el error a simple vista parecía correcta:

_gaq.push([‘_trackPageview’, ‘search.html?categoria=encontrado&query=Hello+World’]);

Digo a simple vista de manera exagerada, ya que en este caso mirando atentamente es fácil darse cuenta que una de las comillas que encierran el nombre de la página virtual no es una comilla normal. Es en realidad una “Left Quotation Mark”, según lo que nos dice la herramienta HTML Entity Lookup:

 

Left Single Quotation Mark

 

Otras veces puede no ser tan simple detectar caracteres especiales, y en lugar de una comilla desubicada podríamos tener otros caracteres no imprimibles o invisibiles.

COMO RESOLVER EL PROBLEMA?

La solución más simple que encontré, propuesta por Dragan Stankovic en Stackoverflow, fue la de usar el plugin TextFX de Notepad++ para mostrar caracteres especiales.

Notepad++ es uno de mis editores favoritos, y TextFX es una utilissima extensión para manipular texto que me sacó las papas del fuego en incontables ocasiones (que además se puede instalar en pocos segundos desde el administrador de plugins de Notepad++), así que ya estaba todo cocinado!

Veamos nuevamente el texto antes de aplicar las funciones:

 

Google Analytics Code

 

Para revelar caracteres especiales en Notepad++, vamos a activar las siguientes opciones:

1) Vista >> Mostrar Símbolo >> Mostras todos los caracteres

 

Mostrar caracteres especiales Notepad++

 

2) TextFX >> TextFX Characters >> Zap all non printable characters to #

 

Zap Non Printable Characters

 

3) Y el resultado final es:

 

Codigo con caracteres especiales

 

Como podemos observar, el carácter que estaba generando problemas fue reemplazado por un #.

CONCLUSION

En este caso fue fácil detectar el carácter que estaba causando problemas, pero otras veces puede volverse un verdadero rompecabezas, por eso decidí compartir este artículo.

Te pasó a vos también? Querés recomendar algún otro método? Escribí de manera pésima (ya lo sé ^ ^) y necesitás más detalles para resolverlo? Te ha sido útil esta información? Usá la sección de comentarios para dejar tu opinión!

 

Acerca de Leonardo Gallina: Consultor SEO localizado en Milán, Italia. Me gusta adquirir todo tipo de conocimientos. Estoy especialmente interesado en Negocios Web, Search Engine Marketing, Inversiones y desarrollo personal. Amo viajar y superarme en todo momento.
  • Marco Pérez

    Un ejemplo de explicación clara y precisa. Muchas gracias por la duda resuelta.

  • juli

    ayuda, cuando me aparece el error que tenia haci “#”, ¿lo borro o lo dejo?