Adjust SDK 리타겟팅 이벤트 연동 가이드

개요

가이드에 대하여

이 문서는 다음 사항들에 대한 정보를 제공합니다:

  • 권장 이벤트 및 파라메터 설명
  • 테스트 프로세스

업종별 권장 이벤트

“user-flow”를 설명하는 모든 이벤트 전송을 권장합니다. 업종별 권장 이벤트는 다음과 같습니다:

Event Name Description Retail Travel Classified Gaming Streaming Entertainment Finance Dating Social RideHailing
app open/app launch 사용자가 앱을 설치할 때 Y Y Y Y Y Y Y Y
home page / App open 사용자가 앱을 열거나 홈페이지에 도착할 때 Y Y Y Y Y Y Y Y
view item list / listing 사용자가 품목/상품/제공 목록을 볼 때 Y Y Y Y Y
view item 사용자가 하나의 특정 품목/상품 / 제공을 볼 때 Y Y Y Y Y Y
add to cart 사용자가 장바구니에 품목/제품을 추가 할 때 Y Y
basket 사용자가 장바구니에 품목/제품을 추가 할 때 Y Y
purchase 사용자가 구매할 때 Y Y Y Y Y Y
add to wish list 사용자가 위시리스트에 품목 / 제품을 추가 할 때 Y Y
complete registration / create an account / sign up 사용자가 계정을 만들거나 등록하거나 등록을 완료하면 Y Y Y Y Y Y Y Y
login 사용자가 로그인 할 때 Y Y Y Y Y Y Y Y
add payment info 사용자가 결제 정보를 추가 할 때 Y Y Y Y
begin checkout 사용자가 구매 절차를 시작할 때 Y Y Y
purchase cancelled / purchase refund 사용자가 구매를 취소하거나 환불을 요청할 때 Y Y Y
generate lead 사용자가 리드를 생성하는 경우 : 연락처 세부 정보 요청 / 메시지 전송 (분류/작업 앱, 교육, 지역 거래, 부동산) Y
start trial 사용자가 모바일 앱의 평가판을 시작할 때 Y Y Y Y
subscribe 사용자가 구독 할 때 (반복 결제) Y (예. 프라임 회원 프로그램 가입) Y Y Y
select item / a user has selected an item 사용자가 모바일 앱에서 콘텐츠를 선택한 경우 Y Y
earn virtual currency 사용자가 가상 화폐를받을 때 (Gaming Apps) Y
level up 사용자가 레벨을 통과 할 때 (Gaming apps) Y
spend virtual currency/credit 사용자가 가상 화폐를 사용할 때 (Gaming Apps) Y
tutorial begin 사용자가 튜토리얼을 시작할 때(Gaming app) Y
tutorial complete 사용자가 튜토리얼을 완료하면(Gaming app) Y
unlock achievement 사용자가 목표를 달성할 때 (Gaming app) Y
search Y
video/audio start or media play 사용자가 모바일 앱에서 미디어를 재생하기 시작하면 (예 : 음악 스트리밍 앱, 비디오 스트리밍 앱 …) Y

앱에서 이벤트 구현

View Home

viewHome 이벤트는 앱이 실행될 때마다 자동으로 Adjust를 통해 전송됩니다. 각 사용자의 신규 세션에서 전송합니다.

View Listing

viewListing 이벤트는 카테고리 페이지 또는 검색 결과 페이지와 같은 제품 목록을 표시하는 페이지에서 전송되어야 합니다. 제품의 경우 목록에 표시된 상위 3 개 제품의 ID를 포함해야 합니다. 이러한 ID는 카탈로그 피드에서 전달 된 제품의 ID와 일치하고 또한 고유해야 합니다.

전송이 되도록 다음 예제 코드을 참조하여 구현 하십시오:

AdjustEvent event = new AdjustEvent("{viewListingEventToken}");
List<String> productIds = Arrays.asList("productId1", "productId2", "productId3");
event.addPartnerParameter("products", productIds.toString());
Adjust.trackEvent(event);

View Product

viewProduct 이벤트는 모든 제품 세부 정보 페이지에서 전송이 되어야 합니다. 페이지에 설명 된 제품 ID를 전송시켜야 합니다. 카탈로그 피드에 사용 된 동일한 상품의 ID와 일치하고 또한 고유해야 합니다

상품페이지 정보 전송이 되도록 다음 예제 코드을 참조하여 구현 하십시오:

AdjustEvent event = newAdjustEvent("{viewProductEventToken}");
event.addPartnerParameter("product", "productId1");
Adjust.trackEvent(event);

View Basket

viewBasket 이벤트는 장바구니 세부 정보 페이지에서 전송되어야 합니다. 장바구니 이벤트는 장바구니의 세부 정보를 보여주는 페이지에서 전송해야 합니다. 장바구니에 담겨있는 모든 상품의 상품 ID, 단일 가격(상품 1개 가격) 및 수량 정보를 전송해야 합니다.

AdjustEvent event = newAdjustEvent("{cartEventToken}");
List<String> productIds = Arrays.asList("productId1","productId2","productId3");
List<String> productPrice = Arrays.asList("200","2500","1200");
List<String> productQuantity = Arrays.asList("1","2","3");
event.addPartnerParameter("productids", productIds.toString());
event.addPartnerParameter("productPrice", productPrice.toString());
event.addPartnerParameter("productQuantity", productQuantity.toString());
Adjust.trackEvent(event);

