Tue. Oct 15th, 2024

Se lanzó la versión 2 de la API de Google Tag Supervisor


Administrador de etiquetas de Google Tiene un aspecto muy ingenioso API programática que te permite hacer casi todo lo que también es posible dentro de la interfaz de usuario de GTM. He usado mucho la API, sobre todo para mi Herramientas GTM¡Que también podría tener un nuevo lanzamiento pronto!

La API se actualizó recientemente a su segunda versión de lanzamiento (V2), y en este artículo quiero repasar las adiciones, eliminaciones y cambios que introdujo la nueva versión.

En primer lugar, V1 de la API Sigue siendo completamente funcional, por lo que no tienes que migrar hasta que estés listo. Dicho esto, la nueva versión trae consigo una serie de cambios que estoy seguro te resultarán útiles cuando trabajes con la API.


incógnita


El boletín informativo de Simmer

Suscríbete a la Boletín informativo de Simmer ¡Para recibir las últimas noticias y contenidos de Simo Ahava en tu bandeja de entrada de correo electrónico!

Los cambios más grandes

El cambio más significativo, en mi opinión, es la introducción de espacio de trabajo como foco central en casi todas las interacciones con cualquier cosa en el nivel de contenedor. No es solo que haya un nuevo espacio de nombres para los espacios de trabajo en la API, sino que siempre debe hacer referencia a un espacio de trabajo al interactuar con los activos del contenedor. Este será el mayor obstáculo en una migración, creo. Todo lo que sucede en un espacio de trabajo (prácticamente todas las interacciones de la interfaz de usuario con un solo borrador de contenedor) ahora debe ir acompañado del ID del espacio de trabajo que desea modificar. Esto, a su vez, significa un viaje de ida y vuelta a través de API de espacios de trabajo para obtener las identificaciones que necesitas.

Otro cambio muy seen es la separación de Variables incorporadas en su propio espacio de nombresAfortunadamente, también existe una forma sencilla de agrupar y habilitar o eliminar múltiples variables integradas en una sola solicitud.

A nivel técnico, al utilizar bibliotecas de cliente ahora se proporciona la ruta al activo como un único parámetro (básicamente path o mother or father) en lugar de utilizar múltiples parámetros nombrados. Las nuevas representaciones de recursos incluyen path clave, que luego puede utilizar para encadenar fácilmente comandos API.

Por último, y esto me encanta, hay soporte para agregar notas a prácticamente cualquier recurso disponible a través de la API. Aunque la interfaz de usuario aún no admite la API, notas Campo tan amplio que ahora puede agregar texto descriptivo a todos los activos a través de la API. Muy útil para documentar el contenedor.

(ACTUALIZAR:Poco tiempo después de escribir este artículo, GTM lanzó Soporte para notas en la interfaz de usuario ¡También, yay!)

Cambios detallados

Lo que sigue es un recorrido por todos los espacios de nombres en la nueva versión de la API, con información sobre lo que cambió desde V1.

1. Cuentas

Cambios de recursos: El Recursos de cuentas Tiene lo siguiente nuevo campos:

  • path:ruta de la Cuenta, p.ej. accounts/12345
  • tagManagerUrl:URL directa a su cuenta en la API de GTM

Cambios de método: No hay cambios significativos en los métodos de Cuentas.

2. Variables incorporadas

Este es un espacio de nombres completamente nuevo en la API. En lugar de pasar una lista de variables integradas en el recurso contenedor en sí, ahora debe habilitar explícitamente las variables integradas en el espacio de trabajo que elija. Puede leer la descripción completa de esta nueva función aquí.

Tenga en cuenta que si desea habilitar varias variables integradas en una sola solicitud (muy recomendable), puede utilizar un formato de lote abreviado para hacerlo.

accounts()
    .containers()
    .workspaces()
    .built_in_variables()
    .create(
        mother or father='accounts/%s/containers/%s/workspaces/%s' % (accountId, containerId, workspaceId),
        sort=('clickClasses', 'clickElement', 'clickId', 'clickUrl', 'clickText', 'clickTarget') )

