Sử dụng biến Data Layer variable để lấy dữ liệu từ GTM Data Layer

lam-the-nao-su-dung-data-layer-variable-de-lay-du-lieu-tu-gtm-data-layer

Share This Post

Share on facebook
Share on linkedin
Share on twitter
Share on email

Làm thế nào để có thể kéo được data từ biến Data Layer Variable bằng Google Tag Manager? Ở đây chúng ta đang mặc định là data đã được đẩy vào Data Layer trong GTM. Bài viết này sẽ không giải thích về việc làm sao để đẩy data vào Data Layer?

Data Layer có thể được nhìn thấy bằng nhiều cách:

  • Xem tại GTM Debug Mode
  • Xem tại Console
  • Xem tại Element

 

data-layer-hien-thi-debug mode
data-layer-hien-thi-debug mode
data-layer-hien-thi-console
data-layer-hien-thi-console

Cấu trúc hiển thị của Data Layer

Data Layer được hiển thị dưới nhiều Objective khác nhau. Nhưng có chung cấu trúc là Key + Value.

data-layer-hien-thi-console

 

Trong case dưới đây Key“event”Value“blog post view” hoặc KeyauthorValue“admin”

Xác định Key và Value (Value là data mà bạn muốn lấy) của Data Layer để có thể kéo đúng dữ liệu vào Tag và Variable trong GTM.

2 loại dữ liệu Data Layer

Mình sẽ chia cách lấy data từ  Data Layer GTM ra làm 2 dạng chính dựa vào 2 loại dữ liệu:

  • Tĩnh
  • Động

Tĩnh

Dữ liệu tĩnh là những dữ liệu dạng đơn giản không có biến đổi theo hành vi của người sử dụng website như là tên tác giả bài viết, số ký tự bài viết, tên bài viết….

Loại dữ liệu Tĩnh đơn giản là chỉ cần xác được Key và Value.

  • Vào phần Variable của GTM. Chọn New variable -> Đặt tên và chọn loại variable là Data Layer
  • Nhập Key của Value mà bạn muốn lấy -> Save
tạo-variable-datalayer-1
Tạo new variable chọn data layer
tạo-variable-datalayer-2
Nhập Key

Chọn Refresh -> Reload lại trang và kiểm tra lại phần Debug mode xem. Phần Value đã hiển thị dưới Variable mới mà bạn mới tạo. Trong ví dụ là dlv-author đã hiện value là admin

 

datalayer-simple-value-hien-thi
datalayer-simple-value-hien-thi

 

Với dữ liệu này bạn có thể gắn vào Tag hoặc Trigger phù hợp nhưng hãy lưu ý là chọn đúng Event phù hợp thì dữ liệu mới có thể được kéo ra được.

Dữ liệu tĩnh thì khá đơn giản, chỉ cần xác định của Key chuẩn là có thể kéo được Value của data mà bạn cần lấy.

Động

Dữ liệu động là những dữ liệu kiểu như Order ID, Order Price… những thứ sẽ phụ thuộc vào hành vi của khách hàng.

  • Click chuột phải ở trang Order Received -> Inspect -> Console -> Nhập Datalayer -> Enter
  • Click vào các mũi tên tam giác ngược để mở ra các thư mục con
xac-dinh-tree-dot-notation-datalayer
xac-dinh-tree-dot-notation-datalayer

Dữ liệu loại này sẽ được nằm trong nhiều Object và Key theo dạng thức phân nhánh theo Dot notation. Hiểu nôm na là các danh mục con. Như ví dụ dưới đây, để xác định giá trị cần lấy là Order ID nó sẽ nằm trong Key chính là ID, ID nằm trong actionField, actionField nằm trong purchase, và tiếp tục là nằm trong ecommerce.

  • Câu lệnh để xác định ra được Value của Order ID trong case này là 399 là:

ecommerce.purchase.actionField.ID

Câu lệnh này sẽ được nhập ở khi tạo biến mới New Variable trong GTM. Thay vì nhập Key của Value như Dữ liệu Tĩnh thì đối với dữ liệu động phải nhập cả câu lệnh trên.

  • Tạo New variable -> vẫn chọn variable là data layer
  • Nhập câu lệnh “ecommerce.purchase.actionField.ID” để xác định order id. -> Save
tao-new-variable-datalayer-dong-buoc-1
tao-new-variable-datalayer-dong-buoc-1
tao-new-variable-datalayer-dong-buoc-2
tao-new-variable-datalayer-dong-buoc-2

Nếu bạn lấy giá trị dữ liệu khác thì lựa chọn câu lệnh theo cách tương tự như trên.

  • Refresh và test bằng cách click mua 1 sản phẩm mới để test order id mới
test-variable-datalayer-dong

 

Lưu ý quan trọng

1 trường hợp rất hay gặp là Giá trị data bạn muốn lấy nằm trong 1 Key mà Key đó nằm trong 1 Array. Array ở đây có dạng dấu ngoặc [ ], theo Java Script thì Array có ý nghĩa là listing. 1 Key nằm trong 1 Array có nghĩa là có nhiều Value cho Key đó.

Ví dụ như bạn muốn lấy dữ liệu Price của sản phẩm khi khách hàng order nhưng khách hàng lại order 2 sản phẩm trong 1 order. Do vậy có 2 giá trị Price thì Price ở Key và mình muốn lấy dữ liệu và Key này nằm trong Product Array (Nằm trong dấu ngoặc [ ] như hình mô tả phía dưới.

Key nằm trong Array

Xác định giá trị này cũng tương tự sẽ dùng câu lệnh theo Dot Notation ở trên nhưng đến đoạn phân nhánh sẽ phải thêm số thứ tự để phân biệt.

Ví dụ như sau.

Order của khách hàng có 2 sản phẩm.

Tôi muốn lấy giá trị của Product price của sản phẩm đầu tiên trong Order của Khách hàng.

dot-notation-productid1
dot-notation-product-id-1

 

Câu lệnh sẽ là:

ecommerce.purchase.products.0.price

Chúc các bạn thực hành thành công.

Tung Phan (Daniel)

Tung Phan (Daniel)

Digital Marketing Specialist. Chia sẻ những kiến thức về marketing trong quá trình làm việc và tự tìm tòi học hỏi qua các tài liệu. Hy vọng mọi người cảm thấy có ích!

Subscribe To Our Newsletter

Get updates and learn from the best

More To Explore