Show Menu
화제×

getPageVisibility

사용자 페이지가 브라우저 내에서 활성 탭으로 있던 시간(초)을 기록하고 다음 페이지 보기에서 지표에 그 값을 전달합니다.
플러그인의 베타 버전이며 곧 추가 업데이트가 있을 수 있습니다.
이 플러그인을 사용하려면 getVisitStart 가 필요합니다.
이 플러그인은 브라우저 내에 해당 페이지가 표시되었던 총 초(활성 및 수동 보기 시간 모두)도 기록합니다. 페이지 가시성 이벤트와 연관된 이전 페이지 이름을 추적하려면 getPreviousValue 플러그인을 사용해야 합니다. 이러한 값을 추적하면 사용자 사이트에서 방문자 참여를 더 잘 이해하고 방문자 행동을 더 정확히 추적하는 데 유용합니다.
페이지 가시성 이벤트와 연관된 이전 페이지 이름을 추적하려면 getPreviousValue 플러그인을 사용해야 합니다. 이러한 값을 추적하면 사용자 사이트에서 방문자 참여를 더 잘 이해하고 방문자 행동을 더 정확히 추적하는 데 유용합니다.
다음 지침을 따르려면 사이트에서 데이터 수집 코드를 변경해야 합니다. 이 작업은 사이트의 데이터 수집에 영향을 줄 수 있으며 Analytics 사용 및 구현 경험이 풍부한 개발자만 수행해야 합니다. 이 플러그인은 AppMeasurement 추적 라이브러리와만 호환됩니다.

필요한 플러그인 지원

  • appendList
  • getPreviousValue
  • getVisitStart

플러그인 코드 및 구현

구성 섹션
s.pvel 변수는 사용하려는 다음 이벤트 3개를 포함해야 합니다.
이벤트
정의
총 페이지 가시성 초(숫자)
브라우저 내에서 페이지가 활성 상태였던 시간
총 페이지 초(숫자)
가시성 상태와 관계없이 페이지가 브라우저에 로딩된 시간
총 페이지 가시성 인스턴스(카운터)
이전 이벤트 2개에 대해 값이 기록된 횟수
샘플 호출
//Page Visibility Event List (total page visibility seconds, total page seconds, total page visibility instances) 
s.pvel='event7,event8,event9' 

doPlugins Section
플러그인을 초기화하려면 가급적 doPlugins 변수를 지정한 후에 s_code의 s.pageName 섹션에 두 라인의 코드가 필요합니다.
샘플 호출
/* Page Visibility */ 
s.eVar9 = s.getPreviousValue(s.pageName,'gpv_v9','');  //Record the previous page name in the designated eVar of your choice 
s.getPageVisibility(); 

플러그인 섹션
/* Page Visibility Plugin 0.1 (BETA) */ 
s.getPageVisibility=new Function("","" 
+"var s=this;if(s.getVisitStart()){s.Util.cookieWrite('s_pvs','');s.U" 
+"til.cookieWrite('s_tps','');}if(s.Util.cookieRead('s_pvs')&&s.pvt<1" 
+"){if(parseInt(s.Util.cookieRead('s_pvs'))<=parseInt(s.Util.cookieRe" 
+"ad('s_tps'))){s.pve=s.pvel.split(',');s.events=s.apl(s.events,s.pve" 
+"[0]+'='+(parseInt(s.Util.cookieRead('s_pvs'))),',',2);s.Util.cookie" 
+"Write('s_pvs','');s.events=s.apl(s.events,s.pve[1]+'='+(parseInt(s." 
+"Util.cookieRead('s_tps'))),',',2);s.Util.cookieWrite('s_tps','');s." 
+"events=s.apl(s.events,s.pve[2],',',2);}}s.pvi=setInterval(s.pvx,100" 
+"0);s.wpvi=setInterval(s.wpvc,5000);"); 
s.gbp=new Function("","" 
+"if('hidden'in document){return null;}var bp=['moz','ms','o','webkit" 
+"'];for(var i=0;i<bp.length;i++){var p=bp[i]+'Hidden';if(p in docume" 
+"nt){return bp[i];}}return null;"); 
s.hp=new Function("p","" 
+"if(p){return p+'Hidden';}else{return'hidden';}"); 
s.vs=new Function("p","" 
+"if(p){return p+'VisibilityState';}else{return'visibilityState';}"); 
s.ve=new Function("p","" 
+"if(p){return p+'visibilitychange';}else{return'visibilitychange';}"); 
s.pvx=new Function("","" 
+"s.pvt+=1;"); 
s.wpvc = function(){var tempDate = Date.now();s.Util.cookieWrite('s_tps', 
Math.ceil((tempDate - s.totalTime)/1000));s.Util.cookieWrite('s_pvs', s.pvt)} 
document.addEventListener('visibilitychange',function(event){if(document.hidden){s.visibility = false;clearTimeout(s.pvi);}else{s.visibility=true;s.pvi=setInterval(s.pvx,1000);}});s.totalTime=new Date();s.pvt=0;s.prefix=s.gbp;s.hidden=s.hp(s.prefix);s.visibility=true;s.visibilityState=s.vs(s.prefix);s.visibilityEvent=s.ve(s.prefix); 