3. Contenedores

Cambios de recursos: El Contenedores El espacio de nombres no ha cambiado tanto. nuevo Los campos son los mismos que en Cuentas: path y tagManagerUrl. Campos que fueron remoto De V2 son los redundantes timeZoneCountryId y timeZoneId. El enabledBuiltInVariable El campo ha sido reemplazado por el espacio de nombres Variables integradas presentado anteriormente.

Cambios de método: No hay cambios significativos en los métodos de Contenedores.

4. Entornos

Cambios de recursos: Los principales cambios en el Entornos Los recursos son los siguientes:

  • path: ruta relativa en la API al entorno dado

  • authorizationTimestamp: admite ambos nanos y seconds como valores

  • workspaceId: enlace para obtener una vista previa de un espacio de trabajo determinado en el entorno

  • tagManagerUrl:enlace a la página Entornos en el contenedor

Cambios de método:El cambio más significativo es que el antiguo environments.reauthorize_environments Se ha eliminado el espacio de nombres para simplemente agregar uno. reauthorize() Método para la API de entornos principales.

5. Carpetas

Cambios de recursos: Los grandes cambios en el Carpetas Los recursos son:

  • path: ruta API relativa a la carpeta

  • workspaceId:ID del espacio de trabajo desde el que se obtuvo la carpeta

  • tagManagerUrl: enlace a la carpeta en la interfaz de usuario de GTM

  • notes:notas sobre la carpeta

Cambios de método: Los principales cambios en los métodos son que ambos folders.entities y folders.move_folders han sido reemplazados por sus propios métodos API dedicados en entities() y move_entities_to_folders()respectivamente.

También hay un nuevo método, revert()que le permite revertir los cambios a una carpeta en el espacio de trabajo determinado.

6. Etiquetas

Cambios de recursos: Los únicos cambios son la inclusión de path, workspaceId y tagManagerUrl. Por lo demás, la representación de los recursos se ha mantenido relativamente sin cambios.

Cambios de método: El único gran cambio es la introducción de la revert() método, que le permite cancelar cualquier cambio en la etiqueta en el espacio de trabajo dado.

7. Factores desencadenantes

Los activadores se vieron afectados exactamente de la misma manera que las etiquetas. Los cambios son idénticos, con la excepción de notes Ahora también se presenta como un campo escribible para activadores.

8. Permisos de usuario

(Nota: esto solía llamarse simplemente Permisos en la documentación de la versión anterior de la API).
Cambios de recursos: Los principales cambios en Permisos de usuario son:

  • path: ruta API relativa a la entidad de permiso, incluye el permissionId

  • accountAccess.permission: ahora es una cadena en lugar de una lista/matriz

  • containerAccess().permission: ahora es una cadena en lugar de una lista/matriz

Cambios de método: No hay cambios significativos en los métodos.

8. Variables

Cambios a Variables están bastante a la par de lo que se hace con las etiquetas, así que consulte la sección correspondiente más arriba para obtener más detalles.

El Encabezados de versiones API es una nueva incorporación a la API de GTM. Básicamente, es una forma abreviada de acceder a las versiones de cualquier contenedor determinado. A diferencia de la API de versiones, Model Headers solo devuelve, ¡sorpresa!, encabezados. Esto hace que las llamadas a la API sean realmente sencillas y permite obtener rápidamente la información necesaria, como el ID de la versión.

Puede consultar la documentación para obtener más detalles sobre el representación de recursos.

La API tiene dos métodos.

  • newest() Devuelve el encabezado de la versión de la última versión del contenedor. La última versión es la versión creada más recientemente en Google Tag Supervisor y es muy relevante para los espacios de trabajo, ya que estos deben sincronizarse con la última versión del contenedor antes de que se puedan publicar o convertir en versiones.

  • checklist() devuelve una lista de todas las versiones de contenedor en cualquier contenedor determinado.

10. Versiones

