Tracking cross-domain (tên miền chéo) là một thách thức kinh điển trong phân tích dữ liệu website. Khi người dùng di chuyển giữa các domain của bạn (ví dụ: yourbrand.com sang shop.yourbrand.com), nếu không cấu hình đúng, Google Analytics sẽ ghi nhận một phiên truy cập mới từ nguồn “Referral”, làm gãy luồng hành trình người dùng và sai lệch dữ liệu. GTM Server-Side là giải pháp tối ưu để giải quyết triệt để vấn đề này, mang lại độ chính xác và khả năng kiểm soát dữ liệu vượt trội.
Tại sao cài đặt Cross-Domain hoàn tất nhưng traffic vẫn ghi nhận là Referral?
Đây là tình huống nhiều nhà phân tích gặp phải. Dù đã làm theo hướng dẫn, dòng traffic “Referral” từ chính domain của mình vẫn xuất hiện. Dưới đây là những thủ phạm chính.
Nguyên nhân 1: Cấu hình Linker Parameter (_gl) bị lỗi hoặc thiếu
Tham số _gl (linker parameter) là chìa khóa của cross-domain tracking. Nó chứa một mã định danh duy nhất (Client ID) được truyền qua URL khi người dùng click từ domain A sang domain B. Nếu tham số này không được tạo ra hoặc bị mất giữa chừng, GA4 sẽ không thể nhận diện đây là cùng một người dùng và sẽ bắt đầu một phiên mới.
Nguyên nhân 2: URL Redirect làm mất tham số _gl khi chuyển trang
Đây là một lỗi rất phổ biến. Khi người dùng click vào một liên kết, hệ thống có thể thực hiện một hoặc nhiều lần chuyển hướng (redirect) trước khi đến trang đích. Các hệ thống redirect 301 hoặc 302 không được cấu hình để giữ lại các tham số URL (như _gl) sẽ vô tình loại bỏ nó, khiến cho việc tracking thất bại.
Nguyên nhân 3: Xung đột cấu hình trong Referral Exclusion List
Referral Exclusion List (Danh sách loại trừ giới thiệu) trong GA4 dùng để ngăn chặn các domain cụ thể bị ghi nhận là nguồn referral (ví dụ: các cổng thanh toán). Tuy nhiên, nếu bạn vô tình thêm chính các domain cần tracking chéo vào danh sách này, bạn đã trực tiếp yêu cầu GA4 bỏ qua thông tin giới thiệu từ chúng, gây ra xung đột và làm mất dữ liệu.
Nguyên nhân 4: Mã GTM hoặc GA4 không được triển khai trên tất cả các domain
Để cross-domain hoạt động, mã tracking (GTM và GA4) phải được cài đặt trên tất cả các trang của tất cả các domain liên quan. Nếu một trang đích trên domain B không có mã, nó sẽ không thể “đọc” được tham số _gl từ domain A, và chuỗi tracking sẽ bị đứt gãy.
Hướng dẫn cài đặt GTM Server-Side với Google Cloud để Tracking tên miền chéo
Sử dụng GTM Server-Side mang lại một phương pháp tracking ổn định, bảo mật và hiệu quả hơn so với chỉ dùng client-side.
Bước 1: Chuẩn bị và thiết lập môi trường Google Cloud Platform (GCP)
Đầu tiên, bạn cần một môi trường server để chạy container GTM. Google Cloud là lựa chọn tối ưu nhất.
- Tạo một dự án mới trên Google Cloud Platform.
- Kích hoạt API cần thiết, chủ yếu là App Engine Admin API.
- Tạo máy chủ tagging: Trong GTM, khi tạo Server Container, bạn sẽ được hướng dẫn tự động hoặc thủ công để triển khai một máy chủ App Engine trên GCP. Quá trình này sẽ tạo ra một URL mặc định cho tagging server của bạn (ví dụ:
your-project-id.appspot.com).

Bước 2: Cấu hình Server Container trong Google Tag Manager
Trong tài khoản GTM của bạn:
- Tạo một container mới, chọn loại Server.
- Sau khi tạo, GTM sẽ cung cấp cho bạn một Container Configuration. Hãy sao chép nó.
- Quay lại GCP, dán cấu hình này vào thiết lập của App Engine đã tạo ở bước 1 để liên kết hai nền tảng.
Bước 3: Thiết lập GA4 Client và Google Analytics Tag trên Server
Trong Server Container của bạn:
- Tạo GA4 Client: Vào mục Clients -> New -> Chọn Google Analytics: GA4. Client này có nhiệm vụ “lắng nghe” và nhận các yêu cầu gửi đến từ GTM client-side.
- Tạo GA4 Tag: Vào mục Tags -> New -> Chọn Google Analytics: GA4. Tag này sẽ lấy dữ liệu mà Client đã nhận và gửi nó đến máy chủ Google Analytics. Đảm bảo bạn nhập đúng Measurement ID từ tài sản GA4 của mình.