Track Transaction

trackTransaction 이벤트는 주문 완료 페이지에서 전송되어야 합니다. 고유한 구매확정 ID 뿐만 아니라 거래에서 구매 한 제품의 ID, 가격 및 수량을 포함해야 합니다.

매개 변수로 트랜잭션 이벤트를 통해 선택적 매개 변수 “nc”(신규 고객)정보를 보낼 수 있습니다. 구매가 신규 고객 또는 기존 고객에 의해 수행되는지 여부를 표시해야 합니다. 신규 고객 인 경우 1, 기존 고객 인 경우 0, 알 수 없거나 사용할 수없는 경우 비워 두어야 합니다.

trackTransaction 이벤트 전송이 되도록 다음 예제 코드을 참조하여 구현 하십시오:

AdjustEvent event = newAdjustEvent("{transactionConfirmedEventToken}");
List<String> productIds = Arrays.asList("productId1","productId2","productId3");
List<String> productPrice = Arrays.asList("200","2500","1200");
List<String> productQuantity = Arrays.asList("1","2","3");
event.addPartnerParameter("productids", productIds.toString());
event.addPartnerParameter("productPrice", productPrice.toString());
event.addPartnerParameter("productQuantity", productQuantity.toString()); 
event.addPartnerParameter("transactionId", "1");
event.addPartnerParameter("currency", "AUD");
event.addPartnerParameter("setRevenue", "1.1");
Adjust.trackEvent(event);

여행 업종 날짜 지정

이벤트에 addPartnerParameter 메소드를 이용하여 check-in, check-out 날짜를 전송할 수 있습니다. 이 날짜의 형식은 “yyyy-mm-dd”이 되어야 합니다. 이 날짜 정보는 사용자가 날짜를 입력하여 상품을 검색하는 경우 설정이 되어야 합니다.

날짜 정보를 보내려면 다음 예제 코드를 참조하여 구현 하십시오:

event.addPartnerParameter("din", "2020-01-01");
event.addPartnerParameter("dout", "2020-01-07");

이 날짜 정보는 전체 앱이 실행 되고 있는 동안 전송이 되려면 앱이 재 실행이 될 때 마다 반드시 재 설정을 해 주어야 합니다. 날짜 정보를 제거하려면 injectViewSearchDatesIntoCriteoEventsdates를 null로 설정합니다.

항공 관련 앱의 경우 , check-out 날짜가 없을 경우에는 check-in과 같은 날짜로 설정해 주도록 한다.

크로스 디바이스 타겟팅을 위한 이메일 해시

크로스 디바이스 타켓팅을 활성화하기 위해서 가능한 경우 앱 사용자의 해시 이메일을 Criteo로 전송해야 합니다.

해시 이메일을 보내려면 다음 예제 코드를 참조하여 구현 하십시오:

event.addPartnerParameter("criteo_email_hash", "72626798128bhbh283y2");

해시 이메일은 응용 프로그램 수명주기 동안 모든 Criteo 이벤트와 함께 전송되므로 응용 프로그램을 다시 시작할 때 다시 설정해야 합니다.

해시 이메일은 아래예제와 같이 빈값으로 설정하여 제거 할 수 있습니다.

event.addPartnerParameter("criteo_email_hash", "");

Criteo로 보내는 해시 이메일은 아래와 같이 생성합니다:

  • 모든 문자를 소문자로 변환
  • 공백을 제거하십시오
  • UTF-8로 변환
  • SHA256 알고리즘을 사용하여 해시

Customer ID

고객 ID는 모든 이벤트에 제공 될 수 있으며 각 플러그인 메소드의 마지막 인수입니다. 사용자가 광고주의 앱에 로그인 한 경우 고객 ID가 전달되어야 합니다.

고객 ID는 선택적 매개 변수이며 사용자가 로그 아웃하거나 사용자 ID를 사용할 수 없는 경우 빈 문자열로 남겨 두어야 합니다.

고객 ID는 개인 식별 정보를 포함하지 않는 한 임의의 문자열이 될 수 있습니다.

다음과 같이 추가하여 Adjust 이벤트에 고객 ID를 전송할 수 있습니다:

event.addPartnerParameter("customer_id", "12323dsvhdsb23");

테스트 프로세스

이벤트가 구현되는 즉시 테스트 단계를 시작하려면 Criteo에 알려주어야 합니다.

앱 측에서 모든 이벤트가 구현이 되었다면 최소 앱 배포 일주일 전에 앱 공유가 가능해야 합니다.

Criteo에는 다음 사항이 필요합니다:

  • Criteo에서 이벤트 수집을 테스트할 수 있는 앱 빌드.
  • Criteo에서 앱 빌드를 테스트하기 위해서는 다음과 같이 앱에서 Sandbox 환경과 앱의 로그 수준을 설정할 것을 권장합니다.
public class YourApplicationClass extends Application {
    @Override
    public void onCreate() {
        super.onCreate();
        String appToken = "{YourAppToken}";
        String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
        AdjustConfig config = new AdjustConfig(this, appToken, environment);
        config.setLogLevel(LogLevel.VERBOSE);
        Adjust.onCreate(config);
    }
}