(Nota: esto solía llamarse Versiones de contenedores en la documentación de la versión anterior de la API).
Cambios de recursos: Aquí están los cambios a Versiones en la API de GTM:

  • path: ruta API relativa a la versión del contenedor

  • description:solía llamarse notes en la versión anterior de API

  • builtInVariable:lista de variables integradas habilitadas en la versión

  • tagManagerUrl: enlace a la versión del contenedor en la interfaz de usuario de GTM

Tenga en cuenta que el macro y rule Los parámetros han quedado obsoletos en la nueva versión de API.

Cambios de método:A continuación se muestran los principales cambios en los métodos de Versiones:

  • create(): obsoleto – La creación de la versión del contenedor se realiza a través de Workspaces

  • checklist(): obsoleto – La lista de versiones ahora se realiza a través de encabezados de versión

  • reside(): recupera la versión del contenedor que está actualmente activa en el contenedor

  • set_latest(): establece la versión dada como la última versión en el contenedor – reemplaza restore() en la versión anterior de API

11. Espacios de trabajo

El API de espacios de trabajo Se introdujo en la versión 2 de la API de GTM. Definitivamente querrás seguirla. Este enlace y familiarizarse con la nueva API. Comprender cómo Los espacios de trabajo funcionan en el contenedor es elementary para comprender cómo funciona la API de GTM.

  • create_version() crea una versión de un espacio de trabajo, pero solo si la versión pasa todas las comprobaciones de sintaxis y validación de GTM.

  • getStatus() Devuelve todas las entidades conflictivas o modificadas en el espacio de trabajo. Esto resulta útil si desea comprobar si el espacio de trabajo está listo para convertirse en una versión.

  • resolve_conflict() le permite resolver conflictos a favor del espacio de trabajo o de la última versión.

  • sync() le permite sincronizar el espacio de trabajo con la última versión del contenedor: un paso necesario antes de crear la versión.

Los espacios de trabajo son fundamentales para muchas interacciones con la API. Básicamente, cuando trabajas con etiquetas, activadores, variables, carpetas y variables integradas, siempre debes proporcionar el ID del espacio de trabajo con el que estás interactuando. Ya no existe un único “borrador de contenedor”. Siempre hay un espacio de trabajo en el que estás trabajando.

Además de tener que actualizar sus métodos, esto también significa que necesita repensar algunos de los flujos de API que ha estado utilizando hasta ahora. Por ejemplo, en lugar de simplemente crear nuevos elementos en un contenedor, ahora necesita especificar el espacio de trabajo con el que desea trabajar. Esto significa que es posible que primero deba checklist() los espacios de trabajo disponibles para obtener el ID que estás buscando. O quizás quieras create() un nuevo espacio de trabajo para que no te metas con el trabajo inacabado de otras personas.

Resumen

La nueva API sin duda tiene mucho que aprender. La introducción de espacios de trabajo, por ejemplo, seguramente hará que la migración sea un poco complicada. Sin embargo, sería igualmente incómodo trabajar con una API que no esté sincronizada con el conjunto de características de la interfaz de usuario que está administrando. Por este motivo, creo que tiene mucho sentido actualizar a la última versión de la API lo antes posible.

La mayor parte de las cosas son fáciles de entender, como por ejemplo cómo pasar de… accountId= y containerId= a path=accounts/accountId/containers/containerIdDe hecho, creo que cambios como este facilitan el trabajo con lenguajes de programación que utilizan interpolación de cadenas (Python, por ejemplo). Hay algunas convenciones que pueden llevar tiempo comprender de manera rutinaria, como por ejemplo cómo usar versionheaders.checklist en lugar de variations.checklist.

Una de las funciones que solicito constantemente es que Google actualice sus mensajes de error. Es muy difícil entender qué es lo que está mal cuando lo único que se ve en los registros es “400 Solicitud incorrecta” o “500 Error de backend”.

¿Qué opinas sobre la nueva API? ¿Has escrito herramientas para la API de GTM que quieras compartir? ¡Hazlo!



Related Post

Leave a Reply

Your email address will not be published. Required fields are marked *