Retention Report

    리텐션 리포트(Retention Report)는 유저가 얼마나 자주 서비스로 돌아왔는지를 측정할 수 있는 통계 리포트입니다. 에어브릿지 사용자는 특정 이벤트를 기준으로 설치 또는 딥링크로 유입된 유저의 일자별(Day N) 서비스 사용 빈도를 조회할 수 있습니다. 집계된 리텐션 성과는 광고 캠페인 최적화 등에 활용할 수 있습니다.


    리포트 생성하기

    POST

    https://api.airbridge.io/reports/api/v5/apps/{app_name}/retention/query

    Retention Report 데이터를 요청합니다.

    Request

    Headers

    Accept-Language
    string

    API 요청 및 결과 반환에 사용할 언어를 지정할 수 있습니다. ISO-639-1 포맷을 따릅니다.

    Content-Type
    string

    리소스의 미디어 타입을 나타냅니다. 기본값으로 application/json을 사용합니다.

    Authorization
    string

    API 요청에 사용하는 키값입니다. 을 확인하여 획득할 수 있습니다.

    Path Params

    app_name
    필수string

    에어브릿지 앱 이름(App Name)

    Body Params

    from
    필수string

    요청할 리포트 데이터의 시작일.

    • YYYY-MM-DD 형태입니다.

    • 에어브릿지 앱의 타임존이 적용된 날짜이어야 합니다.

    • 현재로부터 365일 전까지 설정할 수 있습니다.

    to
    필수string

    요청할 리포트 데이터의 종료일.

    • YYYY-MM-DD 형태입니다.

    • 에어브릿지 앱의 타임존이 적용된 날짜이어야 합니다.

    • 현재 날짜까지 설정할 수 있으며 최대 조회 기간은 92일입니다.

    granularity
    필수enum

    분석 기간 주기.

    ENUM VALUES
    day

    일별로 데이터를 분석합니다.

    week

    주별로 데이터를 분석합니다. 시작일로부터 7일 단위로 계산됩니다.

    month

    월별로 데이터를 분석합니다. 시작일로부터 다음달 같은 일자까지를 같은 달로 계산합니다. 예를 들어 3월 10일이 시작일이면 4월 10일까지를 같은 달로 봅니다.

    startEvent
    필수enum

    유저를 유입시킨 이벤트.

    ENUM VALUES
    app_installs

    Installs (App). 선택 기간 내 Install 한 사용자 (Unique Install)

    app_deeplink_opens

    Deeplink Opens (App). 선택 기간 내 Deeplink Open 한 사용자 (Unique Deeplink Open)

    returnEvents
    필수enum[]

    스타트 이벤트를 실행한 유저가 발생시킨 매출 이벤트.

    운영하는 서비스에서 매출이 발생하는 형태에 따라 여러 개의 레비뉴 이벤트를 설정할 수 있습니다.

    ENUM VALUES
    app_order_complete

    구매 완료 (App). Start Event를 수행한 사용자 중 선택 기간 내 수행한 구매 완료 이벤트.

    app_first_order_complete

    첫 구매 완료 (App). Start Event를 수행한 사용자 중 선택 기간 내 수행한 첫 구매 이벤트.

    app_ad_impression

    Ad Impression (App). Start Event를 수행한 사용자 중 선택 기간 내 수행한 광고 노출 이벤트.

    app_ad_click

    광고 클릭 (App). Start Event를 수행한 사용자 중 선택 기간 내 수행한 광고 클릭 이벤트.

    app_subscribe

    구독 (App). Start Event를 수행한 사용자 중 선택 기간 내 수행한 구독 이벤트.

    measurementOption
    필수enum

    User Journey를 바라보는 관점에서 리텐션을 분석할 수 있도록 설정. 참고

    ENUM VALUES
    general_retention

    General. 스타트 이벤트의 리턴 이벤트 대한 기여를 Lifetime으로 보아 분석 기간 전체의 사용자 Engagement를 확인하는 용도로 사용할 수 있습니다. 한 리턴 이벤트가 둘 이상 스타트 이벤트의 리텐션으로 계산될 수 있습니다.

    confined_retention

    Confined. 리턴 이벤트에 대한 기여를 새로운 스타트 이벤트가 발생하기 전 까지로 한정하여 보아 각 스타트 이벤트별 사용자의 Engagement를 ‘General’ 옵션보다 조금 더 엄밀하게 확인하는 용도로 사용할 수 있습니다.

    groupBy
    필수object

    그룹바이는 조회할 메트릭의 수치를 나누는 기준입니다.
    조회에 사용할 그룹바이 항목 혹은 코호트를 설정할 수 있습니다.

    filters
    필수object[]

    '그룹바이'로 제공하는 항목들에 대한 필터.

    조건을 만족하는 데이터에 대한 통계 데이터를 리포트에서 조회할 수 있습니다.

    sorts
    필수object[]

    '그룹바이' 또는 '메트릭'을 기준으로 리포트 데이터를 정렬할 수 있습니다.

    keyword
    string

    group by를 필터링 할 수 있는 값.

    pagination
    object
    Request
    12345
    curl -X POST 'https://api.airbridge.io/reports/api/v5/apps/{app_name}/retention/query' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}' \
      -d '{"from":"2022-11-04","to":"2022-11-11","granularity":"day","startEvent":"app_installs","returnEvents":["app_order_complete"],"measurementOption":"general_retention","groupBy":{"fields":["channel"]},"filters":[{"filterType":"IN","values":["App"]}],"sorts":[{"fieldName":"event_type","isAscending":true}],"pagination":{"skip":0,"size":50}}'
    Payload
    123456789101112131415161718192021222324252627282930313233
    {
      "from": "2022-11-04",
      "to": "2022-11-11",
      "granularity": "day",
      "startEvent": "app_installs",
      "returnEvents": [
        "app_order_complete"
      ],
      "measurementOption": "general_retention",
      "groupBy": {
        "fields": [
          "channel"
        ]
      },
      "filters": [
        {
          "filterType": "IN",
          "values": [
            "App"
          ]
        }
      ],
      "sorts": [
        {
          "fieldName": "event_type",
          "isAscending": true
        }
      ],
      "pagination": {
        "skip": 0,
        "size": 50
      }
    }

    Response

    200SUCCESS

    400ERROR

    Response
    12345
    {
      "data": {
        "taskId": "5e286bd4-b4b1-4c04-8f6a-123456789abc"
      }
    }

    리포트 가져오기

    GET

    https://api.airbridge.io/reports/api/v5/apps/{app_name}/retention/query/{task_id}

    비동기 요청 상태 정의

    비동기 요청 상태는 API 요청 결과의 task.status로 확인할 수 있습니다. 요청 상태는 아래와 같이 정의하고 있습니다.

    #{"style":{"minWidth":"130px"}}

    PENDING

    데이터 집계를 위한 준비를 하고 있습니다

    RUNNING

    데이터를 집계중입니다

    SUCCESS

    집계가 완료되어 결과값을 반환합니다

    FAILURE

    알 수 없는 이유로 요청이 실패하였습니다

    CANCELED

    요청이 취소되었습니다

    알립니다

    isMasked가 true이면 해당 cell의 값은 숨겨진 수치입니다.

    페이스북 개인정보 보호 정책으로 인해 페이스북 광고 노출이 1,000건 이하이거나 페이스북으로 기여된 설치수가 100건 이하인 데이터는 해당 수치를 보여주지 않습니다.

    마스킹된 값이 있을 경우 notification 이 제공됩니다.

    Request

    Headers

    Accept-Language
    string

    API 요청 및 결과 반환에 사용할 언어를 지정할 수 있습니다. ISO-639-1 포맷을 따릅니다.

    Content-Type
    string

    리소스의 미디어 타입을 나타냅니다. 기본값으로 application/json을 사용합니다.

    Authorization
    string

    API 요청에 사용하는 키값입니다. 을 확인하여 획득할 수 있습니다.

    Path Params

    app_name
    필수string

    에어브릿지 앱 이름(App Name)

    task_id
    필수string

    '리포트 생성하기' API의 결과값에서 반환한 task_id입니다.

    Query Params

    skip
    number

    결과값에서 제외할 Row의 수.

    size
    number

    반환할 Row 수.

    최대 사이즈는 100입니다.

    Request
    1234
    curl -X GET 'https://api.airbridge.io/reports/api/v5/apps/{app_name}/retention/query/{task_id}' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    200SUCCESS

    404ERROR

    Response
    1234567
    {
      "task": {
        "status": "RUNNING",
        "taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d",
        "endedAt": "2022-01-17T19:10:00.286939+09:00"
      }
    }

    도움이 되었나요?

    더 필요한 내용이 있나요?