Giới thiệu về tính năng gắn thẻ phía máy chủ

Tính năng gắn thẻ phía máy chủ là một cách mới để sử dụng Trình quản lý thẻ của Google nhằm đo lường ứng dụng của bạn trên nhiều thiết bị. Vùng chứa máy chủ sử dụng cùng một mô hình thẻ, điều kiện kích hoạt và biến mà bạn thường dùng, đồng thời cung cấp các công cụ mới cho phép bạn đo lường hoạt động của người dùng ở bất cứ nơi nào hoạt động đó diễn ra.

Cấu hình gắn thẻ thông thường không có tính năng gắn thẻ phía máy chủ sẽ dựa vào một vùng chứa trong trang để gửi dữ liệu đo lường đến nhiều máy chủ thu thập dữ liệu. Hình 1 minh hoạ ví dụ về cách một vùng chứa trên web của Trình quản lý thẻ chạy trong một trình duyệt web gửi dữ liệu đến nhiều máy chủ.

Sơ đồ về một trang web được thiết lập để sử dụng vùng chứa web của Trình quản lý thẻ của Google

Hình 1: Sơ đồ về một trang web được đo lường để sử dụng vùng chứa web của Trình quản lý thẻ của Google.

Ngược lại, vùng chứa phía máy chủ không chạy trong trình duyệt của người dùng hoặc trên điện thoại của họ. Thay vào đó, ứng dụng này chạy trên một máy chủ do bạn kiểm soát.

Sơ đồ về một trang web được đo lường bằng vùng chứa gắn thẻ phía máy chủ.

Hình 2: Ví dụ về cấu hình gắn thẻ sử dụng vùng chứa phía máy chủ.

Máy chủ chạy trong dự án Google Cloud Platform của riêng bạn (hoặc trong một môi trường khác do bạn chọn) và chỉ bạn mới có quyền truy cập vào dữ liệu trong máy chủ cho đến khi bạn chọn gửi dữ liệu đó đi nơi khác. Bạn có toàn quyền kiểm soát cách dữ liệu đó được định hình và nơi dữ liệu đó được định tuyến từ máy chủ. Thẻ được tạo bằng công nghệ JavaScript chạy trong môi trường hộp cát. Quyền giúp bạn biết được những việc mà thẻ có thể làm, còn chính sách cho phép bạn đặt ra các giới hạn cho vùng chứa.

Máy chủ nhận các yêu cầu trên web từ thiết bị của người dùng và chuyển đổi các yêu cầu đó thành sự kiện. Mỗi sự kiện được xử lý bằng thẻ, điều kiện kích hoạt và biến của vùng chứa. Thẻ, trình kích hoạt và biến trong vùng chứa máy chủ hoạt động giống hệt như trong các loại vùng chứa khác: Trình kích hoạt kiểm tra từng sự kiện để tìm các điều kiện nhất định và khi thích hợp, sẽ kích hoạt thẻ gửi dữ liệu sự kiện để xử lý.

Mô hình này đặt ra hai câu hỏi quan trọng cho vùng chứa máy chủ:

  • Dữ liệu đo lường được chuyển từ thiết bị của người dùng đến vùng chứa máy chủ như thế nào?
  • Dữ liệu đo lường được gửi đến vùng chứa phía máy chủ sẽ được chuyển thành sự kiện như thế nào?

Câu trả lời cho cả hai câu hỏi này là một loại thực thể mới để sử dụng trong vùng chứa máy chủ: máy khách.

Cách hoạt động của ứng dụng khách

Ứng dụng là các bộ chuyển đổi giữa phần mềm chạy trên thiết bị của người dùng và vùng chứa phía máy chủ. Ứng dụng nhận dữ liệu đo lường từ một thiết bị, chuyển đổi dữ liệu đó thành một hoặc nhiều sự kiện, định tuyến dữ liệu để xử lý trong vùng chứa và đóng gói kết quả để gửi lại cho bên yêu cầu.

Có rất nhiều thứ! Hãy xem xét kỹ từng phần. Hình 3 cho thấy dữ liệu chuyển vào vùng chứa phía máy chủ từ trình duyệt web của người dùng và từ máy chủ web của bạn đến vùng chứa phía máy chủ.

Sơ đồ về một trang web được đo lường bằng vùng chứa gắn thẻ phía máy chủ.