Bước 4: Kích hoạt Cross-Domain Linking tự động trong GTM
Đây là bước quan trọng nhất. Trong Web Container (Client-Side) của bạn:
- Mở Tag cấu hình GA4 (Google Tag).
- Đi đến Configuration Settings -> Configure cross-domain linking.
- Trong mục Include domains that match one of the following conditions, nhập tất cả các domain bạn muốn tracking chéo (ví dụ:
funlink.io.vn,shop.funlink.io.vn).
Thao tác này sẽ tự động thêm tham số _gl vào các liên kết trỏ đến những domain đã được liệt kê.
Bước 5: Xác minh và triển khai cấu hình lên môi trường Production
Sử dụng chế độ Preview Mode trên cả Web Container và Server Container. Thực hiện một luồng di chuyển giữa các domain. Quan sát xem các sự kiện có được gửi từ Web, nhận bởi Server và đẩy lên GA4 thành công hay không. Kiểm tra Realtime report trong GA4 để chắc chắn rằng bạn không thấy phiên mới nào từ nguồn Referral của chính mình.
Checklist & Cách Debug Cross-Domain không hoạt động hiệu quả
Khi gặp sự cố, hãy kiểm tra theo trình tự sau:
Kiểm tra sự xuất hiện của _gl parameter trên URL khi chuyển domain
Khi bạn click vào một link từ domain A để sang domain B, hãy nhìn ngay lên thanh địa chỉ của trình duyệt trên domain B. Bạn phải thấy một tham số có dạng _gl=1*... hoặc _ga=.... Nếu không có, cấu hình ở bước 4 đã thất bại.

Sử dụng chế độ Preview Mode của GTM để theo dõi Events và Variables
Chế độ Preview là công cụ gỡ lỗi mạnh mẽ nhất. Trong Web Container, kiểm tra xem sự kiện Click có kích hoạt Tag GA4 không. Trong Server Container, kiểm tra tab Incoming Request để xem dữ liệu có đến được server không, và tab Outgoing Request để xem server có gửi dữ liệu đến GA4 không.
Rà soát lại danh sách Referral Exclusion List trong GA4
Vào Admin -> Data Streams -> Chọn stream của bạn -> Configure tag settings -> Show all -> List unwanted referrals. Đảm bảo không có domain nào bạn đang muốn tracking chéo nằm trong danh sách này.
Xác thực luồng dữ liệu đến Server-Side Tagging Server
Trong Preview Mode của Server Container, nếu không thấy Incoming Request nào, có nghĩa là GTM Client-Side chưa gửi dữ liệu đến đúng URL của tagging server. Hãy kiểm tra lại biến Server Container URL trong tag cấu hình GA4 ở Web Container.
Kiểm tra cookie _ga và _ga_ có được chia sẻ giữa các domain
Dùng công cụ cho nhà phát triển của trình duyệt (Developer Tools), vào tab Application -> Cookies. Kiểm tra giá trị của cookie _ga trên domain A và domain B. Sau khi di chuyển qua lại, giá trị Client ID bên trong cookie này phải giống hệt nhau.
Các sai lầm phổ biến khiến Cross-Domain Tracking thất bại
Chỉ định cấu hình Cross-Domain trên một Tag GA4 duy nhất
Cấu hình Cross-Domain Linking phải được thiết lập trong Google Tag (thẻ cấu hình chung), không phải trong các thẻ sự kiện riêng lẻ (GA4 Event Tag). Điều này đảm bảo tất cả các lượt hit đều được áp dụng logic tracking chéo.
Sử dụng Referral Exclusion List cho các domain cần tracking chéo
Đây là một sai lầm nghiêm trọng. Lặp lại một lần nữa, không bao giờ thêm các tên miền nội bộ (subdomain, domain khác của cùng hệ thống) vào danh sách loại trừ giới thiệu. Nó sẽ phá vỡ hoàn toàn cơ chế cross-domain tracking.
Bỏ qua các trang trung gian (ví dụ: cổng thanh toán) không được cấu hình
Nếu hành trình người dùng đi qua một domain thứ ba (như cổng thanh toán) và sau đó quay lại website của bạn, bạn cần đảm bảo domain trung gian này cũng được thêm vào Referral Exclusion List. Nếu không, khi người dùng quay lại, GA4 sẽ ghi nhận nguồn là từ cổng thanh toán, làm mất đi nguồn gốc thực sự.
Nâng cao kỹ năng Tracking của bạn
Việc làm chủ GTM Server-Side và các kỹ thuật debug phức tạp là một hành trình liên tục. Nó không chỉ giúp dữ liệu của bạn chính xác hơn mà còn mở ra nhiều khả năng tracking nâng cao, cải thiện tốc độ và bảo mật cho website.
Tìm hiểu sâu hơn: Cách cài đặt Cross-Domain Tracking trong GA4 (Client-Side)
Nếu bạn muốn bắt đầu với phương pháp Client-Side trước hoặc so sánh hai phương pháp, hãy tham khảo bài viết chi tiết của chúng tôi về cách cài đặt cross-domain tracking trong GA4.
Liên hệ chuyên gia để được tư vấn các trường hợp phức tạp
Đối với các hệ thống có luồng người dùng phức tạp, nhiều domain hoặc các yêu cầu tracking đặc thù, việc nhận tư vấn từ chuyên gia có thể giúp bạn tiết kiệm thời gian và đảm bảo độ chính xác của dữ liệu.
