Active Users Report

    액티브 유저 리포트(Active Users Report)에서는 선택한 주기에 따라 주요 마케팅 성과 지표인 DAU, WAU, MAU를 확인할 수 있는 통계 리포트입니다.

    또한, 요청 횟수에 대한 제한이 없어 필요할 때마다 자유롭게 리포트를 생성할 수 있습니다.


    리포트 생성하기

    POST

    https://api.airbridge.io/reports/api/v4/apps/{app_name}/active-users/query

    Active Users Report 데이터를 요청합니다.

    rate limit: 일반적인 사용량에는 별도의 제한이 없습니다. 다만, 서비스 안정성을 위협하는 과도한 요청이 감지될 경우, 일시적으로 429 Too Many Requests 응답이 반환될 수 있습니다.

    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 형태입니다.

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

    to
    필수string

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

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

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

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

    granularity
    필수enum

    분석 기간 주기.

    ENUM VALUES
    day

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

    week

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

    month

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

    metrics
    필수string[]

    메트릭으로 다양한 광고 성과 데이터를 조회할 수 있습니다. 액티브 유저 리포트에서 선택할 수 있는 전체 메트릭 리스트는 메타데이터 가져오기 (Metric) API를 통해서 확인 할 수 있습니다.

    최대 20개까지 설정할 수 있습니다.

    groupBy
    필수object

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

    groupBy.fields
    필수string[]

    리포트 그룹바이.

    최대 6개의 그룹바이를 설정할 수 있으며, 선택할 수 있는 리스트는 그룹바이 목록에서 확인할 수 있습니다.

    filters
    필수object[]

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

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

    filters[0].filterType
    필수enum

    필터에 적용할 연산자.

    ENUM VALUES
    IN

    속해있다. 액츄얼스 리포트에서는 같다(is, =)에 대응합니다.

    NOT IN

    속해있지 않다. 액츄얼스 리포트에서는 같지 않다(is not, ≠)에 대응합니다.

    LIKE

    포함한다. (contains, ∋)

    NOT LIKE

    포함하지 않는다. (does not contain, ∌)

    EXIST

    값이 존재한다. (exists)

    NOT EXIST

    값이 존재하지 않는다. (does not exist)

    filters[0].field
    필수string

    필터를 지정할 그룹바이.

    groupBys 내에 정의된 값만 사용하실 수 있습니다.

    filters[0].values
    string[]

    필터에 적용할 값.

    Request
    12345
    curl -X POST 'https://api.airbridge.io/reports/api/v4/apps/{app_name}/active-users/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","groupBy":{"fields":["channel"]},"filters":[{"filterType":"IN","field":"campaign","values":["App"]}]}'
    Payload
    12345678910111213141516171819
    {
      "from": "2022-11-04",
      "to": "2022-11-11",
      "granularity": "day",
      "groupBy": {
        "fields": [
          "channel"
        ]
      },
      "filters": [
        {
          "filterType": "IN",
          "field": "campaign",
          "values": [
            "App"
          ]
        }
      ]
    }

    Response

    200SUCCESS

    404ERROR

    Response
    123456
    {
      "task": {
        "status": "RUNNING",
        "taskId": "5e286bd4-b4b1-4c04-8f6a-123456789abc"
      }
    }
    Response
    123456
    {
      "type": "about:blank",
      "title": "Not Found",
      "status": 404,
      "traceId": "1-000000-000000000000000"
    }

    리포트 가져오기

    GET

    https://api.airbridge.io/reports/api/v4/apps/{app_name}/active-users/query/{task_id}

    비동기 요청 상태

    비동기 요청 상태는 API 요청 결과의 task.status로 확인할 수 있습니다.

    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입니다.

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

    Response

    200SUCCESS

    200SUCCESS

    404ERROR

    Response
    123456789101112131415161718192021222324252627282930313233343536
    {
      "task": {
        "status": "SUCCESS",
        "taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d",
        "endedAt": "2022-07-29T04:40:52+00:00"
      },
      "activeUsers": {
        "data": [
          {
            "rows": [
              {
                "date": "2022-07-23T00:00:00+09:00/2022-07-24T00:00:00+09:00",
                "values": {
                  "app_au": 7,
                  "app_pu": 0,
                  "app_arpu": 0,
                  "app_arppu": 0,
                  "app_revenue": 0
                }
              },
              {
                "date": "2022-07-24T00:00:00+09:00/2022-07-25T00:00:00+09:00",
                "values": {
                  "app_au": 8,
                  "app_pu": 0,
                  "app_arpu": 0,
                  "app_arppu": 0,
                  "app_revenue": 0
                }
              }
            ],
            "groupBys": []
          }
        ]
      }
    }
    Response
    1234567
    {
      "task": {
        "status": "RUNNING",
        "taskId": "5e286bd4-b4b1-4c04-8f6a-123456789abc",
        "endedAt": "2023-01-01T09:00:00.286939+09:00"
      }
    }
    Response
    123456
    {
      "type": "about:blank",
      "title": "Not Found",
      "status": 404,
      "traceId": "1-000000-000000000000000"
    }

    메타데이터 가져오기 (Metric)

    GET

    https://api.airbridge.io/dataspec/v1/apps/{app_name}/active-users-report/metrics

    사용할 수 있는 리포트 메트릭을 조회합니다. [참고]

    Request

    Headers

    Accept-Language
    string

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

    Content-Type
    string

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

    Authorization
    string

    API 요청에 사용하는 키값입니다. 키값 생성 및 조회 방법을 확인하여 획득할 수 있습니다.

    Path Params

    app_name
    필수string

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

    Request
    1234
    curl -X GET 'https://api.airbridge.io/dataspec/v1/apps/{app_name}/active-users-report/metrics' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    404ERROR

    입력한 필드에 오류가 있거나 해당하는 리소스가 없습니다.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142
    {
      "data": [
        {
          "name": "App",
          "metrics": [
            {
              "key": "app_au",
              "name": "Active Users (App)",
              "description": "The number of unique users who performed any app event",
              "valueType": "integer",
              "isInactive": false
            },
            {
              "key": "app_pu",
              "name": "Paying Users (App)",
              "description": "The number of unique users who performed the Revenue events(Order Complete, Subscribe, Ad Click, Ad Impression) in App",
              "valueType": "integer",
              "isInactive": false
            }
          ]
        },
        {
          "name": "Web",
          "metrics": [
            {
              "key": "web_au",
              "name": "Active Users (Web)",
              "description": "The number of unique users who performed any web event",
              "valueType": "integer",
              "isInactive": false
            },
            {
              "key": "web_pu",
              "name": "Paying Users (Web)",
              "description": "The number of unique users who performed the Revenue events(Order Complete, Subscribe, Ad Click, Ad Impression) in Web",
              "valueType": "integer",
              "isInactive": false
            }
          ]
        }
      ]
    }
    Response
    123456
    {
      "type": "about:blank",
      "title": "Not Found",
      "status": 404,
      "traceId": "1-000000-000000000000000"
    }

    메타데이터 가져오기 (GroupBy)

    GET

    https://api.airbridge.io/dataspec/v1/apps/{app_name}/active-users-report/groupbys

    사용할 수 있는 리포트 그룹바이를 조회합니다. [참고]

    Request

    Headers

    Accept-Language
    string

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

    Content-Type
    string

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

    Authorization
    string

    API 요청에 사용하는 키값입니다. 키값 생성 및 조회 방법을 확인하여 획득할 수 있습니다.

    Path Params

    app_name
    필수string

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

    Request
    1234
    curl -X GET 'https://api.airbridge.io/dataspec/v1/apps/{app_name}/active-users-report/groupbys' \
      -H 'Accept-Language: ko' \
      -H 'Content-Type: application/json' \
      -H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'

    Response

    200SUCCESS

    404ERROR

    입력한 필드에 오류가 있거나 해당하는 리소스가 없습니다.

    Response
    123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354
    {
      "data": [
        {
          "name": "Touchpoint",
          "fields": [
            {
              "key": "channel",
              "name": "Channel",
              "description": "The media source of the touchpoint.",
              "example": "moloco",
              "isFilter": true,
              "isApp": true,
              "isWeb": true,
              "type": "string"
            },
            {
              "key": "campaign",
              "name": "Campaign",
              "description": "The campaign that generated the touchpoint. The campaign name entered in SAN or collected by the campaign parameter of the tracking link.",
              "example": "2018_summer_campaign",
              "isFilter": true,
              "isApp": true,
              "isWeb": true,
              "type": "string"
            }
          ]
        },
        {
          "name": "Device",
          "fields": [
            {
              "key": "device_type",
              "name": "Device Type",
              "description": "Device Type\n- mobile\n- tablet\n- desktop\n- other",
              "example": "mobile",
              "isFilter": true,
              "isApp": true,
              "isWeb": true,
              "type": "string"
            },
            {
              "key": "platform",
              "name": "Platform",
              "description": "Device Platform\n- Android\n- iOS\n- Desktop\n- Other",
              "example": "Android",
              "isFilter": true,
              "isApp": true,
              "isWeb": true,
              "type": "string"
            }
          ]
        }
      ]
    }
    Response
    123456
    {
      "type": "about:blank",
      "title": "Not Found",
      "status": 404,
      "traceId": "1-000000-000000000000000"
    }