Hình 3: Mỗi luồng dữ liệu được xử lý bởi một ứng dụng khác.

Các ứng dụng nhận dữ liệu đo lường từ một thiết bị. Giả sử bạn muốn đo lường hoạt động của người dùng ở 3 nơi: một trang web, một ứng dụng điện thoại và một lò nướng bánh mì thông minh. Trang web của bạn sử dụng Google Analytics, ứng dụng điện thoại của bạn sử dụng Firebase Analytics và lò nướng bánh của bạn sử dụng một giao thức độc quyền có tên là "ToastMeasure".

Việc đo lường 3 thiết bị này bằng Trình quản lý thẻ của Google thường yêu cầu một vùng chứa riêng cho mỗi nền tảng. Vì vùng chứa phía máy chủ không chạy trên thiết bị, nên cùng một vùng chứa có thể xử lý khả năng đo lường số liệu phân tích cho cả 3 nền tảng thiết bị. Tuy nhiên, có một vấn đề. Không phải thiết bị nào cũng giao tiếp theo cùng một cách. Giao thức Google Analytics không giống với giao thức ToastMeasure. Đây là nơi các ứng dụng xuất hiện.

Thay vì 3 vùng chứa đó, vùng chứa phía máy chủ của bạn có 3 ứng dụng. Mọi yêu cầu gửi đến vùng chứa sẽ được mỗi ứng dụng xử lý theo thứ tự ưu tiên, ứng dụng có mức độ ưu tiên cao nhất sẽ được xử lý trước. Điều đầu tiên mà mỗi ứng dụng sẽ làm là quyết định xem ứng dụng đó có biết cách xử lý loại yêu cầu đó hay không. Nếu có thể, máy khách sẽ "xác nhận" yêu cầu và tiếp tục đến giai đoạn xử lý tiếp theo. Hành động xác nhận yêu cầu sẽ ngăn các ứng dụng sau chạy. Nếu không xử lý được yêu cầu, ứng dụng sẽ không làm gì và cho phép các ứng dụng khác quyết định có xử lý yêu cầu hay không.

Các ứng dụng sẽ chuyển đổi dữ liệu yêu cầu thành một hoặc nhiều sự kiện. Sau khi ứng dụng ToastMeasure đã xác nhận một yêu cầu, ứng dụng này cần chuyển đổi yêu cầu đó thành một nội dung mà phần còn lại của vùng chứa có thể hiểu được. Đó là một tập hợp sự kiện.

Sự kiện là những điều xảy ra mà bạn muốn đo lường. Chúng có thể là bất kỳ giá trị nào: start_toasting, finish_toasting hoặc buy_bread. Có một số đề xuất về cấu trúc của các sự kiện mà một ứng dụng tạo ra, nhưng yêu cầu duy nhất là phần còn lại của vùng chứa phải hiểu được các sự kiện đó.

Ứng dụng chạy vùng chứa. Ứng dụng đã xác nhận yêu cầu và chuyển yêu cầu đó thành sự kiện. Bây giờ là lúc để thiết lập thẻ, điều kiện kích hoạt và biến. Ứng dụng sẽ chuyển từng sự kiện đến phần còn lại của vùng chứa để xử lý thêm.

Các ứng dụng đóng gói kết quả để gửi lại cho thiết bị. Sau khi vùng chứa chạy, đã đến lúc phản hồi thông báo. Câu trả lời có thể có nhiều hình thức. Có thể khách hàng chỉ nói "OK, xong rồi". Có thể một trong các thẻ muốn chuyển hướng yêu cầu đến một máy chủ thu thập khác. Hoặc có thể một trong các thẻ sẽ yêu cầu đèn trên lò nướng bánh mì đổi màu. Dù có chuyện gì xảy ra, nhiệm vụ của ứng dụng là đóng gói kết quả và gửi lại cho bên yêu cầu.

Rất may là Trình quản lý thẻ sẽ xử lý phần lớn việc này cho bạn. Vùng chứa phía máy chủ có 2 ứng dụng đi kèm: Google Analytics và Measurement Protocol. Các ứng dụng này cung cấp những công cụ cần thiết để bạn bắt đầu đo lường ứng dụng ngay khi tạo vùng chứa.

Một ví dụ ngắn

