Tiếng Việt

Công cụ dành cho nhà phát triển · Bộ mã hóa và giải mã URL

Tại sao các giá trị & và = không được mã hóa trong UTM lại âm thầm làm hỏng báo cáo chiến dịch của bạn

· Tại sao nó quan trọng

url-encoding utm-tracking phân tích

UTM chia thông số chiến dịch theo ký hiệu và thành nhiều thông số phân tích
Hình minh họa vector ToolAcre gốc

Tên chiến dịch chứa & hoặc = trông ổn trong liên kết nhưng bị mọi công cụ phân tích chia thành hai tham số. Bài đăng này cho biết điều gì sẽ xảy ra, cách mã hóa các giá trị một cách an toàn và cách kiểm tra liên kết trước khi gửi.

Khi các tham số UTM phân tách ở các ký tự dấu và không được mã hóa

Tên chiến dịch chứa & hoặc = trông ổn khi được nhập vào liên kết, nhưng mọi hệ thống phân tích đều phân tách nó bằng dấu và và coi phần còn lại là tham số mới. Xuân & Hè trở thành hai giá trị chiến dịch riêng biệt trong báo cáo. Dấu bằng bên trong một giá trị sẽ tạo ra một ngắt tương tự: utm_campaign=2024=best âm thầm làm hỏng cặp khóa-giá trị. Các ký tự này được dành riêng trong cú pháp truy vấn cho cấu trúc chứ không phải nội dung, vì vậy mọi công cụ phân tích cú pháp URL đều đọc chúng dưới dạng dấu phân cách.

Trình phân tích cú pháp URL không có cách nào để biết bạn coi chúng là dữ liệu. Mã hóa chúng dưới dạng %26 và %3D giữ chúng dưới dạng ký tự chữ bên trong các giá trị. Nếu không mã hóa, bảng điều khiển phân tích của bạn sẽ nhận được tên chiến dịch không đầy đủ hoặc bị hỏng và phân chia lưu lượng truy cập trên các phân đoạn không mong muốn. Một liên kết được chia sẻ có thể tạo ra nửa tá chiến dịch ảo nếu tên chứa nhiều ký tự đặc biệt.

Cách phân tích cú pháp các chuỗi truy vấn - & phân tách các cặp và = tách khóa khỏi giá trị, không thoát trừ khi bạn cung cấp nó

Cách phân tích cú pháp chuỗi truy vấn cho thấy lý do tại sao ký hiệu và dấu bằng lại nguy hiểm trong các giá trị. Dấu và phân tách các cặp khóa=giá trị độc lập: ?utm_source=email&utm_campaign=sale có nghĩa là hai tham số riêng biệt. Bên trong một giá trị, ký hiệu không thoát và kết thúc cặp hiện tại và bắt đầu cặp mới. Dấu bằng phân tách khóa khỏi các giá trị: nếu utm_campaign=Q3&2024, trình phân tích cú pháp sẽ thấy utm_campaign=Q3 và sau đó tham số mồ côi "2024" không có giá trị.

Quá trình phân tích cú pháp này diễn ra ở nhiều lớp: trình duyệt đọc URL, máy chủ nhận được yêu cầu và nền tảng phân tích của bạn giải mã lại chuỗi truy vấn. Mỗi lớp áp dụng các quy tắc giống nhau và đưa ra kết luận giống nhau về nơi bắt đầu và kết thúc của các tham số. Bạn không thể cảnh báo người tiêu dùng ở hạ lưu rằng ký hiệu và ký hiệu của bạn là đặc biệt; Cấu trúc URL mang tính quyết định và rõ ràng.

Những ký tự nào cần mã hóa theo giá trị UTM — &, =, #, ?, dấu cách và không phải ASCII và tại sao # là ký tự lén lút nhất

