2017-06-20 29 views
8

Tôi đang chạy thử nghiệm AB trên toàn trang web trên trang web thương mại điện tử của mình. Sau khi một khách truy cập, tôi gán cho họ một chìa khóa lưu trữ địa phương/giá trị:Thử nghiệm AB với Bộ nhớ cục bộ và Google Analytics

function isLocalStorageNameSupported() { 
    var testKey = 'test', storage = window.localStorage; 
    try { 
    storage.setItem(testKey, '1'); 
    storage.removeItem(testKey); 
    return true; 
    } catch (error) { 
    return false; 
    } 
} 

$(function() { 

    if(isLocalStorageNameSupported()){ 
     var version = Cookies.get("version"); 

     if (version == null) { 

     if (Math.random() >= 0.5){ 
      Cookies.set("version", "A"); 
      var version = "A" 
     }else{ 
      Cookies.set("version", "B"); 
      var version = "B" 
     } 

     ga('create', 'UA-XXXXXXXX-1', 'auto'); 
     ga('send', { 
      hitType: 'event', 
      eventCategory: 'Pricing Experiment', 
      eventAction: 'New Unique Visit', 
      eventLabel: version, 
      eventValue: 0 
     });  
    } 
    } 



}); 

Sau khi một người truy cập kiểm tra ra, tôi kiểm tra phiên bản họ đang ở trên và gửi một sự kiện Google Analytics.

Sự kiện chuyển đổi thanh toán của tôi chỉ hiển thị tốt. Nhưng tôi chỉ nhận được khoảng 25% sự kiện "Lượt truy cập duy nhất mới". Analytics đang hiển thị 12000 lượt truy cập vào trang web nhưng tôi chỉ có 3000 sự kiện tùy chỉnh của mình.

Phần nào của mã của tôi gây ra sự khác biệt này và cách tôi có thể kích hoạt sự kiện trên tất cả các lần truy cập?

Trả lời

4

Đây có thể là ảnh chụp trong bóng tối vì tôi đã chạy mã của bạn và sự kiện sẽ kích hoạt mỗi lần (tôi giả định đối tượng/chức năng Cookies đang hoạt động), nhưng điều tôi đang tự hỏi là 12.000 số có thể không chính xác ...

Đoạn mã ở đây chính xác là trang web của bạn đang chạy là gì? Bạn đang gửi số lần truy cập trang GA ở đâu? Tôi hỏi vì tôi thấy sự kiện này ngay sau chức năng create của bạn. Vấn đề báo cáo tiềm năng khác mà tôi thấy là sự kiện tương tác - có nghĩa là sự kiện đó sẽ ảnh hưởng đến tỷ lệ thoát của bạn nếu bạn cũng đang gửi lượt xem trang (mà tôi cho là bạn).

Số liệu cụ thể nào bạn muốn nói khi bạn nói 12.000 truy cập? Phiên?

Gửi sự kiện trước khi xem trang cũng sẽ cung cấp cho bạn một loạt các tham số (not set) Trang đích. Điều đó có nghĩa là sự kiện sẽ không được liên kết với bất kỳ trang đích nào và khi số lần truy cập trang được gửi cũng tăng số người dùng của bạn ... Vì vậy, nếu bạn thấy nhiều người dùng hơn các phiên cho biết đây là sự cố.

Một số điều cần thử:

  • Gửi lần xem trang trước khi sự kiện này.
  • Đặt sự kiện thành sự kiện không tương tác bằng cách sử dụng {nonInteraction: true}.
  • Một điều tôi sẽ làm là chỉ đặt sự kiện trong điều kiện- số create và số lần xem trang sẽ luôn xảy ra bất kể điều kiện localstorage.
  • Chỉnh sửa: Bạn cũng đang đợi DOM sẵn sàng để create. Tôi muốn chuyển nó đến thẻ <head> để sự kiện là điều duy nhất chờ đợi tài liệu sẵn sàng.

<head> 
 
    <script> 
 
\t  //Your preferred method of loading analytics.js here... 
 
\t  ga('create', 'UA-XXXXXXXX-1', 'auto'); \t \t 
 
\t  ga('send', 'pageview'); 
 
    </script> 
 
</head>

