OPPO Marketing Platform 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 |
|---|---|---|---|---|---|---|---|---|
| Game detail data | API | Aggregated metrics | ✅ | ✅ | ✅ | ✅ | ✅ |
Currently, AE supports ingesting game detail data from OPPO Marketing Platform, including aggregated metrics such as cost, clicks, and impressions at the ad creative level
Integration process
- Log in to the OPPO marketing backend, get the API key, and collect the required authorization information
- Log in to the AE backend, go to the Third-party Integration module, add an OPPO integration plan, and complete the related configuration
- Check whether the AE system receives the data successfully, and build reports
1. Get the authorization information
Before ingesting data from OPPO Marketing Platform, get the basic information required to pull data. Log in to OPPO Marketing Platform with the OPPO account whose ad data you want to pull, and click Toolbox > Account Assistance > Get API Key to go to the API Key page. If you have not applied for a key yet, click Get Key to generate one:
After generating the key, write down the following three pieces of information: advertiser ID, API-ID, and API-KEY. You will use them later when creating the integration plan, so keep them safe.
2. Plan configuration
After you get the authorization information from the OPPO backend, 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 OPPO game detail data. 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 obtained in the previous step in the pop-up:
APP ID and APP Key are the API-ID and API-KEY from the OPPO backend, respectively. For Account ID, enter the advertiser ID
2.2 Sync Schedule
In the Sync Schedule module, you can set the policy for the AE system to pull OPPO game detail data on a schedule. You can choose to pull data for a period of time at a specific time every day. Because pulled data also counts toward the data volume, avoid pulling data for overly long periods on a schedule
2.3 Receive Settings
You can control whether the data is written as events. If you turn this off, the data is not written to the event table, so do not turn off this setting.
2.4 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 |
| transfer | fields_whitelist | List of fields to ingest. Customizable. Because OPPO game detail data returns many fields, this field is used to filter the fields to ingest. To adjust the ingested fields, see below |
The following is the list of fields returned by OPPO game detail data. Some of them are not ingested. To adjust the ingested fields, add the field names to transfer.fields_whitelist:
| Name | Ingested | Field name and notes |
|---|---|---|
| fdate | Yes | Data date, such as 20210614 |
| app_id | Yes | App ID |
| app_name | Yes | App name |
| owner_id | Yes | Advertiser ID |
| owner_name | Yes | Advertiser name |
| group_id | Yes | Ad group ID |
| group_name | Yes | Ad group name |
| plan_id | Yes | Campaign ID |
| plan_name | Yes | Campaign name |
| ad_id | Yes | Ad ID |
| ad_name | Yes | Ad name |
| extension_type | Yes | Promotion goal. 1: link promotion; 2: app promotion; 3: quick app; 7: WeChat mini program promotion; 8: live stream promotion |
| global_spec_id | Yes | Unified specification ID |
| extension_flow | Yes | Promotion traffic: 0: default value with no meaning; 1: all-traffic scenarios; 2: owned traffic; 3: ad network traffic |
| flow_scene | Yes | Traffic scenario: 0: default value with no meaning; 1: all-traffic promotion; 2: featured promotion; 3: install rewards; 4: startup essentials; 5: search; 6: feed; 7: Banner; 8: splash; 9: interstitial; 10: native; 11: rewarded video; 12: ad network (unrestricted); 13: optimized display |
| total_pay | Yes | Total payment revenue (in cents) |
| ad_new_ssoid | Yes | Registered users |
| ad_new_pay_ssoid | Yes | New paying users |
| ad_new_pay | Yes | First-day payment revenue (in cents) |
| down_cnt | Yes | Downloads (search & distribution: billed downloads; feed and ad network: total downloads) |
| expose_nums | Yes | Impressions |
| click_nums | Yes | Clicks |
| click_rate | Yes | Click-through rate, decimal |
| down_rate | Yes | Download rate, decimal |
| register_rate | Yes | Registration rate, decimal |
| register_price | Yes | Registration cost |
| new_pay_price | Yes | Payment cost |
| active_nums | Yes | Activated users: users who downloaded through paid acquisition and activated in the last 180 days |
| active_rate | Yes | Activation rate, decimal |
| new_pay_rate | Yes | Payment conversion rate, decimal |
| ad_price | Yes | Actual ad spend (in cents) |
| new_user_ltv1 | Game payment LTV1 (in cents) | |
| new_user_ltv3 | Game payment LTV3 (in cents) | |
| new_user_ltv7 | Game payment LTV7 (in cents) | |
| new_user_ltv30 | Game payment LTV30 (in cents) | |
| buy_user_income0 | Yes | First-day ad revenue (in cents) |
| inter_buy_roi1 | Ad monetization ROI1 | |
| inter_buy_roi3 | Ad monetization ROI3 | |
| inter_buy_roi7 | Ad monetization ROI7 | |
| inter_buy_roi30 | Ad monetization ROI30 | |
| new_user_roi1 | Game payment ROI1 | |
| new_user_roi3 | Game payment ROI3 | |
| new_user_roi7 | Game payment ROI7 | |
| new_user_roi30 | Game payment ROI30 | |
| ecpm | Yes | |
| click_price | Yes | Average cost per click (in cents) |
| down_price | Yes | Cost per download (in cents) |
| active_price | Yes | Cost per activation (in cents) |
| inter_buy_ltv1 | Ad monetization LTV1 (in cents) | |
| inter_buy_ltv3 | Ad monetization LTV3 (in cents) | |
| inter_buy_ltv7 | Ad monetization LTV7 (in cents) | |
| inter_buy_ltv30 | Ad monetization LTV30 (in cents) | |
| 10per_total_pay | Payment revenue with 1:9 revenue sharing (in cents) | |
| 50per_total_pay | Payment revenue with 5:5 revenue sharing (in cents) | |
| pay_retention1 | Day 1 retained users (paying) | |
| pay_retention3 | Day 3 retained users | |
| pay_retention7 | Day 7 retained users | |
| pay_retention14 | Day 14 retained users | |
| pay_retention30 | Day 30 retained users | |
| pay_retention1_rate | Day 1 retention rate | |
| pay_retention3_rate | Day 3 retention rate | |
| pay_retention7_rate | Day 7 retention rate | |
| pay_retention14_rate | Day 14 retention rate | |
| pay_retention30_rate | Day 30 retention rate | |
| activate_nums | Yes | Launched users |
| cash_retention1 | Day 1 retained users (monetization) | |
| cash_retention3 | Day 3 retained users (monetization) | |
| cash_retention7 | Day 7 retained users (monetization) | |
| cash_retention1_rate | Day 1 retention rate (monetization) | |
| cash_retention3_rate | Day 3 retention rate (monetization) | |
| cash_retention7_rate | Day 7 retention rate (monetization) | |
| buy_user_income_active | Yes | Ad revenue from acquired users (in cents) |
| buy_user_income_active_roi | Yes | Ad monetization active ROI |
| game_app_act_nums | Yes | Game key actions |
| game_app_act_price | Yes | Game key action cost (in cents) |
| pay_nums | Yes | Purchases |
| pay_per_price | Yes | Cost per payment (in cents) |
2.5 Ingestion rules
- Because game detail data is aggregated data, we use a fixed value as its user identifier. You can think of all data as attached to one virtual user
- The fdate field in the data, that is, the data aggregation time, is used as the event's #event_time
- The default event name is: oppo_game_offline_data
- All fields in transfer.fields_whitelist are ingested
2.6 Standardized fields
The AE system standardizes the following fields:
| Original field | Standardized field | Description |
|---|---|---|
| owner_id | te_ads_object.ad_account_id | Ad account ID |
| plan_id | te_ads_object.campaign_id | Campaign ID |
| plan_name | te_ads_object.campaign_name | Campaign name |
| group_id | te_ads_object.ad_group_id | Ad group ID |
| group_name | te_ads_object.ad_group_name | Ad group name |
| ad_id | te_ads_object.ad_id | Ad ID |
| ad_name | te_ads_object.ad_name | Ad name |
| app_name | te_ads_object.app_name | App name |
| expose_nums | te_ads_object.impressions | Impressions |
| click_nums | te_ads_object.clicks | Clicks |
| down_cnt | te_ads_object.installs | Conversions |
| ad_price | te_ads_object.cost | Paid acquisition cost, divided by 100, in CNY |
| buy_user_income_active | te_ads_object.revenue | Monetization revenue, divided by 100, in CNY |