Các ký tự yêu cầu mã hóa theo giá trị UTM bao gồm ký hiệu và, bằng, hàm băm, dấu chấm hỏi, dấu cách và mọi chữ cái hoặc ký hiệu không phải ASCII. Ký tự băm là lén lút nhất: #anything được coi là mã định danh phân đoạn mà trình duyệt không bao giờ gửi đến máy chủ. Tên chiến dịch kết thúc bằng hàm băm sẽ mất mọi thứ sau nó trước khi yêu cầu rời khỏi trình duyệt của bạn. Dấu cách phải trở thành %20 vì lý do cấu trúc tương tự: không hợp lệ trong các URL không được mã hóa.

Không phảiASCII như chữ e có dấu hoặc ký tự tiếng Trung được mã hóa dưới dạng UTF-8 byte và sau đó thoát phần trăm: e có dấu trở thành %C3%A9. Xây dựng liên kết của bạn một cách cẩn thận hoặc sử dụng biểu mẫu mã hóa cho bạn. Các công cụ cho phép bạn dán tên chiến dịch và tạo liên kết đầy đủ thường tự động xử lý bước này, nhưng công thức bảng tính hoặc nối thủ công khiến bạn phải chịu trách nhiệm.

Ví dụ đã hoạt động: mã hóa 'Bán và ra mắt quý 3' dưới dạng utm_campaign — trước và sau cũng như cách báo cáo đọc từng phiên bản

Ví dụ hoạt động: mã hóa "Bán và ra mắt quý 3" dưới dạng utm_campaign hiển thị rõ ràng vấn đề. Nếu không mã hóa, URL kết thúc bằng ký hiệu và: ?utm_campaign=Q3 Sale &. Phần còn lại biến mất hoặc trở thành thông số mới không đúng định dạng. Được mã hóa đúng cách, %26 thay thế ký hiệu và: ?utm_campaign=Q3%20Sale%20%26%20Launch. Khoảng trắng cũng được mã hóa thành %20. Giờ đây, toàn bộ chuỗi đã đến nền tảng phân tích của bạn và báo cáo dưới dạng một chiến dịch duy nhất.

Dán phiên bản chưa được mã hóa và phiên bản được mã hóa vào các bộ giải mã URL riêng biệt và xem chúng khác nhau như thế nào. Biểu mẫu được mã hóa sẽ giải mã trở lại văn bản gốc với tất cả các ký tự đặc biệt được giữ nguyên. Sử dụng bộ mã hóa URL để xác minh bất kỳ liên kết UTM nào trước khi chia sẻ liên kết đó với các thành viên trong nhóm hoặc xuất bản liên kết đó trong các chiến dịch email hoặc nền tảng truyền thông xã hội.

Công thức bảng tính và trình tạo liên kết - nơi quá trình mã hóa xảy ra hoặc không thành công trong các quy trình công việc chung, được mô tả chung

Công thức bảng tính và trình tạo liên kết tùy chỉnh thường thất bại vì chúng nối các chuỗi mà không mã hóa. Việc xây dựng công thức CONCATENATE URL có thể tạo ra văn bản trông hoàn toàn hợp lệ nhưng sẽ bị hỏng khi mở dưới dạng liên kết. Việc mã hóa phải diễn ra bên trong công thức chứ không phải sau đó. Nhiều dịch vụ rút ngắn liên kết và nền tảng theo dõi email tự động mã hóa cho bạn, vì vậy hãy kiểm tra liên kết được tạo thay vì cho rằng việc xây dựng thủ công là an toàn.

Trình tạo chiến dịch kéo và thả trong Google Analytics, HubSpot và các nền tảng tương tự xử lý mã hóa nội bộ. Nếu bạn đang xây dựng liên kết thủ công trong bảng tính hoặc dán chúng vào Slack, hãy giả định rằng chúng sẽ không tự động mã hóa. Chạy URL cuối cùng thông qua bộ giải mã để xác minh tất cả các ký tự đặc biệt được biểu thị dưới dạng %XX trước khi phân phối liên kết.

