Crear una variable personalizada
Organízate con las colecciones
Guarda y clasifica el contenido según tus preferencias.
En esta guía se explica cómo crear una plantilla de variable personalizada. Este tipo de variable toma un array de valores y los devuelve en forma de cadena delimitada por comas.
Para empezar a crear tu primera plantilla de variable, haz clic en Plantillas en el panel de navegación de la izquierda y, a continuación, en el botón Nueva de la sección Plantillas de variables.
En la pestaña Información, define el Nombre y la Descripción de la variable.
El nombre es lo que se mostrará a los usuarios cuando vayan a implementar esta variable en la interfaz de usuario de Tag Manager.
La Descripción es un texto breve (con un máximo de 200 caracteres) que describe la finalidad de esta variable.
Haz clic en Actualizar para obtener una vista previa de la plantilla.
A la derecha de los campos, verás la ventana Vista previa de plantilla.
Cada vez que se haga un cambio en el editor, se mostrará el botón Actualizar. Haz clic en él para ver cómo afectan los cambios al aspecto de la variable.
Haz clic en Campos para añadir campos a la plantilla de variable.
La pestaña Campos del editor de plantillas permite crear y editar campos en la plantilla de variable. Los campos se utilizan para introducir datos personalizados, como un ID de cuenta. Puedes añadir elementos de formulario estándar, como campos de texto, menús desplegables, botones de selección y casillas.
Haz clic en Añadir campo y selecciona Tabla simple. Sustituye el nombre predeterminado (por ejemplo, "Tablasimple1") por "list". Después, ve a Vista previa de plantilla y haz clic en Actualizar.
Repite este paso para crear una entrada de texto llamada "array", dos casillas llamadas "use_array" y "sort", y una entrada de texto llamada "delimiter".
Asigna a "delimiter" un valor predeterminado de ",". Para ello, haz clic en el icono de la rueda dentada, activa la opción Valor predeterminado y, a continuación, introduce en el campo de entrada el nuevo valor predeterminado.
Haz clic en la pestaña Código e introduce en el editor el código JavaScript en entorno aislado:
var input = data.array;
if (!data.use_array) {
input = [];
for (var i = 0; i < data.list.length; i++) {
input.push(data.list[i].values);
}
}
if (data.sort) {
input.sort();
}
return input.join(data.delimiter || ',');
Aunque el código de esta variable es bastante sencillo, hay que tener en cuenta varios factores importantes.
Campos data
.
Hay ciertos campos a los que se accede desde fuera de los campos data
globales.
data
contendrá los valores que hayas definido en el paso anterior.
Gracias a eso, podremos acceder a data.use_array
, data.sort
, data.list
y data.delimiter
.
delimiter
se define con un valor predeterminado de ","
si no se proporciona data.delimiter
. Se recomienda definir valores predeterminados en los campos que sean necesarios. Así, les será más fácil a los usuarios utilizar la plantilla de variable, ya que no tendrán que rellenar cada campo para poder usar la variable.
Haz clic en Guardar para guardar los cambios. Al hacerlo, se cargarán en el editor de plantillas los permisos que se detecten.
Algunas APIs de plantillas tienen permisos asociados que determinan lo que pueden hacer y lo que no. Al incluir en el código alguna de estas APIs, como sendPixel
, Tag Manager muestra los permisos correspondientes en la pestaña Permisos.
En la pestaña Vista previa de plantilla, añade algunos valores para los campos de valores, haz clic en Ejecutar código y consulta la Consola para ver el resultado de tu variable.
Si se produce algún error, aparecerá en la ventana Consola.
Haz clic en Guardar y cierra el editor de plantillas.
Al hacerlo, la plantilla de variable debería estar disponible.
A menos que se indique lo contrario, el contenido de esta página está sujeto a la licencia Reconocimiento 4.0 de Creative Commons y las muestras de código están sujetas a la licencia Apache 2.0. Para obtener más información, consulta las políticas del sitio web de Google Developers. Java es una marca registrada de Oracle o sus afiliados.
Última actualización: 2024-04-17 (UTC).
[null,null,["Última actualización: 2024-04-17 (UTC)."],[[["\u003cp\u003eThis guide provides step-by-step instructions to create a custom variable template in Google Tag Manager.\u003c/p\u003e\n"],["\u003cp\u003eThis template transforms an array of values into a comma-separated string using JavaScript code within the template.\u003c/p\u003e\n"],["\u003cp\u003eThe template utilizes fields like 'list', 'array', 'use_array', 'sort', and 'delimiter' to customize its functionality.\u003c/p\u003e\n"],["\u003cp\u003eUsers can preview and test the template using the 'Template Preview' and 'Console' sections within the editor.\u003c/p\u003e\n"],["\u003cp\u003eOnce saved, the custom variable template is ready to be implemented within Google Tag Manager.\u003c/p\u003e\n"]]],["To create a variable template that returns a comma-delimited string from an array, start by creating a new template, defining its name and description in the *Info* tab. Then, in the *Fields* tab, add fields for a simple table (\"list\"), text input (\"array\"), checkboxes (\"use_array\", \"sort\"), and text input (\"delimiter\"). In the *Code* tab, enter sandboxed JavaScript to process these fields, joining the array with the specified delimiter, and save. Then preview the result and save the variable.\n"],null,["# Create a custom variable\n\nThis guide will walk you through how to create a custom variable template. When\nthis variable is used, it will take an array of values and return them as a\ncomma delimited string.\n\n1. To begin your first variable template, click Templates in the left\n navigation and click the *New* button under the *Variable Templates*\n section.\n\n2. In the *Info* tab, define the variable's *Name* and *Description*.\n\n **Name** is what will be presented to users when they go to implement this\n variable throughout the Tag Manager user interface.\n\n **Description** is just what it sounds like - a brief (200 characters or\n less) description of what this variable does.\n3. Click *Refresh* to preview your template.\n\n To the right of the field inputs, there is a *Template Preview* window.\n Every time a change is made in the editor, the **Refresh** button will\n appear. Click Refresh to see what your changes do to the appearance of your\n variable.\n4. Click *Fields* to add fields to your variable template.\n\n The Template Editor's **Fields** tab lets you create and edit fields in the\n variable template. Fields are used to enter custom data, such as an account\n ID. You can add the standard form elements like text fields, drop down\n menus, radio buttons, and checkboxes.\n5. Click *Add Field* and select *Simple table* . Replace the default name (e.g.\n *\"simpleTable1\"* ) with *\"list\"* . In the *Template Preview* , click *Refresh*.\n\n Repeat this step for a *Text Input* and call it *\"array\"* , two *Checkboxes*\n called \"*use_array* \" and *\"sort\"* , and a *Text Input* called *\"delimiter\"* .\n For *\"delimiter\"* , give it a default value of \",\" by clicking the gear icon,\n toggling *\"Default value\"* to on, and then filling in the new Default Value\n input field.\n6. Click the *Code* tab and enter sandboxed JavaScript in the editor:\n\n var input = data.array;\n\n if (!data.use_array) {\n input = [];\n for (var i = 0; i \u003c data.list.length; i++) {\n input.push(data.list[i].values);\n }\n }\n\n if (data.sort) {\n input.sort();\n }\n\n return input.join(data.delimiter || ',');\n\n The code for this variable is fairly straightforward, but there are a few\n things worth pointing out.\n - `data` fields.\n\n There are a few fields that are being accessed off of the `data` global.\n `data` will contain the values that you set up in the previous step.\n That's why we're able to access `data.use_array`, `data.sort`,\n `data.list`, and `data.delimiter`.\n - `delimiter` is set to a default value of `\",\"` if `data.delimiter` is\n not provided. It's a good practice to set default values for a field if\n one makes sense. This makes it easier for users to use the variable\n template, since they don't have to fill out every field in order to use\n the variable.\n\n7. Click *Save* to save your progress. This will load any detected permissions\n into the Template Editor.\n\n Some Template APIs have [permissions](/tag-platform/tag-manager/templates/permissions) associated with them that dictate what\n they can or cannot do. When you use a template API such as `sendPixel` in\n your code, Tag Manager will show relevant permissions in the **Permissions**\n tab.\n8. In the *Template Preview* tab, add some values for the \"values\" input, click\n **Run Code** , and look at the *Console* to see the output for your variable.\n\n If there are any errors, they will appear in the **Console** window.\n9. Click *Save*, and close the Template Editor\n\n The variable template should now be ready for use."]]