Data layer trong Google Tag Manager và cách triển khai chi tiết nhất

Data layer trong Google Tag Manager và cách triển khai chi tiết nhất

08/12/2023

444

0

Chia sẻ lên Facebook
Data layer trong Google Tag Manager và cách triển khai chi tiết nhất

Data layer trong Google Tag Manager là gì? Ai cũng biết GTM là một công cụ giúp quản lý các mã theo dõi, mã quảng cáo, mã phân tích và các mã khác trên website một cách dễ dàng và hiệu quả. Tuy nhiên, để sử dụng GTM một cách tối ưu, bạn cần biết về data layer, một khái niệm quan trọng trong GTM. Bài viết này sẽ giới thiệu cho bạn về data layer trong GTM là gì, làm sao để thêm thông tin vào data layer trong Google Tag Manager, cũng như những lợi ích của data layer cho website của bạn.

 

Nếu bạn muốn biết thêm nhiều cách khác nhau để sử dụng Data Layer theo dõi người dùng và đo lường hiệu suất của website. Hãy liên hệ với những chuyên gia tracking hàng đầu trên Askany để biết thêm nhiều kiến thức bổ ích.

Data layer trong google tag manager là gì?

Về mặt kỹ thuật, Google Tag Manager Data Layer là một mảng JavaScript lưu trữ tạm thời thông tin bạn cần. Sau đó, Google Tag Manager sẽ sử dụng dữ liệu đó để tạo thẻ/trình kích hoạt/biến (tag/triggers/variables) (sau này, các công cụ khác như Google Analytics và Meta Pixel cũng có thể sử dụng dữ liệu đó).

data layer trong google tag manager
Data layer trong google tag manager là gì?

Nói bằng tiếng Việt một cách đơn giản, Data Layer giống như một lớp layer ảo trên trang web của bạn, chứa nhiều điểm dữ liệu khác nhau, và GTM sẽ sử dụng chúng. Đó là lý do tại sao nó được gọi là lớp dữ liệu. Khách truy cập thường sẽ không thấy nó bởi vì nó không phải là thứ được hiển thị công khai. Nhưng nếu bạn biết cách thì việc xem nội dung của nó khá đơn giản.

XEM THÊM CÁC BÀI VIẾT LIÊN QUAN:

Data layer trong google tag manager hoạt động thế nào?

Hãy coi Data Layer như một nhóm. Nhóm đó có thể chứa những quả bóng bàn nhỏ, trong đó mỗi quả bóng chứa một số thông tin, ví dụ: ID người dùng, thông tin về thành phần được nhấp, ID mua hàng, danh mục trang, v.v.


Google Tag Manager phụ thuộc rất nhiều vào những gì có trong nhóm đó (đặc biệt khi bạn có hành trình người dùng phức tạp và muốn theo dõi chúng một cách chính xác).


Bất cứ ai cũng có thể đặt những “quả bóng dữ liệu” đó vào Data Layer. Đó có thể là plugin của bên thứ 3 hoặc code tùy chỉnh do developer của bạn tạo; ngay cả Google Tag Manager cũng có thể đẩy thông tin từ Data Layer.


Hãy lấy ví dụ về việc theo dõi việc mua hàng trên trang web của bạn. Một trong những giải pháp khả thi có thể là yêu cầu developer đẩy thông tin đặt hàng lên Data layer sau khi đặt hàng/mua hàng thành công. Thông tin mà nhà phát triển có thể đẩy lên Data layer là:

  • ID giao dịch
  • Tổng giao dịch
  • Doanh thu giao dịch
  • Thuế giao dịch
  • Sản phẩm đã mua, số lượng, ID sản phẩm, v.v.

Tóm lại, đây là cách GTM và Lớp dữ liệu hoạt động:

data layer trong google tag manager
Đây là cách GTM và Lớp dữ liệu hoạt động

Trong nhiều trường hợp (ít nhất là theo kinh nghiệm của tôi), việc triển khai Lớp dữ liệu không phải là nhiệm vụ của lập trình viên. Không phải tất cả các trang web đều có hoặc cần Data layer đang hoạt động. Việc triển khai Lớp dữ liệu sẽ xuất hiện khi bộ phận marketing cần sử dụng các công cụ Quản lý thẻ như Google Tag Manager.

 

