In. In Actuals reports, this corresponds to equals (is, =).
Not in. In Actuals reports, this corresponds to is not, ≠.
Contains. ∋
Does not contain. ∌
Value exists.
Value does not exist.
Actuals Report provides customization features for the metrics and data you intend to analyze.
Using the various data fields provided by Airbridge, you can customize the report in all forms such as subdividing data into specific criteria, adding metrics on granular criteria, or applying filters.
https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query
Request Actuals Report.
In. In Actuals reports, this corresponds to equals (is, =).
Not in. In Actuals reports, this corresponds to is not, ≠.
Contains. ∋
Does not contain. ∌
Value exists.
Value does not exist.
curl -X POST 'https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/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","groupBys":["event_source","event_type","event_category"],"metrics":["app_events"],"filters":[{"dimension":"channel","filterType":"IN","values":["App"]}],"sorts":[{"fieldName":"event_type","isAscending":true}]}'
{
"from": "2022-11-04",
"to": "2022-11-11",
"groupBys": [
"event_source",
"event_type",
"event_category"
],
"metrics": [
"app_events"
],
"filters": [
{
"dimension": "channel",
"filterType": "IN",
"values": [
"App"
]
}
],
"sorts": [
{
"fieldName": "event_type",
"isAscending": true
}
]
}
task.status
| Data aggregation is in preparation. |
| Data is being aggregated. |
| The aggregation is completed and returns the result. |
| The request has failed. |
| The request has been canceled. |
{
"task": {
"status": "RUNNING",
"taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d"
}
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"traceId": "1-000000-000000000000000"
}
https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query/{task_id}
The status of an asynchronous request can be checked with task.status
in the API request result.
| Data aggregation is in preparation. |
| Data is being aggregated. |
| The aggregation is complete and returns the result. |
| The request has failed. |
| The request has been canceled. |
If certain data was removed or masked during aggregation (masking), refer to the the reason in notification[0].code
.
| The media partner requesting the data has not been granted the permission to view them. |
| The data has been removed according to Meta's privacy compliance policies. |
| The result has exceeded the maximum data value (10,000 rows per report). It is recommended that data is extracted using Raw Data Export. |
| The data has been removed according to Self-Attribution Networks' compliance policies. For example, removed data from 175 days ago that was attributed to Meta. |
curl -X GET 'https://api.airbridge.io/reports/api/v7/apps/{app_name}/actuals/query/{task_id}?skip=0&size=100&viewFormat=false' \
-H 'Accept-Language: ko' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'
Returns the result when data aggregation is complete. If status is SUCCESS
, sends it to actuals with data, metadata, messages, etc.
The asynchronous request is being processed.
The API can be polled periodically to see the results, and the status of the request can be checked with task.status
.
{
"task": {
"status": "SUCCESS",
"taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d",
"endedAt": "2022-10-01T00:00:00+00:00"
},
"actuals": {
"data": {
"rows": [
{
"values": {
"app_installs": {
"value": 100,
"isMasked": false,
"viewFormat": "{value}"
}
},
"groupBys": [
"<groupBy>"
]
},
{
"values": {
"app_installs": {
"value": 13,
"isMasked": true,
"viewFormat": "{value} +α"
}
},
"groupBys": [
"<groupBy>"
]
}
]
},
"metadata": {
"rowCount": 2
}
},
"pagination": {
"hasNext": true,
"totalCount": 200
},
"notifications": []
}
{
"task": {
"status": "RUNNING",
"taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d"
}
}
https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/fields
Gets a list of available report groupbys. [Note]
curl -X GET 'https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/fields' \
-H 'Accept-Language: ko' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'
There is an error in the field provided, or there is no such resource.
{
"data": [
{
"fields": [
{
"key": "event_date",
"name": "Event Date",
"example": "2019-05-31",
"description": "이벤트 발생 날짜와 시간 (YYYY-MM-DD)",
"serveToFilter": true
},
{
"key": "event_year",
"name": "Event Year",
"example": "2019",
"description": "이벤트 발생 년도",
"serveToFilter": true
},
{
"key": "event_month",
"name": "Event Month",
"example": "04",
"description": "이벤트 발생 월",
"serveToFilter": true
}
],
"groupName": "Event Datetime",
"parentGroupName": null
},
{
"fields": [
{
"key": "event_source",
"name": "Event Source",
"example": "App",
"description": "Event가 발생한 소스",
"serveToFilter": true
},
{
"key": "event_type",
"name": "Event Type",
"example": "Impression",
"description": "Event 타입",
"serveToFilter": true
},
{
"key": "event_category",
"name": "Event Category",
"example": "Move to App Store (Link)",
"description": "Event 카테고리",
"serveToFilter": true
}
],
"groupName": "Event Hierarchy",
"parentGroupName": null
},
{
"fields": [
{
"key": "channel",
"name": "Channel",
"example": "moloco",
"description": "Touchpoints 와 Conversion이 발생한 Channel\n",
"serveToFilter": true
},
{
"key": "campaign",
"name": "Campaign",
"example": "2018_summer_campaign",
"description": "Touchpoints 와 Conversion이 발생한 Campaign \n(SAN Publisher 대시보드에서 입력한 값 또는 Tracking Link의 캠페인 파라미터 값)",
"serveToFilter": true
}
],
"groupName": "Touchpoint",
"parentGroupName": null
}
]
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"traceId": "1-000000-000000000000000"
}
https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/metrics
Query the available report metrics. [Note]
curl -X GET 'https://api.airbridge.io/dataspec/v2/apps/{app_name}/actual-report/metrics' \
-H 'Accept-Language: ko' \
-H 'Content-Type: application/json' \
-H 'Authorization: Bearer {AIRBRIDGE-API-TOKEN}'
There is an error in the field you entered, or there is no such resource.
{
"data": [
{
"fields": [
{
"key": "touchpoints_impression_click",
"name": "Touchpoints (Impression+click)",
"description": "Impression 수와 Click 수의 합"
},
{
"key": "impressions",
"name": "Impressions",
"description": "Impression 수"
},
{
"key": "clicks",
"name": "Clicks",
"description": "Click 수"
}
],
"groupName": "Touchpoint",
"parentGroupName": "Touchpoint"
},
{
"fields": [
{
"key": "app_events",
"name": "Events (App)",
"description": "앱에서 발생한 이벤트 수"
},
{
"key": "app_event_value",
"name": "Event 값 (App)",
"description": "앱에서 발생한 이벤트 값의 합"
}
],
"groupName": "App Event",
"parentGroupName": "App"
},
{
"fields": [
{
"key": "app_installs",
"name": "Installs (App)",
"description": "Install 수"
},
{
"key": "app_first_installs",
"name": "First Installs (App)",
"description": "최초로 설치된 Install 수"
}
],
"groupName": "App Install",
"parentGroupName": "App"
},
{
"fields": [
{
"key": "app_sign_up",
"name": "회원가입 (App)",
"description": "앱에서 발생한 회원가입 이벤트 수"
},
{
"key": "app_sign_in",
"name": "로그인 (App)",
"description": "앱에서 로그인 이벤트 수"
},
{
"key": "app_sign_out",
"name": "로그아웃 (App)",
"description": "앱에서 로그아웃 이벤트 수"
}
],
"groupName": "App Standard Event",
"parentGroupName": "App"
}
]
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"traceId": "1-000000-000000000000000"
}
このページは役に立ちましたか?
{
"task": {
"status": "RUNNING",
"taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d"
}
}
{
"task": {
"status": "RUNNING",
"taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d"
}
}
{
"task": {
"status": "SUCCESS",
"taskId": "5e286bd4-b4b1-4c04-8f6a-670dc7ce637d",
"endedAt": "2022-10-01T00:00:00+00:00"
},
"actuals": {
"data": {
"rows": [
{
"values": {
"app_installs": {
"value": 100,
"isMasked": false,
"viewFormat": "{value}"
}
},
"groupBys": [
"<groupBy>"
]
},
{
"values": {
"app_installs": {
"value": 13,
"isMasked": true,
"viewFormat": "{value} +α"
}
},
"groupBys": [
"<groupBy>"
]
}
]
},
"metadata": {
"rowCount": 2
}
},
"pagination": {
"hasNext": true,
"totalCount": 200
},
"notifications": []
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"traceId": "1-000000-000000000000000"
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"traceId": "1-000000-000000000000000"
}
{
"type": "about:blank",
"title": "Not Found",
"status": 404,
"traceId": "1-000000-000000000000000"
}
{
"data": [
{
"fields": [
{
"key": "touchpoints_impression_click",
"name": "Touchpoints (Impression+click)",
"description": "Impression 수와 Click 수의 합"
},
{
"key": "impressions",
"name": "Impressions",
"description": "Impression 수"
},
{
"key": "clicks",
"name": "Clicks",
"description": "Click 수"
}
],
"groupName": "Touchpoint",
"parentGroupName": "Touchpoint"
},
{
"fields": [
{
"key": "app_events",
"name": "Events (App)",
"description": "앱에서 발생한 이벤트 수"
},
{
"key": "app_event_value",
"name": "Event 값 (App)",
"description": "앱에서 발생한 이벤트 값의 합"
}
],
"groupName": "App Event",
"parentGroupName": "App"
},
{
"fields": [
{
"key": "app_installs",
"name": "Installs (App)",
"description": "Install 수"
},
{
"key": "app_first_installs",
"name": "First Installs (App)",
"description": "최초로 설치된 Install 수"
}
],
"groupName": "App Install",
"parentGroupName": "App"
},
{
"fields": [
{
"key": "app_sign_up",
"name": "회원가입 (App)",
"description": "앱에서 발생한 회원가입 이벤트 수"
},
{
"key": "app_sign_in",
"name": "로그인 (App)",
"description": "앱에서 로그인 이벤트 수"
},
{
"key": "app_sign_out",
"name": "로그아웃 (App)",
"description": "앱에서 로그아웃 이벤트 수"
}
],
"groupName": "App Standard Event",
"parentGroupName": "App"
}
]
}
{
"data": [
{
"fields": [
{
"key": "event_date",
"name": "Event Date",
"example": "2019-05-31",
"description": "이벤트 발생 날짜와 시간 (YYYY-MM-DD)",
"serveToFilter": true
},
{
"key": "event_year",
"name": "Event Year",
"example": "2019",
"description": "이벤트 발생 년도",
"serveToFilter": true
},
{
"key": "event_month",
"name": "Event Month",
"example": "04",
"description": "이벤트 발생 월",
"serveToFilter": true
}
],
"groupName": "Event Datetime",
"parentGroupName": null
},
{
"fields": [
{
"key": "event_source",
"name": "Event Source",
"example": "App",
"description": "Event가 발생한 소스",
"serveToFilter": true
},
{
"key": "event_type",
"name": "Event Type",
"example": "Impression",
"description": "Event 타입",
"serveToFilter": true
},
{
"key": "event_category",
"name": "Event Category",
"example": "Move to App Store (Link)",
"description": "Event 카테고리",
"serveToFilter": true
}
],
"groupName": "Event Hierarchy",
"parentGroupName": null
},
{
"fields": [
{
"key": "channel",
"name": "Channel",
"example": "moloco",
"description": "Touchpoints 와 Conversion이 발생한 Channel\n",
"serveToFilter": true
},
{
"key": "campaign",
"name": "Campaign",
"example": "2018_summer_campaign",
"description": "Touchpoints 와 Conversion이 발생한 Campaign \n(SAN Publisher 대시보드에서 입력한 값 또는 Tracking Link의 캠페인 파라미터 값)",
"serveToFilter": true
}
],
"groupName": "Touchpoint",
"parentGroupName": null
}
]
}