Skip to main content

vivo Marketing Platform integration plan

Last updated 10/05/2026
tip

Note that data generated by third-party data integration counts toward the cluster's data consumption

Summary​

Interface overview​

InterfaceTypeGranularityAttributionCostRevenueImpressionsClicksConversions
Ad performance dataAPIAggregated metrics✅✅✅✅

Currently, AE supports ingesting ad performance data from the vivo Marketing Platform Marketing API, including aggregated metrics such as cost, clicks, and impressions at the ad creative level

Integration process​

  1. Log in to the AE backend, go to the Third-party Integration module, add a vivo integration plan, complete the related configuration, and copy the authorization callback URL
  2. Log in to the vivo developer backend, get a developer account, create an app, and collect the required authorization information
  3. Go back to the AE backend, edit the vivo integration plan you created earlier to use the app's Client ID and secret, and open the authorization link to complete authorization
  4. Check whether the AE system receives the data successfully, and build reports

1. Plan configuration​

Before ingesting data from the vivo platform, create an integration plan in the AE backend and get the authorization callback URL. Follow this document to create the integration plan

1.1 Enter temporary authorization information​

First, click the Configure authorization information button in the authorization information section. In the authorization information pop-up, enter any values in the three authorization fields as temporary authorization information. You'll need to update them after you create the app on the vivo platform.

1.2 Sync Schedule​

In the Sync Schedule module, you can set the policy for the AE system to pull vivo Marketing API 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

1.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.

1.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:

ModuleNameDescription
sink_eventevent_nameEvent name after ingestion; customizable
source

time_granularity

Time aggregation granularity of the data, that is, whether the pulled data is aggregated by day or by hour

Valid values: DAY, HOUR

report_types

Data level. You can select only one data level

Values: ACCOUNT (account level), CAMPAIGN (campaign level), GROUP (ad group level), ADVERTISEMENT (ad level), CREATIVE (creative level, the default level)

1.5 Get the authorization callback URL​

After completing the above configuration, click Save and authorize in the upper-right corner to get the authorization information. Copy the authorization callback URL from the first step and keep it safe. Then click Reject authorization. to close the pop-up:

The plan is saved when you click Save and authorize, so you don't need to save it separately. You have now finished the configuration in the AE backend for the time being. Next, complete the related configuration in the vivo backend.

2. Get a developer account and create an app​

After creating the integration plan in the AE backend, you also need to prepare an app on the vivo developer platform. If you have already created a vivo developer app, you can skip this section

2.1 Get a developer account​

Before connecting to the vivo Marketing API, you first need to get a developer account. Go to the developer website and click the Log in button in the upper-right corner to open the login page. Log in with the marketing platform account of your secondary agency account or advertiser account.

2.2 Apply for and create an app​

After you log in with your marketing platform account and become a developer, go to the app management dashboard:

Click the New App button in the upper-right corner to open the app creation page:

Edit the configuration as described below, and then click Submit to create the app

  • App icon: Customizable. A 250 x 250 px app icon smaller than 50kb.

  • App name: Customizable. Up to 15 characters

  • Callback URL: Enter the callback URL you got from the vivo integration plan in the AE backend

  • App description: Describe the features your app wants to implement with the Marketing API and why these features should pass review. For example, you can explain that you need to send ad insights data back to your own analytics platform

  • Token validity period:

    • Access Token validity period: How long access tokens under this app remain valid
    • Refresh Token validity period: How long refresh tokens under this app remain valid. It must be longer than the access token validity period

vivo reviewers will then review the app within 2-3 business days. Continue with the next steps after the review is complete.

2.3 Get the Client ID and Client Secret​

Go back to the vivo developer platform and get the clientId and Secret of the app you created on the My Apps page. These are the Client ID and Client Secret

2.4 Get the ad account ID​

Finally, you also need the ID of the ad account whose data you want to pull. Log in to the vivo marketing backend and click Account Management in the menu in the upper-right corner. You can find the account ID on the account information tab in the account center section.

3. Go back to the AE backend and complete authorization​

After completing the configuration in the vivo backend, go back to the AE backend, open the vivo integration plan you created earlier, and click the Configure authorization information button in the authorization information section:

Next, enter the Client ID and Client Secret you got from the vivo backend in the corresponding fields, and enter the ad account ID you got in the previous step in Advertiser ID. When you finish, click the Save button:

Then click Save and authorize in the upper-right corner to open the authorization information pop-up again. Click Go to authorization to open the authorization page of the vivo platform

If you have a vivo advertiser account, we recommend logging in with the advertiser account directly.

After completing authorization, in Authorization Information, click I have completed the above two steps in the lower-left corner, and then click Complete Authorization in the lower-right corner to finish the configuration. You have now completed the data integration for the vivo platform.