Đó là lý do tại sao digital marketers/analysts nên biết và hiểu Lớp dữ liệu là gì và cách thức hoạt động của nó. Giao tiếp giữa bạn và lập trình viên sẽ trở nên trôi chảy hơn nhiều.

>>> Tham khảo: Khóa học tracking từ A - Z dành cho người mới

Cách triển khai Data Layer trong Google Tag Manager

Vậy câu hỏi tiếp theo là làm sao để triển khai data layer trong google tag manager?

 

Nếu bạn không có kế hoạch sử dụng bất kỳ dữ liệu tùy chỉnh nào trong trình quản lý thẻ của mình (ví dụ: ID người dùng, ID sản phẩm, v.v.), bạn không cần phải làm gì thêm trên trang web của mình.

 

Khi Đoạn mã JavaScript của bộ chứa GTM được đặt trong mã nguồn trang web của bạn, Data Layer cơ bản sẽ được khởi tạo tự động mỗi khi khách truy cập truy cập trang web của bạn.

 

Bạn không cần phải thêm bất cứ điều gì bổ sung. Tuy nhiên, nếu bạn cần thu thập thông tin tùy chỉnh, hãy tiếp tục đọc. Topchuyengia sẽ chỉ cho bạn cách tạo/triển khai lớp dữ liệu. Bạn có thể nhờ đến sự giúp đỡ của bộ phận IT.

 

Đây là một ví dụ về đoạn chứa của GTM:

  
        <head>
  <!-- Trình quản lý thẻ của Google -->
  <script>
    (function(w, d, s, l, i) {
      w[l] = w[l] || [];
      w[l].push({
        'gtm.start': new Date().getTime(),
        event: 'gtm.js'
      });
      var f = d.getElementsByTagName(s)[0],
      j = d.createElement(s),
      dl = l != 'dataLayer' ? '&l=' + l: '';
      j.async = true;
      j.src = 'https://www.googletagmanager.com/gtm.js?id=' + i + dl;
      f.parentNode.insertBefore(j, f);
    })(window, document, 'script', 'dataLayer', 'GTM-XXXXXXX');
  </script>
  <!-- Kết thúc Trình quản lý thẻ của Google -->
</head>
  

 

Ngoài ra còn có phần noscript. Nhưng vì chủ đề chính của chúng ta hôm nay là Lớp dữ liệu nên hãy chỉ tập trung vào script.

 

Thẻ script GTM code được nhắc đến ở trên sẽ tạo Data Layer trên một trang. Bạn thậm chí có thể thấy dataLayer được đề cập trong code. Nếu Lớp dữ liệu tồn tại trên một trang, đoạn mã chứa này sẽ điều chỉnh và tiếp tục sử dụng lớp hiện có.

 

Bây giờ, hãy nói về việc thực sự đưa dữ liệu vào Data Layer. Theo mặc định, Lớp dữ liệu chỉ là một nhóm trống sau khi được tạo. Điều kỳ diệu bắt đầu khi ai đó bắt đầu đưa dữ liệu/thông tin hữu ích vào Google Tag Manager để sử dụng.

 

Có hai cách để thêm dữ liệu vào Data Layer trong google tag manager:

  • Bằng cách thêm đoạn mã dataLayer phía trên đoạn mã vùng chứa GTM. Bước này được gọi là “Khai báo lớp dữ liệu” hay “Data Layer declaration”
  • Hoặc bằng cách đẩy dữ liệu bằng phương thức DataLayer.push.

Data Layer declaration

Data Layer declaration là cách khai báo data layer bằng cách gán một mảng các cặp key/value cho biến dataLayer.

 

Data Layer declaration thường được sử dụng TRƯỚC đoạn mã GTM để khởi tạo data layer và thêm các thông tin cơ bản về trang web. Tuy nhiên, nếu bạn sử dụng Data Layer declaration sau đoạn mã GTM hoặc nhiều lần trên cùng một trang, bạn sẽ ghi đè lên data layer cũ và làm mất các thông tin đã có trước đó.

 