참고

  • 프로덕션 환경에 배포하기 전에 항상 플러그인 설치를 테스트하여 데이터 수집이 예상대로 수행되는지 확인하십시오.
  • 플러그인은 이전 페이지와 연결되어 페이지 가시성 초 및 총 초를 전달하기 때문에 방문 마지막 페이지 보기에 대한 데이터를 수집하지 않습니다.
  • 이 플러그인은 사용자의 웹 브라우저에서 쿠키를 설정하는 기능을 이용합니다. 사용자가 자사 쿠키를 승인하지 않으면 플러그인은 Analytics에 데이터를 전달하지 않습니다.
  • 플러그인은 s_tps s_pvs 라고 명명된 고유한 자사 쿠키를 만듭니다.
  • 매우 적은 비율의 사용자가 브라우저 한계로 인해 보여진 페이지 비율 데이터를 전달하지 않는데 그 결과 데이터가 왜곡되지 않도록 하기 위해 플러그인 내에 논리가 포함됩니다. 하지만 이 플러그인은 IE, Firefox, Chrome 및 Safari에서 성공적으로 테스트되었습니다.
  • 플러그인이 총 초를 측정하고 이전 페이지 이름과 그 값을 연관시키는 방법으로 인해 페이지에서 보낸 기본 시간 지표와 총 초 지표 사이에 차이가 생깁니다.
  • 계산된 지표를 작성하면 다음 지표와 연관된 방문자 행동을 요약 및 이해하는 데 도움이 될 수 있습니다.
    • 페이지 가시성 비율 (총 페이지 가시성 초/총 페이지 초)
    • 총 숨겨진 초 (총 페이지 초 - 총 페이지 가시성 초)
    • 평균 페이지 가시성 초 (총 페이지 가시성 초/총 페이지 가시성 인스턴스)
    • 평균 페이지 숨겨진 초 ((총 페이지 초 - 총 페이지 가시성 초)/총 페이지 가시성 인스턴스)
  • 플러그인이 초를 반올림하는 방법으로 인해 총 페이지 가시성 초와 총 초 사이에 1~2초의 차이가 나면서 총 초가 더 높아질 수 있습니다. (향후 업데이트로 해결될 예정).
  • getVisitStart 플러그인을 사용하면 30분 이상의 비활성 시간 후 새 방문을 시작하는 방문자를 설명할 수 있습니다. 이는 설계된 대로 작동하지 않습니다.하지만 플러그인의 향후 반복에서 "총 활성 초"를 통합하면 해결 방법이 있을 수 있습니다.

FAQ

이 플러그인이 추가로 서버를 호출합니까?
이 플러그인은 연속된 페이지 보기 서버 호출에 페이지 보기 값만 기록합니다. 결합되어 사용되는 추가 서버 호출은 없습니다.
총 페이지 초 또는 총 페이지 가시성 인스턴스를 캡처하지 않으려면 이벤트 리스트에서 제거할 수 있습니까?
예. 총 페이지 초 및 총 가시성 인스턴스는 선택적 이벤트로 원한다면 목록에서 제거할 수 있습니다.
이전 페이지 이름 이외의 캡처된 이벤트를 보고서에 사용할 수 있습니까?
플러그인은 후속 이미지 요청에 값을 기록하므로 '이전 페이지' 컨텍스트에서 캡처된 다른 eVar만 적용할 수 있습니다(예:).'이전 페이지 URL'.
플러그인이 s.tl() 호출에 또는 s.t() 호출에만 가시성 시간을 전송합니까?
가시성 시간은 s.t() 호출로만 기록됩니다.