Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Introduction

...

  1. BuzzAd의 인벤토리를 통해서 유저가 광고주의 광고로 랜딩하여 들어올 때, BuzzAd 서버에서는 유저의 액션을 트래킹하기 위한 id인 bz_tracking_id 를 원래의 랜딩 url에 파라미터로 붙여서 전달합니다.

  2. 광고주 페이지에서 유저의 상품 구매가 완료되면, Javascript 연동 코드를 통해 또는 광고주 서버로부터 API 호출을 통해bz_tracking_id, transaction_id, count 값을 전달합니다.

  3. BuzzAd 서버에서는 전달받은 bz_tracking_id, transaction_id, count (또는 order_list) 값을 이용해 광고에 참여 완료한 유저 정보를 찾아서 해당 유저에게 구매한 상품 및 개수에 맞는 포인트를 지급합니다.

bz_tracking_id 는 광고마다 부여되는 고정된 값이 아니라, 유저의 클릭 때마다 매번 달라지는 값입니다.
transaction_id 는 유저의 상품 구매 시 마다 생성되는 고유한 값입니다.
counttransaction_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)

    • 광고와 유저 트래킹을 위한 아이디

    • BuzzAd에서 광고와 연결된 URL로 전환 시 함께 전달되는 값으로, 광고주 웹 사이트는 이 값을 보관하였다가 액션 달성 API 호출 시 다시 전달해주어야 합니다.

  • transaction_id (String) - CPS에서만 사용

    • 유저가 상품 구매 이벤트를 트래킹 하기 위한 고유한 아이디

    • 유저가 광고 페이지에서 상품 구매를 하였을 때 해당 파라미터에 값이 인입되며, 광고 페이지 방문만으로는 생성되지 않습니다. 웹 사이트는 이 값이 발생되면 보관하였다가 액션 달성 API 호출 시 전달해 줍니다.

  • count(Integer) - CPS에서만 사용, 버즈빌과 자동으로 상품목록을 받아오는 API 연동을 진행하지 않으셨을 경우에만 사용

    • 유저가 구매한 상품의 개수

    • transaction_id 값이 생성시 같이 생성되는 값으로 액션 달성 API 호출 시 전달되는 값입니다.

  • order_list(String) - CPS에서만 사용, 버즈빌과 자동으로 상품목록을 받아오는 API 연동을 진행하셨을 경우에만 사용

    • 유저가 구매한 상품의 리스트. 여러개의 order 객체가 담길 수 있는 json format의 String입니다.

    • 상품 목록을 자동을 받아오는 연동을 진행하지 않으셨을 경우 order_list 대신 위의 count를 보내주게끔 연동을 진행하셔서 햡니다.

    • order 객체는 유저가 주문완료한 각각의 상품을 나타내고 다음과 같이 구성됩니다.

      • id(Integer) - 상품의 고유 ID.

      • count(Integer) - 유저가 구매한 해당 상품의 수량

      • price(Integer) - 해당 상품의 단가

    • (예시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

  • JSON 형식으로 반환

  • Field 설명

    • code (Integer) : 처리 결과 코드

      • 200 : 정상

      • 9020 : 중복 요청

      • 그 외 : 에러

    • msg (String) : 처리결과 메세지

...

항목

코드 및 내용

Step1. 초기화

Code Block
<script>
	if (/bz_tracking_id/.test(location.search)) { localStorage.BuzzAd = location.search }
</script>
Note

코드에 ‘test’가 들어있는 것은 테스트용 예시 코드가 아니라 정규표현식 중 하나입니다. 스크립트 전체를 그대로 사용해 주세요.

  • BuzzAd를 통해 랜딩되는 광고의 첫 페이지에서 아래의 자바스크립트 코드를 실행합니다.

  • 해당 코드는 bz_tracking_id 라는 파라미터가 현재 url의 검색 쿼리 부분에 있다면 이를 localStorage 에 “BuzzAd”라는 이름으로 저장합니다.

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 값을 넣어서 해당 스크립트를 호출해야함.
  • 광고 페이지를 방문한 사용자가 광고 상품을 구매 시 상단의 JavaScript 코드를 실행합니다.

    • 앞서 저장한 “BuzzAd” 라는 이름의 변수에 count 값과 transaction_id 값을 붙여 서버로 전송합니다. 이 값을 통해 유저가 광고를 통해 상품 구매를 완료했음을 BuzzAd 서버로 전달하여 구매한 내역에 맞는 리워드를 지급할 수 있게 됩니다.

Info

(필수) count와 transaction_id 파라미터는 사용자의 구매 이벤트 발생 시 마다 해당 값들을 받아올 수 있도록 연동 진행 중 광고주 측에서 별도로 작업이 필요합니다.

Note

액션 달성 후 리다이렉트를 수행하는 경우

  • 반드시 BuzzAd 서버에 액션 전송이 완료된 후 리다이렉트를 수행하여야 합니다.

    • 위의 코드 내 주석이 위치한 부분은 액션 전송이 완료되면 호출되는 함수 내부로서 이 부분에서 리다이렉트를 수행하면 안전하게 리다이렉트를 처리할 수 있습니다.

  • 코드의 함수는 BuzzAd를 통해서 광고에 참여하였는지 여부에 상관없이 언제나 호출되므로 별도의 위치에서 리다이렉트를 처리할 필요는 없습니다.

    • 오히려 임의로 별도의 위치에서 리다이렉트를 수행할 경우 BuzzAd 서버로 액션 달성 전송이 아예 오지 않을 수 있으므로 주의해야 합니다.

Note

기존 alert를 사용하실 경우 꼭 모바일에서 테스트 진행 부탁드립니다. 특정 모바일 브라우저에서 alert이 동작하지 않는 문제가 발생할 수 있습니다.

...