Tóm lại, phương thức này bị giới hạn và chỉ hoạt động nếu bạn thêm đoạn mã Data Layer TRÊN container code của Google Tag Manager. Chuyên gia của chúng tôi không khuyến khích sử dụng nó. Nhưng vì tò mò, chúng ta hãy xem qua.

 

Giả sử bạn muốn gửi danh mục trang dưới dạng thứ nguyên tùy chỉnh tới Google Analytics 4. Đây là Data Layer code phải được thêm phía trên vùng chứa GTM:

  
       <script>
  dataLayer = [{
    'pageCategory': 'google-tag-manager-tips'
  }];
</script>
<!-- Google Tag Manager -->
...
<!-- End Google Tag Manager -->
  

Nếu bạn không thoải mái khi đụng đến code của trang web, bộ phận IT có thể làm điều đó. Nhưng điều này là không cần thiết nếu bạn đã cài đặt một số plugin GTM trên trang web của mình.

 

Một ví dụ khác là dữ liệu giao dịch hoặc sản phẩm. Giả sử bạn muốn triển khai tính năng Theo dõi mua hàng của Google Analytics 4. Trong trường hợp này, nhà phát triển của bạn nên thêm đoạn mã dataLayer phía trên vùng chứa Trình quản lý thẻ của Google với các tham số sau: transaction_id , value, v.v.

Sau khi thông tin này được thêm vào Lớp dữ liệu, Trình quản lý thẻ của Google có thể tìm nạp và chuyển thông tin đó sang GA4.

Nhưng có một số lý do khiến tôi luôn khuyên bạn không nên sử dụng phương pháp này.

  1. Nếu đoạn mã dataLayer = [] được thêm vào bên dưới mã vùng chứa Google Tag Manager thì toàn bộ quá trình triển khai theo dõi sự kiện GTM của bạn sẽ bị hỏng (ngừng hoạt động). Và điều này xảy ra quá thường xuyên.
  2. Đôi khi, những người mới bắt đầu sử dụng Google Tag Manager cần hiểu rõ về phương pháp và thời điểm sử dụng. Ý tôi là, họ nên sử dụng dataLayer = [] hay sử dụng dataLayer.push (mà tôi sẽ giải thích ở phần tiếp theo)?

Nói chung, các chuyên gia GTM không khuyên bạn nên sử dụng phương thức khai báo Lớp dữ liệu -Data Layer declaratio (dataLayer = [];).

Nếu bạn vẫn còn phân vân và cần tìm sự hỗ trợ chuyên sâu, hãy tham khảo ý kiến chuyên gia Nguyễn Minh Đức trên Askany.

  • Profile chuyên gia: https://askany.com/digital-marketing/1694595441744645
  • Thời gian tư vấn: Thứ 2 - Chủ nhật (8:00 - 23:00)
  • Giá tư vấn: 100.000 VND / 15 phút (Gọi điện)

DataLayer.push

DataLayer.push là cách thêm thông tin vào data layer bằng cách sử dụng phương thức push () của mảng dataLayer.

Phương pháp thứ hai (dataLayer.push) là một cách khác để thêm dữ liệu vào Lớp dữ liệu. Dưới đây là một vài ví dụ:

  1. Bạn có biểu mẫu đăng ký bản tin (không thể dễ dàng theo dõi bằng các phương pháp theo dõi biểu mẫu thông thường). Bạn nên yêu cầu nhà phát triển trang web của mình đẩy sự kiện Data Layer sau khi người đăng ký mới nhập email của họ vào trang web của bạn. Mã của sự kiện này có thể trông như thế này:
  
        window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'event': 'new_subscriber'
});
  


Nếu muốn, bạn có thể yêu cầu nhà phát triển của mình cung cấp thêm thông tin (ví dụ: form location (vì bạn có thể có nhiều biểu mẫu trên cùng một trang)).

  
        window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'formLocation': ‘footer’,
  'event': 'new_subscriber'
});
  
  1. Khi khách truy cập thêm sản phẩm vào giỏ hàng của mình, sự kiện Lớp dữ liệu (chứa thông tin về sản phẩm) có thể được kích hoạt.
  
        window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'event': 'addToCart',
  'products': [{
    'id': '123',
    'name': 'Black T-shirt',
    'brand': 'nike',
    'quantity': 1
  }]
});
  

