Introduction

The forecast feature provides daily campaign performance estimations, including impressions, clicks, and purchases. Forecast predicts campaign performance based on historical data of the items in the campaign and the specified bidding strategy. Using predictive analytics allows advertisers to estimate the performance of their campaigns before they go live.

Enabling Forecast

To enable forecast, the following conditions must be met:

  1. Advertiser Guidance must be enabled for the platform.
  2. The campaign type must be a Sponsored Products campaign. (“ad_type”: “ITEM”)

Using Forecast

To see the forecast while creating a Sponsored Products campaign, the following conditions must be met:

  1. Enter a budget of at least the guided_budget_micro value provided by the ReadCampaignGuidance.
  2. Select at least one item.

📘

Note

The selected item(s) should have approximately 1 month of event data to calculate the metrics. If the forecast is not displayed add more items to the campaign.

  1. Select the OPTIMIZE_ROAS or FIXED_CPC goal type.
  2. Use the ROAS or CPC that falls within the guided_roas or guided_cpc_micro range provided by the ReadCampaignGuidance.

Once all necessary information is entered, the forecast dynamically computes performance metrics based on historical data, helping advertisers understand potential campaign outcomes.

📘

Note

The forecast composition may evolve over time to incorporate new data insights and market trends.

Limitations

  • Forecast does not account for seasonal variations or market demand changes during the campaign.
  • Forecast is not available for PPO campaigns. Instead, you may use the FIXED_COMMISSION_RATE guidance for PPO campaigns, which provides estimated results (expected_metrics) based on the current settings with the guided commission rate. For more details, refer to this guide.

API Guidance

Request

POST
https://<platform>-mgmt.mcm-api.moloco.com/mcm/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-forecast

Query Parameters

  • campaign_id: ID of a campaign to be guided.
  • goal_type: Goal type of the new campaign to be guided.

Body Parameters

  • forecast_campaign: The campaign information for forecasting.
FieldRequiredDescriptionFormatExample
idOptionalCampaign ID. Required only for an existing campaign.stringxee923x
ad_typeRequiredCampaign ad type. UseITEM type.stringITEM
goalRequiredCampaign goal. Use FIXED_CPC or OPTIMIZE_ROAS.objectFixed CPC
"type": "FIXED_CPC", "optimize_fixed_cpc": { "target_cpc": { "amount_micro": 150000000 } }

Optimize ROAS
"type": "OPTIMIZE_ROAS", "optimize_roas": { "target_roas": 1000 }
budgetRequiredCampaign budgetobject"period": "DAILY", "amount": { "currency": "KRW", "amount_micro": 2000000, }
item_optionRequiredCampaign’s item option. Provide a campaign item list or use the include_all option.objectCampaign item list
"item_list": ["1", "2"]

Include every item from the given ad account
"include_all": true

Request Example

POST
https://<platform>-mgmt.rmp-api.moloco.com/rmp/mgmt/v1/platforms/{platform_id}/ad-accounts/{ad_account_id}/campaign-forecast

// Sample request body
{
  "forecast_campaign": { // Required.
    "ad_type": "ITEM", // Required.
    "goal": { // Required.
      "type": "FIXED_CPC", // Required.
      "optimize_fixed_cpc": {
        "target_cpc": {
          "amount_micro": 150000000
        }
      }
    },
    "budget": { // Required.
      "period": "DAILY", // Required.
      "amount": { // Required.
        "currency": "KRW", // Required.
        "amount_micro": 2000000, // Required.
      }
    },
    "item_option": { // Required.
      "item_list": ["1", "2"]
    }
  }
}

Response

  • status
    • OK: The forecast is available
    • NOT_IN_GUIDANCE_RANGE: The forecast is unavailable; the campaign setting is not in the guidance range.
    • NO_ITEMS_AVAILABLE: The forecast is unavailable; no forecast information is available for the given items.
  • imp
    • min: The minimum range of impressions
    • max: The maximum range of impressions
  • click
    • min: The minimum range of clicks
    • max: The maximum range of clicks
  • purchase
    • min: The minimum range of purchases
    • max: The maximum range of purchases

Sample response

// Sample response body
{
  "status": "OK",
  "imp": {
    "min": 2400,
    "max": 3600,
  },
  "click": {
    "min": 40,
    "max": 60,
  },
  "purchase": {
    "min": 48000000,
    "max": 72000000,
  },
}