Moloco Integration
Beta
The Moloco integration is still being verified with live advertiser accounts. If adstage numbers differ from the Moloco console, please let the adstage support team know.
In adstage, you can automatically collect spend, impressions, clicks, and installs for your Moloco Ads campaigns and review them in reports. There is no sign-in flow — you enter an API key and an ad account ID issued in Moloco Ads Manager. The integration consists of a single Cost Integration tab under Integrations > Ad Channel Integration > Moloco.
1. Integration Overview
| Feature | Supported | Description |
|---|---|---|
| Cost collection | Supported | Spend, impressions, clicks, and installs per campaign, collected automatically every 4 hours |
| Click attribution | Confirm with your rep | Moloco's documentation covers tracking links from its listed measurement partners (MMPs) only. Ask your Moloco representative whether an adstage tracking link can be used. adstage also asked Moloco on October 8, 2026 whether custom trackers are allowed and is waiting for a reply |
| Conversion sending | Not supported | Sending adstage-measured conversions to Moloco. Moloco does not publish a postback specification for measurement partners, so this is not offered |
Collected cost is reported under the moloco.ads channel.
2. What to Prepare in Moloco
You need an ad account ID and an API key. Both come from Moloco Ads Manager (the Moloco ads console).
Finding the ad account ID
Sign in to Moloco Ads Manager and open Ad account settings below your profile. The ad account ID is shown under Ad Account Info. Note the ad account's timezone and currency on the same screen. Both are fixed when the ad account is created and cannot be changed afterwards, and you need the timezone while connecting.
Creating an API key
-
In Moloco Ads Manager, go to User settings > API Access.
-
Click Create API Key and set an expiration date. An expiration date is required.
-
Copy the generated API key.
The same steps are shown in the How to get your Moloco key box in the adstage dashboard.
Please note
- API keys are issued per workplace, up to 5 keys per workplace. If you have several ad accounts, you can share one key and add one adstage account per ad account. For an agency workplace, enter the ID of the ad account, not the workplace.
- Selecting Create as read-only API key allows Get requests only. adstage submits a report-creation request, so a read-only key may be rejected. If it is, issue a regular key instead. Whether read-only keys work has not yet been verified with a live account.
- When the key passes its expiration date or is deactivated in Moloco, collection stops and the status changes to Failed. adstage does not warn you before a Moloco key expires, so note the date and replace the key before it does.
3. Connecting Your Account
-
In the adstage dashboard, open Integrations > Ad Channel Integration, select Moloco, and open the
Cost Integrationtab. -
Turn on the Moloco Cost Integration switch. While it is off, the
Add Integration Accountbutton cannot be clicked. -
Click
Add Integration Accountto open the Moloco Cost Integration dialog, then fill in Integration Information Registration.
| Field | Required | Description |
|---|---|---|
| Account Label | Required | A name to identify this account in adstage. Any name works |
| Ad Account ID | Required | The ad account ID from Moloco Ad Account Info |
| API Key | Required | The key issued under API Access. It is masked while typing and stored encrypted |
| Ad account timezone (optional) | Optional | The timezone set on the Moloco ad account. Choose from UTC, Asia/Seoul (KST), Asia/Tokyo (JST), Asia/Shanghai (UTC+8), America/Los_Angeles, America/New_York, or Europe/London |
- Click
Integrate. While the button showsVerifying..., adstage uses your key to obtain a Moloco token and submits one report-creation request to confirm that the key is valid.
Right after connecting, the account shows the Preparing status and the first collection of the last 30 days starts immediately. Moloco generates reports asynchronously, so it usually takes a few minutes to turn Success.
Select the ad account timezone
The timezone set on the Moloco ad account is what budget spending, reporting, and billing are based on. If you leave the timezone empty in adstage, collected dates are recorded in UTC, so an ad account set to KST with no timezone selected can show day-level mismatches. If your timezone is not in the list, contact the adstage support team.
Error messages shown while connecting
| Message | Cause | What to do |
|---|---|---|
| Please fill in all required fields. | Account Label, Ad Account ID, or API Key is empty | Fill in the missing field |
| The key was rejected by Moloco. Please check the key and its permissions. | A typo in the key, an expired or deactivated key, an ad account ID the key cannot access, or a read-only key restriction | Re-check the key and the ad account ID, and issue a new key if needed |
| Could not reach Moloco to verify the key. Please try again later. | A temporary Moloco API outage or rate limiting | Try again shortly |
| This account is already registered | The same ad account ID is already registered in this organization | Use the existing account, or delete it and add it again |
4. Managing Connected Accounts
Connected accounts are listed in the Cost Integration tab.
| Column | Description |
|---|---|
| Account Name | The name you entered when adding the account |
| Status | Preparing (first collection running), Success (last collection fine), Failed (Moloco rejected the key, and so on) |
| Last Data Update | When cost data was last stored |
| Management | Delete the account |
- Hover over a Failed badge to see a summary and the raw error under
Details. Failed accounts are retried every cycle, so the status returns to Success automatically once the cause is fixed. Temporary rate limits or Moloco outages do not change the status. - Even with no data because no ads ran, the status stays Success as long as the connection itself works. If no cost data has been stored for more than 3 days, a warning appears next to the status, and hovering shows an Action Required note saying that no cost data has been collected for N days.
- To replace an API key, delete the account with the icon in the Management column and add it again with the new key. There is no way to edit a stored key on screen.
- Turning the Moloco Cost Integration switch off stops collection for every Moloco account in the organization. The accounts remain, so collection resumes when you turn the switch back on.
Please note
Deleting an account stops its data collection. Data already collected is kept in adstage, but no new data is collected.
5. Collected Data
| Item | Description |
|---|---|
| Collection interval | Every 4 hours (01:00, 05:00, 09:00, 13:00, 17:00, and 21:00 KST) |
| Update range | Last 30 days (D-30 to D-1, excluding the day of the update). The whole range is re-fetched and refreshed on every update |
| Data level | Campaign level (date by campaign) |
| Metrics | Spend, impressions, clicks, installs |
| Currency | The ad account's contract currency (USD, KRW, JPY, GBP, or EUR). Also converted to and stored in your organization's base currency |
| Timezone | The ad account timezone selected while connecting. Recorded in UTC if none is selected |
| Channel name | moloco.ads |
In reports, metric names carry (Channel) to mark values reported by the ad platform.
| Report metric | Moloco value |
|---|---|
| Ad Spend (Channel) | Spend |
| Impressions (Channel) | Impressions |
| Clicks (Channel) | Clicks |
| Conversions (Channel) | Installs as counted by Moloco |
| Conversion Value (Channel) | Not collected. Use purchase revenue measured by the adstage SDK instead |
Good to know
- Conversions (Channel) is the install count Moloco counts on its own. It is a different value from installs attributed by adstage through a tracking link.
- Moloco recommends retrieving the previous day's data after 3 a.m. in the ad account's timezone. Figures collected before then are re-fetched and refreshed in the next cycle.
- When the same date and campaign arrive as several rows, they are summed before being stored.
- Rows where spend, impressions, clicks, and installs are all zero are not stored.
6. Tracking Links and Conversion Sending
Tracking links
Moloco requires attribution to be configured with an MMP (measurement partner) before campaigns can run, and the MMPs its documentation lists are AppsFlyer, Adjust, Singular, Branch, Kochava, Airbridge, Adbrix Remastered, Tenjin, Justtrack, and Gamesight. When you register a tracking link under Assets > Tracking Links in the Moloco console, the Tracking Company field is filled automatically with the MMP associated with your app, so whether an adstage tracking link (adg.im) can be registered has to be confirmed with your Moloco representative. adstage asked Moloco on October 8, 2026 and is waiting for a reply; this page will be updated once the answer arrives.
For that reason adstage does not provide a Moloco tracking link template, and Moloco does not appear in the ad channel list in Deep Links > Create.
If your representative allows it, you can create a link in the Custom Deep Link tab of Deep Links > Create with moloco as the channel. Clicks, installs, and events arriving through that link are reported under the same moloco.ads channel as cost. Enter the campaign name manually, exactly as it reads in Moloco.
Conversion sending
Sending adstage-measured installs and purchases to Moloco is not offered. Moloco does not publish a postback specification for measurement partners, so there is no Moloco preset in the per-link Network Postback settings either. You can enter a specification manually if your representative provides one, but note that Moloco recommends receiving full postbacks regardless of Moloco attribution, while a network postback sends only the conversions attributed to that link.
Cost collection works without tracking links or conversion sending. Keep your existing MMP setup for Moloco-side install and conversion measurement, and use adstage alongside it for cost collection.
7. Cautions
Please note the following.
- Numbers may differ between the Moloco console and adstage because of differences in aggregation timing, timezone, and currency conversion.
- Collection stops when the API key expires or is deactivated. Issue a new key and add the account again.
- Data older than 30 days before the account was connected is not collected.
- Moloco API rate limits or outages can delay collection temporarily; adstage retries automatically in the next cycle.
- adstage only reads Moloco reports and never changes campaign settings.
8. Troubleshooting
If something goes wrong while connecting, check the following.
The account cannot be added
- Check the switch: the Moloco Cost Integration switch must be on for the
Add Integration Accountbutton to work - Check required fields: the
Integratebutton activates only after Account Label, Ad Account ID, and API Key are all filled in - Check the key: make sure the key was copied in full and has not expired or been deactivated
- Check the ad account ID: it must match Ad Account Info and belong to the workplace that issued the key
- Check the key type: if the key is read-only, issue a regular key
The status stays in Preparing
Moloco report generation can take a few minutes, and adstage waits up to about 5 minutes. If nothing changes after that, wait for the next collection cycle (up to 4 hours); if the status turns Failed, hover over it to see the cause.
No data is collected
- Check that ads ran: days where spend, impressions, clicks, and installs are all zero are not stored
- Check the update cycle: the first collection starts right after connecting, and the last 30 days (excluding today) are refreshed every 4 hours. Today's data arrives with tomorrow's updates
- Check for a warning: look for a warning next to the account status
- Check the timezone: dates may have been recorded in UTC because no ad account timezone was selected
Numbers differ from the Moloco console
- Timezone: make sure the Moloco console and the adstage report use the same timezone
- Currency: check whether you are looking at amounts converted to your organization's base currency
- Aggregation timing: Moloco values can change after the fact and are picked up when the last 30 days are re-fetched
- Metric definition: Conversions (Channel) is Moloco's own install count, separate from installs attributed by adstage through tracking links
Contact the adstage support team if you need further help.
9. Frequently Asked Questions
Is there a Moloco sign-in (OAuth) integration?
No. The Moloco reporting API is called with a token obtained from an API key, so there is no sign-in or consent step.
Can I connect with a read-only API key?
This has not been verified with a live account yet. Read-only keys allow Get requests only, while adstage submits a report-creation request, so use a regular key if the read-only key is rejected.
I have several ad accounts. How do I register them?
Add one account per ad account with Add Integration Account. API keys are issued per workplace, so you can reuse the same key and change only the ad account ID.
What should I do when the key expires?
Issue a new key in Moloco, then delete the existing account in adstage and add it again with the new key. Data already collected is kept.
Can I see installs from Moloco ads per campaign in adstage reports?
Cost and Moloco-counted installs are collected per campaign. adstage's own attribution needs a tracking link, so that will be documented together with a template once Moloco confirms whether custom trackers are allowed.
10. References
- Get started with Moloco Ads API — obtaining a token with an API key; tokens are valid for 16 hours
- Generate campaign data reports (Report API) — the report API adstage uses, and when to retrieve previous-day data
- Create and manage API key — issuing keys under User settings > API Access, expiration dates, the read-only option, and the limit of 5 keys per workplace
- Create ad accounts — where to find the ad account ID, and timezone and currency settings
- How to integrate with a mobile measurement partner (MMP) — the MMPs Moloco integrates with
- Register tracking links — how tracking links are registered and how the Tracking Company field is filled