Tại sao phương pháp này tốt hơn phương pháp đầu tiên?

Nó có thể được đặt ở bất kỳ đâu trong mã (trên và dưới vùng chứa Google Tag Manager) và sẽ không phá vỡ tính năng theo dõi sự kiện trong GTM (trong khi phương thức đầu tiên cần bạn thêm nó phía trên đoạn mã GTM).

Điều này có thể thực hiện được nhờ có window.dataLayer = window.dataLayer || []; dòng.

Với phương pháp này, bạn có thể đẩy các sự kiện lên Data Layer để sau này sử dụng làm điều kiện kích hoạt. Ví dụ: nếu ai đó gửi biểu mẫu, nhà phát triển có thể kích hoạt mã sau:

  
        window.dataLayer = window.dataLayer || [];
window.dataLayer.push({
  'event': 'formSubmission'
});
  

Vì mã ở trên chứa event key nên dataLayer.push này có thể được sử dụng làm điều kiện kích hoạt trong Google Tag Manager.

DataLayer.push không ghi đè lên data layer cũ, mà chỉ thêm mới vào cuối mảng. Điều này giúp bạn bảo toàn các thông tin đã có và tránh gây ra lỗi cho GTM.

Lợi ích của Data Layer

Data layer mang lại nhiều lợi ích cho website của bạn, như:

Data layer giúp bạn thu thập và sử dụng dữ liệu một cách chính xác và đồng bộ. Nó là nguồn dữ liệu đáng tin cậy và ổn định, không bị ảnh hưởng bởi các yếu tố như CSS, HTML hay JavaScript trên trang web của bạn. Bạn có thể sử dụng data layer để theo dõi các thao tác của người dùng, như nhấn nút, cuộn trang, thêm vào giỏ hàng, hoàn thành đơn hàng, và gửi dữ liệu đó cho GTM và các công cụ khác, như Google Analytics, Facebook Pixel, Google Ads, v.v.

 

Data layer giúp bạn tùy biến và tối ưu hóa các tag của mình. Data layer cho phép bạn tạo các biến và trigger dựa trên các key và value, và sử dụng chúng để cấu hình các tag của bạn. Bạn có thể tạo các tag phù hợp với mục tiêu và chiến lược, chẳng hạn như remarketing, conversion tracking, event tracking, v.v. Bạn cũng có thể kiểm soát các tag được kích hoạt khi nào và ở đâu, để tránh gây ra sự chậm trễ, xung đột hay thừa thãi cho trang web.

 

Data layer giúp bạn bảo mật và tuân thủ các quy định về dữ liệu. Nó giúp chúng ta kiểm soát dữ liệu, và chỉ gửi những dữ liệu cần thiết cho GTM hay các công cụ khác. Bạn có thể sử dụng data layer để tuân thủ các quy định về bảo mật và quyền riêng tư của người dùng, như GDPR, CCPA, v.v. Bạn cũng có thể sử dụng data layer để thực hiện các chức năng như opt-in, opt-out, consent management, v.v.

 

Tóm lại, Data layer trong Google Tag Manager giúp bạn quản lý dữ liệu và tag của bạn một cách hiệu quả và linh hoạt. Bạn nên tìm hiểu và áp dụng data layer trong website của bạn để tận dụng tối đa các tính năng và lợi ích của GTM. Nếu bạn cần sự hỗ trợ về data layer hay GTM, bạn có thể liên hệ với chuyên gia của Askany để được tư vấn và hỗ trợ tốt nhất.

Tôi là Tô Lãm với hơn 4 năm kinh nghiệm trong lĩnh vực IT, Business Analyst, Data Analyst, Tracking,... cho rất nhiều doanh nghiệp SME. Tôi tốt nghiệp trường Công nghệ Thông tin cùng với kỹ năng và kiến thức trau dồi của mình, tôi mong muốn được chia sẻ các thông tin hữu ích dến với người đọc thông qua các bài viết trên Topchuyengia, mọi người hãy follow mình nhé.

Kinh nghiệm thực tế

Tư vấn 1:1

Uy tín

Đây là 3 tiêu chí mà TOPCHUYENGIA luôn muốn hướng tới để đem lại những thông tin hữu ích cho cộng đồng