function isLocalStorageNameSupported() { 
 
\t var testKey = 'test', storage = window.localStorage; 
 
\t try { 
 
\t \t storage.setItem(testKey, '1'); 
 
\t \t storage.removeItem(testKey); 
 
\t \t return true; 
 
\t } catch (error) { 
 
\t \t return false; 
 
\t } 
 
} 
 

 
$(function() { 
 
\t 
 
\t if(isLocalStorageNameSupported()){ 
 
\t \t var version = Cookies.get("version"); 
 
\t \t if (version == null) { 
 
\t \t \t if (Math.random() >= 0.5){ 
 
\t \t \t \t Cookies.set("version", "A"); 
 
\t \t \t \t var version = "A" 
 
\t \t \t }else{ 
 
\t \t \t \t Cookies.set("version", "B"); 
 
\t \t \t \t var version = "B" 
 
\t \t \t } 
 
\t \t \t 
 
\t \t \t ga('send', 'event', 'Pricing Experiment', 'New Unique Visit', version, 0, {nonInteraction: true}); \t \t \t 
 
\t \t } 
 
\t } 
 

 
});

Xem nếu mà được số liệu của bạn gần nhau hơn, và sau đó xem xét theo cách này thay thế theo dõi các dữ liệu:

Có lẽ một sự kiện ở đây không phải là giải pháp tốt nhất ution hoàn toàn. Những gì bạn đang làm có vẻ giống như một ứng cử viên xuất sắc cho việc sử dụng thứ nguyên tùy chỉnh được điều chỉnh cho người dùng.

Tôi khuyên bạn nên tạo thứ nguyên tùy chỉnh được gọi là "Thử nghiệm giá" với phạm vi Người dùng (vì với Thử nghiệm GA, người dùng sẽ luôn thấy cùng một biến thể sau phiên liên tiếp) và sau đó sau hàm create của bạn, thay thế sự kiện với điều này:. ga('set', 'dimension1', version); (hãy chắc chắn để thay thế dimension1 với con số thực tế của bạn

Cuối cùng, gửi một lần xem trang sau khi cài đặt kích thước (kích thước tùy chỉnh sử dụng các loại được vận chuyển đến GA nhấn)

<head> 
 
\t <script> 
 
\t \t //Your preferred method of loading analytics.js here... 
 
\t \t ga('create', 'UA-XXXXXXXX-1', 'auto'); 
 
\t \t 
 
\t \t if(isLocalStorageNameSupported()){ 
 
\t \t \t var version = Cookies.get("version"); 
 
\t \t \t if (version == null) { 
 
\t \t \t \t if (Math.random() >= 0.5){ 
 
\t \t \t \t \t Cookies.set("version", "A"); 
 
\t \t \t \t \t var version = "A" 
 
\t \t \t \t }else{ 
 
\t \t \t \t \t Cookies.set("version", "B"); 
 
\t \t \t \t \t var version = "B" 
 
\t \t \t \t } 
 
\t \t \t \t 
 
\t \t \t \t ga('set', 'dimension1', version); \t \t \t 
 
\t \t \t } 
 
\t \t } 
 
\t \t 
 
\t \t ga('send', 'pageview'); 
 
\t \t 
 
\t \t function isLocalStorageNameSupported() { 
 
\t \t \t var testKey = 'test', storage = window.localStorage; 
 
\t \t \t try { 
 
\t \t \t \t storage.setItem(testKey, '1'); 
 
\t \t \t \t storage.removeItem(testKey); 
 
\t \t \t \t return true; 
 
\t \t \t } catch (error) { 
 
\t \t \t \t return false; 
 
\t \t \t } 
 
\t \t } 
 
\t \t 
 
\t </script> 
 
</head>
.

Bây giờ khi bạn xem bất kỳ báo cáo nào khác, bạn có thể áp dụng Thứ nguyên phụ của "Thử nghiệm giá" và bạn sẽ có thể hiển thị phiên bản nào họ đã xem.

Bằng cách này, bạn sẽ có thể nhận dữ liệu theo ngữ cảnh mà không gây rối với các loại lần truy cập làm thay đổi số liệu báo cáo.

Một lần nữa, tôi xin lỗi nếu điều này không chiếu sáng hoàn hảo vấn đề của bạn - tôi đang lấy đoạn mã bạn cung cấp theo nghĩa đen và điền vào bất kỳ khoảng trống nào tốt nhất có thể.

+0

Cảm ơn bạn! Tôi sẽ triển khai thứ nguyên tùy chỉnh mà bạn đề xuất và theo dõi kết quả –

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