[광고주] CPS (Web 연동)
Introduction
BuzzAd 의 인벤토리를 통해 들어온 유저가 광고주의 웹페이지에서 광고하는 상품에 대한 구매 여부를 트래킹합니다.
1) 광고 참여 및 포인트 지급 Flow
BuzzAd의 인벤토리를 통해서 유저가 광고주의 광고로 랜딩하여 들어올 때, BuzzAd 서버에서는 유저의 액션을 트래킹하기 위한 id인
bz_tracking_id
를 원래의 랜딩 url에 파라미터로 붙여서 전달합니다.광고주 페이지에서 유저의 상품 구매가 완료되면, Javascript 연동 코드를 통해 또는 광고주 서버로부터 API 호출을 통해
bz_tracking_id
,transaction_id
,count
값을 전달합니다.BuzzAd 서버에서는 전달받은
bz_tracking_id
,transaction_id
,count
(또는order_list
) 값을 이용해 광고에 참여 완료한 유저 정보를 찾아서 해당 유저에게 구매한 상품 및 개수에 맞는 포인트를 지급합니다.
bz_tracking_id
는 광고마다 부여되는 고정된 값이 아니라, 유저의 클릭 때마다 매번 달라지는 값입니다.transaction_id
는 유저의 상품 구매 시 마다 생성되는 고유한 값입니다.count
는 transaction_id
생성될 때 함께 발생하는 값으로 유저가 구매하는 상품의 개수를 의미합니다.order_list
는 버즈빌과 자동으로 상품목록을 받아오는 API 연동을 진행하셨을 경우 유저의 결제 정보(상품 번호, 수량, 상품 단가 등)를 담고 있습니다.
2) 연동 방식 선택
위 Flow chart 의 “Action Complete” 신호를 전달하는 방식 (파란색 화살표) 에 따라 Javascript 를 이용한 연동과 Server to Server API 연동이 있습니다.
두 가지 방식 중 상황에 맞게 하나를 선택해서 연동 작업을 진행해주세요.
1. Server to Server 연동 - 액션 달성 API
JavaScript 방식으로 연동을 완료했을 경우 본 항목은 불필요합니다.
사용자가 광고상품 구매를 완료하면 BuzzAd 서버로 액션이 수행 되었음을 알려주어야 합니다. 연동은 다음과 같이 진행합니다.
항목 | 내용 | |
---|---|---|
1 | 요청 방향 | 광고주 → 버즈빌 |
2 | HTTP Request method | POST or GET |
3 | HTTP Request URL | https://track.buzzvil.com/action/pb/cps/default/ 광고 상품을 자동으로 받아오는 연동을 진행한 경우 Request URL 주소를 새로 발급하여 사용해야합니다. 연동 진행시 운영자에게 주소 발급을 요청 해주세요. |
4 | HTTP Request parameters | Field 설명
|
5 | Request Example | 상품 목록 연동 미진행 시:
상품 목록 연동 진행 시:
|
6 | Response |
|
2. Javascript 연동
반드시 제공되는 연동 테스트까지 완료한 후에 버즈빌 담당자에게 연동 완료 회신을 해주시기 바랍니다.
1) 요약
제공되는 두 종류의 Javascript 코드를 두 단계에 걸쳐 추가함으로써 연동할 수 있습니다. 첫번째 단계(초기화)는 광고의 첫 페이지(랜딩 페이지)가 로드될 때, 두번째 단계(액션 달성 전송)는 액션이 완료 되었을 때에 호출하도록 합니다.
광고 포인트 지급 Flow
Step1 '초기화' 단계 연동을 통해 광고주 랜딩 url 에 붙어온
bz_tracking_id
파라미터를 유저의 웹브라우저 내에 광고주 도메인의localStorage
에 저장합니다.Step2 '액션 달성 전송' 단계의 연동을 통해 액션 완료 시 BuzzAd 서버로 신호를 보낼 때
localStorage
에 저장해 둔bz_tracking_id
를 꺼내어 구매 액션으로 인해 값이 추가된transaction_id
과count
값을 함께 전달합니다.BuzzAd 서버에서는 전달받은
bz_tracking_id
,transaction_id
,count
값을 이용해 해당 광고 상품을 구매한 유저 정보를 찾아 구매한 상품 내역에 맞는 포인트를 지급합니다.
2) 메소드 호출
항목 | 코드 및 내용 |
---|---|
Step1. 초기화 | <script>
if (/bz_tracking_id/.test(location.search)) { localStorage.BuzzAd = location.search }
</script>
|
Step2. 액션 달성 전송 | <script>
(function (img) { img.onload = function () {
if(localStorage.BuzzAd.indexOf('10023_71ffbffd-ccf1-4edf-9c4c') != -1){
alert("[Success] Action Completed!");
};
//*필요시 여기서 리다이렉트 수행*
};
var queryString;
if (localStorage.BuzzAd == null) { queryString = ""; }
else { queryString = localStorage.BuzzAd + "&count={{COUNT}}" + "&transaction_id={{TRANSACTION_ID}}"; }
img.src = "//track.buzzvil.com/action/pb/cps/default/pixel.gif" + queryString;
}) (new Image())
</script>
// postback 요청시마다 COUNT에는 유저가 구매한 수량 값을 TRANSTACTION_ID 에는 고유한 구매 ID 값을 넣어서 해당 스크립트를 호출해야함.
|
3) Javascript 연동 테스트
아래 링크된 페이지에서 Buzzad integration test
링크를 북마크로 추가하여 테스트를 진행해주세요. 자세한 테스트 진행 방식은 해당 페이지를 참고합니다.
Javascript Integration Test Page
연동 테스트가 실패했을 경우, 아래 FAQ를 참고합니다.
연동 테스트는 Step1을 성공한 후에 Step2를 진행해야 합니다.
FAQ