Hãy xem qua một ví dụ nhanh để biết tất cả các phần kết hợp với nhau như thế nào. Trong ví dụ này, bạn sẽ tạo các mục sau:

  1. Một trang web đơn giản sử dụng gtag.js để gửi sự kiện click đến một vùng chứa phía máy chủ.
  2. Một ứng dụng Google Analytics nhận được sự kiện.
  3. Một điều kiện kích hoạt sẽ kích hoạt sự kiện click.
  4. Thẻ Google Analytics gửi dữ liệu sự kiện đến Google Analytics để xử lý.

Trong ví dụ này, chúng ta sẽ giả định rằng bạn đã tạo và triển khai vùng chứa phía máy chủ.

Định cấu hình gtag.js

Trước tiên, hãy định cấu hình gtag.js để gửi dữ liệu đến vùng chứa phía máy chủ. Với gtag.js, việc gửi dữ liệu đến vùng chứa phía máy chủ cũng giống như việc gửi dữ liệu đến Google Analytics, chỉ khác một điểm. Như trong trang ví dụ bên dưới, hãy đặt lựa chọn cấu hình server_container_url để trỏ đến vùng chứa phía máy chủ.

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });
</script>

Thay thế TAG_ID bằng mã thẻ của bạn. Thay thế https://analytics.example.com bằng URL vùng chứa phía máy chủ của bạn.

Tiếp theo, hãy thêm một hàm sendEvent() để xử lý các sự kiện click:

<!-- Google tag (gtag.js) -->
<script async src="https://www.googletagmanager.com/gtag/js?id=TAG_ID"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'TAG_ID', {
    server_container_url: 'https://analytics.example.com',
  });

  function sendEvent() {
    gtag('event', 'click');
  }
</script>

<button onclick="javascript:sendEvent()">Send Event</button>

Thay thế TAG_ID bằng mã thẻ của bạn. Thay thế https://analytics.example.com bằng URL vùng chứa phía máy chủ của bạn.

Với cấu hình này, các trình xử lý sự kiện (chẳng hạn như hàm sendEvent() có trong ví dụ này) sẽ gửi một sự kiện click đến vùng chứa phía máy chủ của bạn.

Ứng dụng Google Analytics

Vùng chứa của bạn cần một máy khách để nhận sự kiện sau khi sự kiện đó đến máy chủ. Rất may là vùng chứa phía máy chủ được cài đặt sẵn một ứng dụng Google Analytics, nên bạn đã hoàn tất bước này.

Trình kích hoạt nhấp chuột

Tiếp theo, hãy tạo một điều kiện kích hoạt kích hoạt sự kiện click. Tạo một Điều kiện kích hoạt tuỳ chỉnh kích hoạt khi biến được tạo sẵn Tên sự kiện bằng "lượt nhấp".

cấu hình điều kiện kích hoạt

Thẻ Google Analytics

Cuối cùng, hãy đính kèm thẻ Google Analytics vào điều kiện kích hoạt. Giống như ứng dụng, vùng chứa phía máy chủ đi kèm với thẻ Google Analytics. Bạn chỉ cần tạo thẻ, định cấu hình chế độ cài đặt và giờ đây, bạn đã kết nối vùng chứa của mình. Các ứng dụng Google Analytics và thẻ Google Analytics được thiết kế để hoạt động cùng nhau. Điều này có nghĩa là bạn chỉ cần tạo một thẻ Google Analytics và cấu hình của thẻ đó sẽ tự động được lấy từ các sự kiện xuất phát từ máy khách.

Xem trước vùng chứa

Sau khi định cấu hình vùng chứa, hãy nhấp vào Xem trước. Truy cập trang web của bạn trong một cửa sổ trình duyệt khác. Khi các yêu cầu và sự kiện được gửi đến vùng chứa máy chủ của bạn, bạn sẽ thấy các yêu cầu và sự kiện được liệt kê ở bên trái của trang xem trước.

Sau khi bạn hài lòng với các thay đổi, hãy xuất bản vùng chứa phía máy chủ.

Định cấu hình máy chủ cho chế độ sản xuất bằng tính năng phân phát của bên thứ nhất

Trước khi gửi bất kỳ lưu lượng truy cập nào trong môi trường thực tế đến vùng chứa phía máy chủ, bạn nên cài đặt máy chủ trên miền của bên thứ nhất và nâng cấp máy chủ lên chế độ hoạt động thực tế.