2011-12-29 5 views
0

내/다른 원격 사이트의 배너에서 사용자를 메인 사이트로 리디렉션하는 작은 스크립트가 있습니다. 리디렉션시 HTTP 리퍼러

<? 
. 
.. 
... 
.... 
header("location:$golink"); 
?> 

그러나 구글 분석

는 리퍼러 사이트 (스크립트가 작동되는 경우) 대신이 배너를 클릭 URL을 보여줍니다 표시되지 않습니다. 분명히 배너가 나타나고 싶지 않은 모든 사이트를 추적 할 수는 없습니다. 전신 비서가 스크립트가 작동하는 사이트가되기를 바랍니다. 어떻게해야합니까? $ _SERVER [ 'HTTP_REFERER']; 이 작업을 수행하려면을 사용 하시겠습니까?

답변

3

.

리디렉션 서버 쪽을 유지하려면 header() 호출에서 쿼리 URL 매개 변수로 참조 URL을 추가 한 다음 대상 페이지에서 참조 URL을 참조 URL로 지정할 수 있습니다 .

당신이 당신의 $의 golink 변수를 구축하는 방법을 모르겠어요,하지만 기본적으로 당신의 라인을 따라 뭔가를 추가 : 이미 URL PARAMS이있는 경우

$golink .= "?ref=" . $_SERVER['HTTP_REFERER'];

대신 사용 ?& 위의 코드는 URL 매개 변수로 ref을 사용한다고 가정하므로 원하는 모든 var를 사용하십시오.

그런 다음 대상 페이지에, 당신의 _trackPageview 호출하기 전에, 당신은

_gaq.push(['_setReferrerOverride', ref]);

ref이 심판 = XXX 쿼리 문자열 PARAM의 값을 자바 스크립트 변수가 될 것입니다 추가합니다. 일부 이상한 이유 때문에 Javascript에는 URL 매개 변수 값을 가져 오는 기본 방법이 없으며 GA는 (노출 된) 솔루션을 제공하지 않습니다. URL 매개 변수 (예 : 프레임 워크 또는 이미 작성한 함수에서 가져온 것과 같은)를 얻기 위해 이미 페이지에 솔루션이있는 경우이를 사용하십시오. 그렇지 않으면 꽤 쉽게 당신을 위해 그것을 할 자바 스크립트 함수를 찾을 수 있습니다.

  1. 당신은 삽입 광고 페이지를 보는 방문자에 대해 걱정할 필요가 없습니다 :

    은이 방법을 수행하는 몇 가지 혜택이 있습니다.

  2. 당신은 GA가 완전히로드 전에 당신 때문에 중간 페이지로의 추천을 방문 페이지로 직접 연결 볼 수
  3. 리디렉션 할 수있는 기회를 얻지 못하고 걱정하지 않아도, 당신은 중간 페이지 것을 볼 항상 것 추천자이며 삽입 광고 페이지에 대한 추천 URL 보고서를 봐야합니다.
+0

내 도메인이 다른 도메인으로 리디렉션되고 리퍼러를 설정하더라도 (두 번째 도메인에서'setRefererOverride'에 액세스 할 수 있습니다.) 어쩌면 Google이 만드는 모든 매개 변수가 동일하지 않습니다 (isnt 특정 페이지입니까?) 또는 추천 도메인에 대해서만 정말로 걱정해야합니까? –

1

예, G.A는 이러한 종류의 서버 측 항목에 대해 시각 장애가 있습니다. 그리고 그들의 PHP API도 도움이되지 않습니다.

그러나이 같은 내부 GA 태그를 들고, 짧은 리디렉션 페이지 수 :

<html> 
<head> 
<title>A web page that points a browser to a different page after 2 seconds</title> 
<meta http-equiv="refresh" content="2; URL=<?php echo $golink; ?>"> 
<meta name="keywords" content="automatic redirection"> 
<script>var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'))</script> 
</head> 
<body> 
If your browser doesn't automatically go there within a few seconds, 
you may want to go to 
<a href="<?php echo $golink ?>">the destination</a> 
manually. 
</body> 
</html> 

공지 메타 태그의 $golink 변수입니다.

이것을 사용하는 경우 UA-XXXXX-X을 실제 계정 번호로 바꾸는 것을 잊지 마세요.

크레딧 : 최적화 된 GA 태그는 Mathias Bynens

로 이동 [편집 : 자바 스크립트 전용 버전] GA가 지정된 값 override the default referring URL (document.referrer)에 당신을 드릴 것입니다 방법이있다

<html> 
<head> 
<title>Redirecting you...</title> 
<script>var _gaq=[['_setAccount','UA-XXXXX-X'],['_trackPageview']];(function(d,t){var g=d.createElement(t),s=d.getElementsByTagName(t)[0];g.src='//www.google-analytics.com/ga.js';s.parentNode.insertBefore(g,s)}(document,'script'))</script> 
<script> 
<!-- 
if (window.addEventListener) 
    window.addEventListener('load', function() { window.location="<?php echo $golink; ?>"; }, false); 
else 
    window.attachEvent('onload', function() { window.location="<?php echo $golink; ?>"; }); 
// --> 
</script> 
</head> 
<body> 
</body> 
</html> 
+0

감사합니다.하지만 메타 새로 고침을 사용하고 싶지 않습니다. 0 초를 사용하더라도, 나는 전혀보고 싶지 않은 리디렉션 페이지를 볼 수 있습니다. 다른 방법이라도? 아마도 자바 스크립트? – hasbehas

+0

예, 전체 자바 리디렉션을 수행 할 수 있지만 일부 JS 파일은 무엇이든지로드해야하기 때문에 사용자는 계속해서 두 번째 빈 페이지를 볼 수 있습니다. 내가 페이지를 업데이트하길 원하니? –

+0

예. 제발 .. 나는 그것을 시도 할 것입니다. – hasbehas