Các lỗi phổ biến — mã hóa toàn bộ URL và trộn lẫn + và %20 để một chiến dịch trở thành hai chiến dịch

Các lỗi phổ biến bao gồm mã hóa toàn bộ URL, phá vỡ cấu trúc của nó bằng cách mã hóa dấu hai chấm và dấu gạch chéo trong https://. Một lỗi khác kết hợp dấu cộng và %20 cho dấu cách: một số hệ thống sử dụng dấu cộng (mã hóa biểu mẫu cũ) trong khi tiêu chuẩn hiện đại sử dụng %20. Nếu một giá trị chiến dịch sử dụng dấu cộng và giá trị khác sử dụng %20 thì chúng sẽ xuất hiện dưới dạng các chiến dịch khác nhau mặc dù đại diện cho cùng một văn bản. Luôn nhất quán và sử dụng %20 cho các thành phần URL.

Mã hóa kép cũng xảy ra khi trình tạo liên kết mã hóa một lần và bạn mã hóa lại, tạo ra %2526 thay vì %26. Sau khi giải mã một lần, bạn nhận được %26 thay vì ký hiệu và. Ký tự trở thành chuỗi phần trăm hai sáu theo nghĩa đen thay vì ký hiệu và. Kiểm tra các bước trung gian trong quá trình xây dựng của bạn để đảm bảo quá trình mã hóa chỉ diễn ra chính xác một lần cho mỗi giá trị.

Điều này không bao gồm những gì - mô hình phân bổ và cấu hình nền tảng phân tích

Cấu hình phân tích và mô hình phân bổ phụ thuộc hoàn toàn vào việc nhận được dữ liệu chiến dịch chính xác nhất quán. Nếu giá trị UTM của bạn bị cắt xén hoặc bị chia tách thì báo cáo không thể khớp chính xác với các chiến dịch và mô hình phân bổ cảm ứng đa điểm không chỉ định tín dụng chính xác. Lỗi mã hóa duy nhất lan truyền qua mọi báo cáo sử dụng thông số, làm sai lệch đáng kể sự so sánh giữa các tháng hoặc giữa các chiến dịch.

Kiểm tra các liên kết chiến dịch của bạn trước khi khởi chạy hoàn toàn. Dán chúng vào bộ giải mã URL và xác nhận mọi ký tự đặc biệt trong tên chiến dịch đều được mã hóa chính xác. Bộ mã hóa URL hiển thị cả dạng được mã hóa và giải mã cạnh nhau, do đó bạn có thể xác minh quá trình mã hóa đã xảy ra và quá trình giải mã sẽ khôi phục chính xác văn bản gốc.

Bài học rút ra: mã hóa mọi giá trị một lần — cách bộ mã hóa và giải mã URL tạo ra giá trị truy vấn an toàn từ bất kỳ tên chiến dịch nào

Bài học rút ra rất đơn giản: mã hóa mọi giá trị một lần bằng cách sử dụng quy tắc mã hóa phần trăm thích hợp. Dấu và hoặc dấu bằng bên trong tham số UTM phải trở thành %26 hoặc %3D trước khi URL được hoàn thiện và xuất bản. Bộ mã hóa URL ở chế độ một giá trị sẽ thực hiện mã hóa này một cách tự động và đáng tin cậy cho bạn. Dán tên chiến dịch của bạn, chọn Chế độ giá trị, sao chép kết quả được mã hóa vào mẫu liên kết của bạn.

Mọi URL xử lý công cụ phân tích đều áp dụng các quy tắc phân tích cú pháp giống nhau. Không có cách nào khác và không có công cụ nào có thể đoán được ý định hoặc ý định của bạn. Bước mã hóa không phải là tùy chọn; đó chỉ là cách để bảo toàn các ký tự đặc biệt bên trong các giá trị chuỗi truy vấn. Hãy xác minh rằng các liên kết của bạn hoạt động như mong đợi trước khi chia sẻ chúng với các bên liên quan hoặc xuất bản trong các chiến dịch.