Pangle Gromore integration plan
Note that data generated by third-party data integration counts toward the cluster's data consumption
Summary
Interface overview
| Interface | Type | Granularity | Attribution | Cost | Revenue | Impressions | Clicks | Conversions |
|---|---|---|---|---|---|---|---|---|
| Aggregated data API | API | Aggregated metrics | ✅ | ✅ | ✅ |
Pangle Gromore provides the aggregated data report API, which you can use to get aggregated impression, click, and revenue data for monetization ads
Integration process
- In the Pangle backend, get the Security key and RoleId from the aggregated data report API documentation, and get the user's UserId
- Log in to the AE backend, go to the Third-party Integration module, add a Pangle Gromore integration, and create an integration plan
- Check whether the AE system receives the data successfully, and build reports
1. Get the authorization information
The first step in connecting Pangle Gromore data is to log in to the Pangle backend, select Integration - API Integration Docs in the left sidebar, and click the part shown in the image below to get the user's Security key and RoleId
In addition, you need to get the user's UserId. In the upper-right corner of the page, the ID field under the user name is the UserId
2. Plan configuration
After getting the authorization information from the Pangle Gromore platform, you can log in to the AE system and configure the new plan in the Third-party Integration module. The image below shows the configuration page of the Pangle Gromore aggregated data API. Follow this section to create the plan:
2.1 Authorization information configuration
Click the Configure authorization information button under Authorization Information, and enter the information you got from the Pangle Gromore platform in the pop-up
2.2 Sync Schedule
In the Sync Schedule module, you can set the policy for the AE system to pull Pangle Gromore data on a schedule. You can choose to pull data for a period of time at a specific time every day or every hour. Because pulled data also counts toward the data volume, avoid pulling data for overly long periods on a schedule
2.3 Pull time zone
You can also set the time zone of the pulled data. The default is UTC+8
2.4 Event Data Configuration
After you turn on the Event Data Configuration switch, all data sent back is written to the event table. We recommend that you enable event data ingestion.
2.5 Configuration
Finally, in the Configuration module, you can control the detailed settings of data pulling, including the time aggregation granularity of the data, the metric fields and dimensions to pull, and the event name after ingestion.
The content of the configuration is a JSON, which you can customize as follows:
| Module | Name | Description |
|---|---|---|
| sink_event | event_name | Event name after ingestion; customizable; string type. |
| source | report_types | The report type for data pulling, mainly a choice between daily and hourly reports. Options:
|
| metrics | Metric fields of the corresponding API; list type; customizable | |
| group_by | Dimension fields of the corresponding API; list type; customizable |
Because daily and hourly reports differ considerably, we recommend that you use the configuration template for the corresponding report directly, or fine-tune the template
2.5.1 Hourly report template
The hourly report is also the report we pull by default. You can use the following template directly:
{
"sink_event": {
"event_name": "csj_gromore_report"
},
"source": {
"group_by": [
"site_id",
"adunittype",
"adunit_id",
"network",
"code_id",
"os",
"sdk_version",
"segment",
"site_version",
"channel"
],
"report_types": [
"hour"
],
"metrics": [
"req_cnt",
"ret_cnt",
"fill_rate",
"clk_cnt",
"clk_rate",
"imp_cnt",
"ssr",
"ecpm",
"revenue"
]
}
}
- Included metrics
The following are the metrics supported by the hourly report. To change them, add the metric names to source.metrics:
| Field | Description | Remarks | Default |
|---|---|---|---|
| api_ecpm | Estimated eCPM from the Reporting API | Available only when code_id is used for grouping | |
| api_imp_cnt | Estimated impressions from the Reporting API | ||
| api_revenue | Estimated revenue from the Reporting API | ||
| waterfall_req_cnt | Traffic requests | Not returned when grouping by network and code_id | |
| waterfall_send_cnt | Traffic responses | ||
| waterfall_sr | Traffic fill rate | ||
| req_cnt | Ad requests | Yes | |
| ret_cnt | Ad responses | Yes | |
| fill_rate | Ad fill rate | Yes | |
| clk_cnt | Clicks | Yes | |
| clk_rate | Click-through rate | Yes | |
| imp_cnt | Impressions | Yes | |
| ssr | Impression rate | Yes | |
| ecpm | Estimated eCPM | Yes | |
| revenue | Estimated revenue | Yes |
- Analysis dimensions
The hourly report provides the following aggregation dimensions. To change them, add the dimension names to source.group_by:
| Dimension | Field | Description | Default |
|---|---|---|---|
| site_id | site_id | App ID in Gromore mediation management | Yes |
| adunittype | adunittype | Type of the ad unit in mediation management | Yes |
adunit_id | ad_unit_name | Ad placement name | Yes |
| adunit_id | Ad unit ID | Yes | |
| network | network | Ad network that the code slot belongs to | Yes |
| code_id | code_name | Code slot name | Yes |
| code_id | Code slot ID | Yes | |
| os | os | OS type | Yes |
| sdk_version | sdk_version | SDK version | |
| segment | segemt_id | Traffic group ID | |
| site_version | site_version | App version | |
| channel | channel | Channel information | |
| Required field | user_id | Media account ID | Yes |
| role_id | Sub-account ID | Yes | |
| currency | Currency | Yes |
- Ingestion rules
The start_date and end_date fields in the data, that is, the hour fields of data aggregation, are used as the #event_time of the aggregated data
The default event name is: csj_gromore_report
2.5.2 Daily report template
The daily report differs somewhat from the hourly report. You can use the following template, or customize the fields to pull by following this section:
{
"sink_event":
{
"event_name": "csj_gromore_report"
},
"source":
{
"group_by":
[
"site_id",
"ad_unit_type",
"ad_unit_id",
"network",
"code_id"
],
"report_types":
[
"day"
],
"metrics":
[
"req_cnt",
"ret_cnt",
"fill_rate",
"imp_cnt",
"ssr",
"clk_cnt",
"clk_rate",
"ecpm",
"revenue",
"api_ecpm",
"api_revenue",
"api_imp_cnt",
"api_req_cnt",
"api_ret_cnt",
"api_clk_cnt",
"api_ssr",
"api_fill_rate",
"api_show_gap_rate",
"api_click_gap_rate"
]
}
}
- Included metrics
The following are the metrics supported by the daily report. To change them, add the metric names to source.metrics:
| Field | Description | Remarks | Default |
|---|---|---|---|
| waterfall_req_cnt | Traffic requests | Not returned when grouping by network and code_id | |
| waterfall_send_cnt | Traffic responses | ||
| waterfall_sr | Traffic fill rate | ||
| req_cnt | Ad requests | Yes | |
| ret_cnt | Ad responses | Yes | |
| fill_rate | Ad fill rate | Yes | |
| imp_cnt | Impressions | Yes | |
| ssr | Impression rate | Yes | |
| clk_cnt | Clicks | Yes | |
| clk_rate | Click-through rate | Yes | |
| ecpm | Estimated eCPM | Yes | |
| revenue | Estimated revenue | Yes | |
| api_ecpm | Estimated eCPM from the Reporting API | To query these metrics, you need to configure ad networks on the Gromore platform before data can be returned. | Yes |
| api_revenue | Estimated revenue from the Reporting API | Yes | |
| api_imp_cnt | Estimated impressions from the Reporting API | Yes | |
| api_req_cnt | Ad requests from the Reporting API | Yes | |
| api_ret_cnt | Ad responses from the Reporting API | Yes | |
| api_clk_cnt | Ad clicks from the Reporting API | Yes | |
| api_ssr | Impression rate from the Reporting API | Yes | |
| api_fill_rate | Fill rate from the Reporting API | Yes | |
| api_show_gap_rate | Difference between impressions from the Reporting API and impressions counted by the ad platform. Formula: impression gap = (imp_cnt - api_imp_cnt) / api_imp_cnt | Yes | |
| api_click_gap_rate | Difference between clicks from the Reporting API and clicks counted by the ad platform. Formula: click gap = (clk_cnt - api_clk_cnt) / api_clk_cnt | Yes |
- Analysis dimensions
The daily report provides the following aggregation dimensions. To change them, add the dimension names to source.group_by:
| Dimension | Field | Description | Default |
|---|---|---|---|
| site_id | site_id | App ID in Gromore mediation management | Yes |
| ad_unit_type | ad_unit_type | Type of the ad unit in mediation management | Yes |
ad_unit_id | ad_unit_name | Ad placement name | Yes |
| ad_unit_id | Ad unit ID | Yes | |
| network | network | Ad network that the code slot belongs to | Yes |
| code_id | code_name | Code slot name | Yes |
| code_id | Code slot ID | Yes | |
| segment | segemt_id | Traffic group | |
| sdk_version | sdk_version | SDK version | |
| site_version | site_version | App version | |
| channel | channel | Channel information | |
| user_type | user_type | User type | |
| Required field | os | OS type | Yes |
| user_id | Media account ID | Yes | |
| role_id | Sub-account ID | Yes | |
| currency | Currency | Yes |
- Ingestion rules
The date field in the data, that is, the daily field of data aggregation, is used as the #event_time of the aggregated data
The default event name is: csj_gromore_report
2.6 Standardized fields
| Field | Standardized field | Description |
|---|---|---|
| currency | te_ads_object.currency | Currency |
| ad_unit_name | te_ads_object.ad_group_name | Ad placement name |
| ad_unit_id | te_ads_object.ad_group_id | Ad unit ID |
| adunit_id | te_ads_object.ad_group_id | Ad unit ID |
| network | te_ads_object.media_source | Ad network that the code slot belongs to |
| code_name | te_ads_object.ad_name | Code slot name |
| code_id | te_ads_object.ad_id | Code slot ID |
| os | te_ads_object.platform | OS type |
| user_id | te_ads_object.ad_account_id | Media account ID |
| imp_cnt | te_ads_object.impressions | Impressions |
| clk_cnt | te_ads_object.clicks | Clicks |
| revenue | te_ads_object.revenue | Estimated revenue |

