우선 현재 인터넷 광고의 종류를 대중화해 보겠습니다. 일반적으로 CPC, CPM, CPA, CPS, CPV가 있습니다.
CPC는 클릭(Click)으로, CPM은 팝업창(Mxxx?)으로, CPA/CPS는 등록 및 판매로, CPV는 디스플레이 횟수로 계산됩니다. 따라서 웹사이트 방문자의 행동에 따라 수익을 얻는 CPC, CPA, CPS는 하나의 카테고리이고, 웹사이트 트래픽에만 관련된 CPM, CPV는 또 다른 카테고리입니다.
짐작하시겠지만, CPC, CPA, CPS의 효과는 방문자 그룹, 클릭 습관 등 여러 요소를 분석하여 조정해야 합니다. 이 글에서는 주로 소란을 피우는 방법을 연구하고 싶습니다. 부정 행위 없이 트래픽에 대해 최대한 많은 수익을 얻으십시오. 광고 제휴가 시간이 지남에 따라 더 많이 사용하면 다양한 광고 제휴에 대한 평가도 제공됩니다.
1. 가장 기본적인 배송
제휴를 예로 들면, 웹 페이지의 어느 곳에나 유사한 코드를 직접 삽입하면 오른쪽 하단에 떠다니는 디스플레이 광고가 생성될 수 있습니다.
<스크립트 유형="텍스트/자바스크립트">
u_a_client="20326";
u_a_width="270";
u_a_height="200";
u_a_zones="37972";
u_a_type="1"
</script>
<script src=" http://www.XXXX.com/i.js"></script >
2. 다른 광고 네트워크의 유사한 광고 순환
CPV/CPM은 IP를 기반으로 조회수를 계산하기 때문에 동일한 사용자가 동일한 광고를 반복적으로 검색하면 수익이 증가하지 않으므로 캐러셀 메커니즘이 도입됩니다.
보통 같은 동맹이면 자동으로 무작위로 로테이션되는데, 서로 다른 동맹의 CPV 광고 간을 로테이션하고 싶다면 어떻게 해야 할까요?
실제로 무작위화를 직접 수행하고 Javascript를 사용하여 해당 위치에 무작위로 코드를 생성할 수 있습니다. Dynamic.js 파일을 정의한 다음 해당 위치로 가져올 수 있습니다.
<script type="text/javascript" src="dynamic.js"></script>
그런 다음 Dynamic.js는 document.write 및 Math.random 함수를 사용하여 다양한 웹사이트의 광고를 동적으로 표시합니다. 여기서는 다른 광고 연합인 Tai Chi Circle의 광고를 사용했습니다(playsc.com이 이 연합을 사용하는 것을 보고 저도 적용했습니다). . 코드는 다음과 같습니다:
var 선택 = Math.random()*2;
if (선택<=1){
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
}또 다른{
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.admin6.com/i.js"></script>' );
}
분명히, 표시해야 할 것이 3개라면, Random*3과 브랜치 3개면 충분할 것입니다. 이것은 단지 형태일 뿐입니다. 광고가 많은 경우에는 Dynamic.js 파일을 정의하고 cpv 함수에 위 코드를 넣은 후 해당 위치에서 cpv 함수를 호출하면 됩니다. 이를 통해 광고의 통합 관리가 용이해집니다.
이렇게 하면 정적 페이지를 다시 생성할 필요가 없다는 또 다른 이점이 있습니다. 광고 콘텐츠를 수정하려면 Dynamic.js의 콘텐츠만 수정하면 됩니다.
사용 중에 JavaScript의 난수 생성이 그다지 신뢰할 수 없다는 것을 알았으므로 Math.random 방법을 포기하고 홀수 짝수 시간 방법을 사용할 수도 있습니다. 홀수 분에는 A 광고를 표시하고 짝수 분에는 B 광고를 표시합니다. - 분 단위로 표시하거나 초 단위로 나눌 수도 있습니다. 최대 60개의 광고 회전을 지원합니다(그래서 변태-.-). 이 방법의 기본 아이디어는 웹페이지가 일정 시간(여기서는 분을 사용함) 이상 탐색되는 한 필연적으로 두 개의 광고가 동시에 탐색된다는 것입니다. Dynamic.js의 코드는 다음과 같이 수정됩니다.
var now = new Date();
var 분 = now.getMinutes();
if (분%2==0){
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
}또 다른{
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.xxx.com/i.js"></script>' );
}
홀짝 시간 방식의 또 다른 장점은 어느 광고 제휴가 더 많은 양을 가지고 있는지 비교할 수 있다는 것입니다. 왜냐하면 홀짝 시간 할당을 사용하면 일반적으로 두 제휴에 할당된 클릭 수는 다음과 같아야 한다고 생각할 수 있기 때문입니다. 유사합니다. 참고용으로만 사용하세요.
3. 최고의 회전목마 트릭
2의 방법을 사용하면 단일 동맹과 비교했을 때 즉시 광고 효과가 *1.5가 되지만 아직은 부족합니다. 우리는 더 욕심을 내야 합니다. 모든 IP의 사용자 트래픽을 짜내야 합니다.
어떻게 하면 깔끔하게 짜낼 수 있나요? 다음 알고리즘을 상상해 보세요.
사용자가 그날 처음으로 방문하여 광고 1을 표시했습니다.
사용자는 그날 두 번째로 방문하여 광고 2를 게재했습니다.
사용자의 방문 횟수가 기존 광고 수보다 적으면 방문할 때마다 다른 광고가 표시되고, 페이지를 클릭한 횟수만큼 광고가 표시됩니다! CPV 광고는 진정한 조회당 비용입니다. (근데 이거 부정행위로 오해할까요? 통계에 비해 명백한 표시 수치의 비율이 너무 높기 때문에 가짜로 보입니다. 이 부분은 측정이 필요합니다.)
또 다른 질문은 사용자가 방문하는 시간과 이에 따라 표시되는 광고를 어떻게 결정하는가입니다. 가장 간단한 아이디어는 piwik 시스템과 같은 로컬 트래픽 통계 시스템을 구축한 다음 로컬 데이터베이스에 쿼리하는 것입니다. 처음에는 이것을 구현하고 싶었지만 이로 인해 호스트 성능이 얼마나 저하될지 상상할 수 있습니다. . 생각해 보십시오. JavaScript가 해당 액세스 정보를 자체적으로 저장할 수 있는 방법이 있습니까?
실제로 로컬 쿠키가 있습니다. 쿠키가 자동으로 기록되는 한 사용자가 몇 번이나 방문했는지는 분명하며 쿠키에는 자동 시간 초과 메커니즘이 있으므로 설정만 하면 됩니다. 시간 초과는 24시간으로 설정하고 두 번째부터는 통계가 매일 자동으로 다시 계산됩니다.
먼저 set_cookie 및 get_cookie 함수가 필요합니다.
함수 set_cookie(이름,값,만료){
var today = new Date();
today.setTime( today.getTime() );
만료 = 만료*1000;
varexpires_date = new Date(today.getTime()+(expires));
document.cookie=name+"="+escape(value)+";expires="+expires_date.toGMTString()+";domain=simplecd.org";
}
함수 get_cookie(이름){
var i,x,y,ARRcookies=document.cookie.split(";");
(i=0;i<ARRcookies.length;i++){
x=ARRcookies[i].substr(0,ARRcookies[i].indexOf("="));
y=ARRcookies[i].substr(ARRcookies[i].indexOf("=")+1);
x=x.replace(/^s+|s+$/g,"");
if (x==이름){
이스케이프 해제(y)를 반환합니다.
}
}
}
그런 다음 알고리즘을 약간 수정하고 코드를 단순화할 수 있습니다. 각 광고에 대해 자체 쿠키를 생성하고 값은 방문 횟수입니다.
새로운 알고리즘은 다음과 같습니다.
1. 각 광고 공간의 쿠키 탐색
2. 존재하지 않는 쿠키가 있는 경우 광고 슬롯을 표시하고 쿠키를 설정합니다.
3. 모든 쿠키가 존재할 경우 광고가 표시되거나 표시되지 않으며, 표시된 광고의 쿠키도 동시에 업데이트됩니다.
게다가, 떠다니는 창을 덜 방해하게 만들기 위해 다른 창을 추가할 수도 있습니다:
사용자에게 광고가 표시된 총 횟수가 6회보다 크면 오늘은 이러한 유형의 광고가 표시되지 않습니다.
전체 다음 코드는 다음과 같습니다.
var total_ad = 3;
var max_show = 6;
var cookie_PRe = 'cpvad_counter_';
var 쿠키_시간 = 60*60*8;
var show = -1; // 광고 ID 표시
var show_counter = 0;
// 첫 번째 패스, 라운드 로빈
for (var i=0;i<total_ad;i++) {
var 쿠키_이름 = 쿠키_pre+i;
var counter = get_cookie(쿠키_이름);
if (카운터){
show_counter += parsInt(counter);
}또 다른{
쇼 = 나;
부서지다;
}
}
// max_show 횟수 이상 표시되지 않은 경우 표시
if (show_counter < max_show){
// 두 번째 패스, 무작위 표시
if (표시 == -1){
show = Math.floor(Math.random()*total_ad);
}
//쿠키 처리
var cookie_name = cookie_pre+show
var cookie_value = get_cookie(쿠키_이름);
if (쿠키_값){
set_cookie(cookie_name,''+(parseInt(cookie_value)+1),cookie_time);
}또 다른{
set_cookie(쿠키_이름,'1',쿠키_시간);
}
// 추가 표시
스위치(표시){
사례 0:
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="270";u_a_height="200";u_a_zones="63336";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
부서지다;
사례 1:
document.write('<script type="text/javascript">u_a_client="20326";u_a_width="270";u_a_height="200";u_a_zones="37972";u_a_type="1";</script> <script src=" http://www.xxx.com/i.js"></script>' );
부서지다;
사례 2:
document.write('<script type="text/javascript">u_a_client="20685";u_a_width="283";u_a_height="189";u_a_zones="63369";u_a_type="1";</script> <script src=" http://js.tjq.com/i.js"></script>' );
부서지다;
}
}
4. 요약
본 글에서는 CPV 광고 로테이션에 따른 수익 극대화를 기술적으로 분석하고 실현하고 있습니다. 유사한 CPM 광고도 마찬가지입니다.
그러나 광고는 단순히 JavaScript를 사용하여 효과를 극대화하는 것이 아닙니다. CPC/CPA/CPS와 같은 다른 광고 카테고리에도 수량과 품질의 관계, 위치와 표시 속도의 관계가 있습니다. 귀찮음과 효율성은 공부할 것이 많습니다.
인터넷 광고에 관해서는 아직 광고를 시작한지 1주일밖에 되지 않은 초보이기 때문에, 이 글의 제목은 (1) 입니다. 별도의 기사를 작성합니다. (2)입니다. 그러나 현재는 실험에 대한 대략적인 아이디어 만 있으며 언제 작성해야할지 모르겠습니다.
기사 출처: http://obmem.info/?p=844 재인쇄 시 출처 링크를 표기해주세요.