Web beacons là gì

Web Beacon là gì

Web Beacon, hay Web Bug là 1 khái niệm với 2 tên gọi khác nhau. Có thể bạn chưa từng nghe nói đến, hay đã nghe nhưng ko hiểu rõ lắm về cụm từ này. Trước hết mình sẽ lấy định nghĩa trên Wikipedia xuống để dễ theo dõi

A web bug is an object that is embedded in a web page or email and is usually invisible to the user but allows checking that a user has viewed the page or email. Common uses are email tracking and page tagging for Web analytics

Như vậy, Web beacon là 1 technique trong web programming, mục đích là phục vụ cho web data analytics.

Tại sao lại cần phải có web beacon ? Cách implement web beacon ra sao ? Bài viết này sẽ trả lời 2 câu hỏi trên và 2 khái niệm liên quan thông qua các ví dụ và hình dung cụ thể.

Tại sao lại phải có web beacon ?

Nếu bạn đã từng tự xây dựng 1 web application, deploy trên server của chính bạn - bravo - bạn đã có sản phẩm của chính bạn - đứa con tinh thần đầu tiên :D

Now what ? Bạn muốn application của mình to hơn, lớn nữa, performance cao lên, vậy sẽ bắt đầu phải scale up, add feature, brainstorming để lôi kéo user.

Phần khó khăn nhất ở đây - Long live the users :D Application cần có nhiều idea mới. Hoặc đơn giản, không có thứ gì interesting thì phải có link đến những web khác có interesting content. Vậy, làm thế nào để biết user cảm thấy interesting với content nào nhất ? User hứng thú với dịch vụ gì và không hứng thú với dịch vụ gì ?

1 cách mô hình hoá, Website của bạn - website A có link đến website N1, N2, N3, [các site có intersting content] Bạn - site A webmaster muốn biết user của bạn click vào những link nào nhiều nhất trong số các N-site. Dĩ nhiên là site nào ít attractive nhất thì muốn bỏ đi, site nào càng nhiều attractive thì tìm thêm các loại tương ứng. Mặc dù khi user click vào các link thì đã ra khỏi site của bạn và đi đến site khác, nhưng bạn có thể đặt web beacon ở từng link để tracking user của bạn.

Ngược lại, giả sử vì mục đích quảng cáo, site N của bạn đặt link [banner] ở các site A1, A2, A3,. Đổi lại bạn đang trả tiền cho tất cả. Dĩ nhiên bạn muốn biết user visit site của mình đến từ nơi nào nhiều nhất. Nơi nào user ko đến thì cắt bỏ để giảm chi phí v.v Bạn có thể đặt web beacon ở cổng vào site mình và record lại các information bạn cần.

Thử tưởng tượng 1 hệ thống web có n node X1, X2, Xn , mỗi node đều đặt web beacon ở đầu vào và các đầu ra của mình, mỗi node sẽ có 1 action flow của user, được identify bằng 1 sessionID thống nhất. Đến giai đoạn user behavior analytics, chỉ cần dựa vào 1 sessionID đó có thể tổng hợp được flow tổng quát của từng user trên cả hệ thống !

Implement Web Beacon

Trước hết, Web beacon thường được implement dưới dạng 1 file gif 1x1 pixel, gần như trong suốt với user và giảm tối đa load mỗi lần generate ra request với server.

Trường hợp 1 ở bên trên, cách implement khá đơn giản: Mỗi link đến các website N1, N2, N3 có để đặt gán với 1 hàm javascript, khởi động 1 ajax request đến server của site mình kèm theo các thông tin hữu ích [IP của user, target website v.v] Nội dung request là GET web beacon [request file fig 1x1 pixel] Như thế server site mình sẽ mất thêm lượng tải tối thiếu cho mục đích tracking.

Cách viết cụ thể ajax request và xử lý cookie phía server sẽ không trình bày cụ thể ở bài viết này.

Trường hợp 2, cần có 1 chút lưu ý. Các site A1, A2, A3, bạn đặt banner cần phải có 1 param ghi lại domain của họ, ví dụ:

siteA.html
1 2 3

Như vậy user đi đến site N của bạn sẽ mang theo callback_url. Ở cổng vào site của bạn có thể đặt 1 beacon như sau

siteN.html
1

Chủ Đề