Introduction
...
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 | 요청 방향 | 광고주 → 버즈빌 |
2 | HTTP Request method | POST or GET |
3 | HTTP Request URL | https://track.buzzvil.com/action/pb/cps/default/ Note |
---|
광고 상품을 자동으로 받아오는 연동을 진행한 경우 Request URL 주소를 새로 발급하여 사용해야합니다. 연동 진행시 운영자에게 주소 발급을 요청 해주세요. ex. https://track.buzzvil.com/network/pb/{광고주명} |
|
4 | HTTP Request parameters | Field 설명 bz_tracking_id (String)
transaction_id (String) - CPS에서만 사용
유저가 상품 구매 이벤트를 트래킹 하기 위한 고유한 아이디 유저가 광고 페이지에서 상품 구매를 하였을 때 해당 파라미터에 값이 인입되며, 광고 페이지 방문만으로는 생성되지 않습니다. 웹 사이트는 이 값이 발생되면 보관하였다가 액션 달성 API 호출 시 전달해 줍니다.
count (Integer) - CPS에서만 사용, 버즈빌과 자동으로 상품목록을 받아오는 API 연동을 진행하지 않으셨을 경우에만 사용
order_list (String) - CPS에서만 사용, 버즈빌과 자동으로 상품목록을 받아오는 API 연동을 진행하셨을 경우에만 사용
유저가 구매한 상품의 리스트. 여러개의 order 객체가 담길 수 있는 json format의 String입니다. 상품 목록을 자동을 받아오는 연동을 진행하지 않으셨을 경우 order_list 대신 위의 count를 보내주게끔 연동을 진행하셔서 햡니다. order 객체는 유저가 주문완료한 각각의 상품을 나타내고 다음과 같이 구성됩니다. (예시1) [{“count”: 1, “price”: 11900, “id”: “100144”}] - 상품 ID가 100144인 단가 11900 짜리 상품을 1개 구매한 경우 (예시1) [{“count”: 2, “price”: 11900, “id”: “100144”},{“count”: 3, “price”: 2500, “id”: “100145”}] - 상품 ID가 100144인 단가 11900 짜리 상품 2개와 상품 ID가 100145인 단가 2500 짜리 상품을 3개 구매한 경우
|
5 | Request Example | 상품 목록 연동 미진행 시: https://track.buzzvil.com/action/pb/cps/default/?bz_tracking_id=10023_71ffbffd-ccf1-4edf-9c4c&transaction_id=2012282210547253&count=2
상품 목록 연동 진행 시: https://track.buzzvil.com/network/pb/sample?bz_tracking_id=10023_71ffbffd-ccf1-4edf-9c4c&transaction_id=2012282210547253&order_list=[{“count”:2,“price”:11900,“id”: “100144”},{“count”:3,“price”:2500,“id”:“100145”}]
|
6 | Response | |
...
항목 | 코드 및 내용 |
---|
Step1. 초기화 | Code Block |
---|
<script>
if (/bz_tracking_id/.test(location.search)) { localStorage.BuzzAd = location.search }
</script> |
Note |
---|
코드에 ‘test’가 들어있는 것은 테스트용 예시 코드가 아니라 정규표현식 중 하나입니다. 스크립트 전체를 그대로 사용해 주세요. |
|
Step2. 액션 달성 전송 | Code Block |
---|
<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 값을 넣어서 해당 스크립트를 호출해야함. |
Info |
---|
(필수) count와 transaction_id 파라미터는 사용자의 구매 이벤트 발생 시 마다 해당 값들을 받아올 수 있도록 연동 진행 중 광고주 측에서 별도로 작업이 필요합니다. |
Note |
---|
액션 달성 후 리다이렉트를 수행하는 경우 |
Note |
---|
기존 alert를 사용하실 경우 꼭 모바일에서 테스트 진행 부탁드립니다. 특정 모바일 브라우저에서 alert이 동작하지 않는 문제가 발생할 수 있습니다. |
|
...