2009-07-31 30 views
7

Tôi sử dụng Google Analytics trên trang web của mình và tôi muốn đọc cookie __umtz để nhận liên kết giới thiệu. Tôi đã thực hiện một số nghiên cứu và tôi đã viết mã như vậy:Phân tích cú pháp __utmz cookie theo dõi để nhận giới thiệu

$refer=explode('utmcsr=',$_COOKIE['__utmz']); 
if(count($refer)>1) $refer=explode('|',$refer[1]); 
$refer=addslashes($refer[0]); 

Vấn đề là, điều này không phải lúc nào cũng hoạt động, đôi khi tôi nhận được kết quả rác. Tôi đang làm gì sai? Có thể ai đó có mô tả tốt về cookie này?

+0

Tại sao không chỉ sử dụng document.referrer trực tiếp? – bdonlan

+0

Bạn có ý nghĩa gì bởi 'rác'? bạn có thể cung cấp một ví dụ? –

Trả lời

4

Bạn có thể sử dụng $ _SERVER ['HTTP_REFERER'] để nhận Người giới thiệu. Nhìn chung, bạn nên sử dụng cookie của người khác để lấy dữ liệu trừ khi bạn biết chính xác cách họ làm việc và khi họ cập nhật hoặc bạn sử dụng API mà THEY đã cung cấp.

Giả sử Google quyết định sửa đổi hoàn toàn cookie để thông tin Người giới thiệu không có sẵn trên cookie, hệ thống của bạn sẽ bị hỏng. Tốt nhất là lấy dữ liệu trực tiếp từ nguồn của chính bạn chứ không phải của người khác.

+1

Tôi chỉ không muốn làm điều tương tự như google không :) – Thinker

+0

Đó là một cái cớ để không làm điều gì đó đúng cách. Khi bạn sử dụng lý do để biện minh cho chương trình xấu, mọi thứ trở nên sai, giống như bạn đang khám phá. –

+0

Có một lý do khiến mọi người sử dụng API để lấy dữ liệu. Bởi vì chúng đáng tin cậy và chúng hoạt động chính xác 99% thời gian. –

8

Kiểm tra Google Analytics Cookie Parser của tôi.

Trình phân tích cú pháp cookie PHP của Google Analytics là một lớp PHP mà bạn có thể sử dụng để lấy dữ liệu từ các cookie GA như chiến dịch, nguồn, phương tiện, v.v. Bạn có thể sử dụng trình phân tích cú pháp này để lấy dữ liệu này trên biểu mẫu liên hệ hoặc CRM của mình.

Chỉ cần cập nhật lên phiên bản 1.2 với các bản sửa lỗi nhỏ và biết thêm thông tin, số trang được xem trong lượt truy cập hiện tại.

+0

Mã tuyệt vời. Cảm ơn Joao. – Stuart

Các vấn đề liên quan