Tạo biến tuỳ chỉnh
Sử dụng bộ sưu tập để sắp xếp ngăn nắp các trang
Lưu và phân loại nội dung dựa trên lựa chọn ưu tiên của bạn.
Hướng dẫn này sẽ hướng dẫn bạn cách tạo mẫu biến tuỳ chỉnh. Thời gian
biến này được sử dụng, nó sẽ nhận một mảng các giá trị và trả về chúng dưới dạng
chuỗi được phân tách bằng dấu phẩy.
Để bắt đầu mẫu biến đầu tiên, hãy nhấp vào Mẫu ở bên trái
điều hướng và nhấp vào nút Mới trong Mẫu biến
.
Trong thẻ Thông tin, hãy xác định Tên và Nội dung mô tả của biến.
Tên là tên mà người dùng sẽ nhìn thấy khi họ triển khai tính năng này
trong giao diện người dùng Trình quản lý thẻ.
Nội dung mô tả chỉ là nội dung ngắn gọn (200 ký tự hoặc
ít hơn) mô tả về chức năng của biến này.
Nhấp vào Làm mới để xem trước mẫu của bạn.
Ở bên phải các trường nhập dữ liệu có cửa sổ Xem trước mẫu.
Mỗi khi thực hiện thay đổi trong trình chỉnh sửa, nút Refresh (Làm mới) sẽ
xuất hiện. Nhấp vào Làm mới để xem các thay đổi của bạn tác động như thế nào đến giao diện của
biến.
Nhấp vào Trường để thêm trường vào mẫu biến.
Thẻ Trường của Trình chỉnh sửa mẫu cho phép bạn tạo và chỉnh sửa các trường trong
mẫu biến. Các trường được sử dụng để nhập dữ liệu tùy chỉnh, chẳng hạn như tài khoản
Mã nhận dạng. Bạn có thể thêm các thành phần biểu mẫu chuẩn như trường văn bản, trình đơn thả xuống
trình đơn, nút chọn và hộp đánh dấu.
Nhấp vào Thêm trường rồi chọn Bảng đơn giản. Thay thế tên mặc định (ví dụ:
"simpleTable1") với "danh sách". Trong phần Xem trước mẫu, hãy nhấp vào Làm mới.
Lặp lại bước này cho một mục Nhập văn bản và gọi là "mảng", gồm hai Hộp đánh dấu
có tên là "use_array" và "sort" và Phương thức nhập văn bản có tên là "separator".
Đối với "dấu phân cách", hãy cung cấp giá trị mặc định là "," bằng cách nhấp vào biểu tượng bánh răng
chuyển đổi "Giá trị mặc định" thành bật và sau đó điền vào Giá trị mặc định mới
trường nhập dữ liệu.
Nhấp vào thẻ Code (Mã) rồi nhập JavaScript dạng hộp cát vào trình chỉnh sửa:
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 || ',');
Mã cho biến này khá đơn giản, nhưng có một vài
những điều đáng chỉ ra.
Trường data
.
Có một số trường đang được truy cập bên ngoài data
chung.
data
sẽ chứa các giá trị mà bạn đã thiết lập trong bước trước.
Đó là lý do chúng ta có thể truy cập data.use_array
, data.sort
,
data.list
và data.delimiter
.
delimiter
được đặt thành giá trị mặc định là ","
nếu data.delimiter
là
không được cung cấp. Bạn nên đặt giá trị mặc định cho một trường nếu
một định dạng là hợp lý. Điều này giúp người dùng dễ dàng sử dụng biến hơn
mẫu, vì các mẫu này không phải điền vào mọi trường để sử dụng
biến.
Nhấp vào Lưu để lưu tiến trình của bạn. Thao tác này sẽ tải mọi quyền phát hiện được
vào Trình chỉnh sửa mẫu.
Một số API mẫu có quyền liên kết với chúng để cho biết nội dung
mà chúng có thể hoặc không thể làm. Khi bạn sử dụng API mẫu, chẳng hạn như sendPixel
trong
mã của bạn, thì Trình quản lý thẻ sẽ hiển thị các quyền liên quan trong mục Quyền
.
Trong thẻ Xem trước mẫu, hãy thêm một số giá trị cho các thuộc tính "giá trị" nhập, nhấp chuột
Chạy mã rồi xem Bảng điều khiển để xem kết quả cho biến của bạn.
Nếu có lỗi, lỗi sẽ xuất hiện trong cửa sổ Console (Bảng điều khiển).
Nhấp vào Lưu rồi đóng Trình chỉnh sửa mẫu
Bây giờ, mẫu biến đã sẵn sàng để sử dụng.
Trừ phi có lưu ý khác, nội dung của trang này được cấp phép theo Giấy phép ghi nhận tác giả 4.0 của Creative Commons và các mẫu mã lập trình được cấp phép theo Giấy phép Apache 2.0. Để biết thông tin chi tiết, vui lòng tham khảo Chính sách trang web của Google Developers. Java là nhãn hiệu đã đăng ký của Oracle và/hoặc các đơn vị liên kết với Oracle.
Cập nhật lần gần đây nhất: 2025-07-25 UTC.
[null,null,["Cập nhật lần gần đây nhất: 2025-07-25 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."]]