4. Data ingestion​

4.1 Ingestion rules​

  • Because the creative report is aggregated data, we use a fixed value as the user identifier. You can think of all the data as attached to one virtual user
  • The reportdate or reporttime field in the data, that is, the data aggregation time, is used as the event's #event_time
  • The default event name is: vivo_ads_data
  • All other fields are ingested

4.2 Included fields​

The ad creative data supports pulling the following fields:

Field nameName and notes
campaignidCampaign ID
campaignnameCampaign name
mediatypeCampaign type
groupidAd set ID
groupnameAd group name
advertisementidAd ID
advertisementnameAd name
creativeidCreative ID
placetypeAd placement type. For details, see Appendix - Ad placement enumeration (ad reports)
apppackagePackage name
cvtypeConversion type. For details, see Appendix - Ad group conversion goal types
reportdateReport time, returned when querying by day, in the format: 20200824
reporttimeReport time, returned when querying by hour, in the format: 2020-06-28 11:00:00
advertiseridAdvertiser ID
showcountImpressions
clickcountClicks
downloadcountDownloads
spentSpend
activatecountNew activations
registercountGame registrations
formsubmitcountForm submissions
normalactivatecountStandard activations
backactivatecountCustom activations
backregistercountCustom registrations
adddesktopcountAdd-to-desktop count
customretaincountCustom next-day retention count
gamepaycountGame payments
custompaycountCustom payments
reactivationCustom reactivations
webpayWeb purchases
gameappointmentGame pre-registrations
buttonclickButton clicks
fastapppayQuick app payments
personalizedeventsPersonalized events
activatecNew activations (by billing time)
backactivatecCustom activations (by billing time)
registercGame registrations (by billing time)
backregistercCustom registrations (by billing time)
adddesktopcAdd-to-desktop count (by billing time)
cdownloadcountDownloads (by billing time)
customretaincCustom next-day retention count (by billing time)
gamepaycGame payments (by billing time)
custompaycCustom payments (by billing time)
reactivationcCustom reactivations (by billing time)
gameappointmentcGame pre-registrations (by billing time)
firstdayrecoveryadmonetizationcFirst-day revenue - ad monetization (by billing time)
totalrecoveryadmonetizationcCumulative revenue - ad monetization (by billing time)
firstdayrecoverypaidrechargecFirst-day revenue - in-app purchases (by billing time)
totalrecoverypaidrechargecCumulative revenue - in-app purchases (by billing time)
cfastapppayQuick app payments (by billing time)
cpersonalizedeventsPersonalized events (by billing time)
cnormalactivatecountStandard activations (by billing time)
ccreditcountCustom credit approvals (by billing time)
cinstalldonecountCompleted installs (by billing time)
wechatgameregistercWeChat mini game registrations (by billing time)
wechatgamepaycWeChat mini game payments (by billing time)
creactivationretentioncountCustom next-day retention count of reactivated users (by billing time)
creditcountCustom credit approvals (by conversion time)
installdonecountCompleted installs (by conversion time)
wechatgameregistercountWeChat mini game registrations (by conversion time)
wechatgamepaycountWeChat mini game payments (by conversion time)
reactivationretentioncountCustom next-day retention count of reactivated users (by conversion time)
reservecountCalendar reservations (by conversion time)
identifycodecountWeChat - QR code scans
addwechatmpacountWeChat - WeChat contacts added
dialoguempacountWeChat - users' first messages
onedialoguecountValid inquiries
firstdayrecoverypaidcountFirst payments on the first day in game
tacountTarget users (by conversion time)
ctacountTarget users (by billing time)
payonetimecountApp payments (by conversion time)
cpayonetimecountApp payments (by billing time)
payonetimeamountApp payment amount (by conversion time), in milli-cents (one-thousandth of a cent). 1 CNY = 100000 milli-cents
cpayonetimeamountApp payment amount (by billing time), in milli-cents (one-thousandth of a cent). 1 CNY = 100000 milli-cents

4.3 Standardized fields​

The AE system standardizes the following fields:

Original fieldStandardized fieldDescription
advertiseridte_ads_object.ad_account_idAd account ID
campaignidte_ads_object.campaign_idCampaign ID
campaignnamete_ads_object.campaign_nameCampaign name
groupidte_ads_object.ad_group_idAd group ID
groupnamete_ads_object.ad_group_nameAd group name
advertisementidte_ads_object.ad_idAd creative ID
advertisementnamete_ads_object.ad_nameAd creative name
showcountte_ads_object.impressionsImpressions
clickcountte_ads_object.clicksClicks
activatecountte_ads_object.installsConversions
spentte_ads_object.costUser acquisition cost
Was this page helpful?