Ad Performance
The ad performance data export contain metrics separated by ad format and targeting options for Sponsored Products, Sponsored Brands, and Sponsored Display ad campaigns.
Version Information
If you are already using Bulk Data Export please examine the data storage path to find your version number. The version (v1, v2, or v3) can be found after the name of your platform’s storage bucket.
Format: gs://{bucket}/{version}/...
Example: gs://mcm-export-my-platform-name/v2/... indicates data export version 2.0.
Version 3.0
Version 3.0 Performance Metrics
Changes from Version 2.0 to Version 3.0
Schema Updates:
Data Export version 3.0 introduces new ad performance schemas for each ad format and campaign targeting option.
File Path Structure:
Ad performance data paths and files are separated by each ad type (Sponsored Products, Sponsored Brands, and Sponsored Display) and targeting option (audience, keyword, and placement). These individual data export files replace the campaign_summary export used in version 2.0.
Please reach out to your Moloco team to activate Data Export or migrate to the latest version.
Data Formats and Storage Paths
The storage path format has changed with the release of data export 3.0.
The{revision}information (r0, r1, r2) is no longer used, please see the examples below.
All data is stored in parquet format, delivered each day using the following path structures.
gs://{bucket}/{version}/{export_type}/{date}/{file_name}
Parameters | Description |
|---|---|
| The name of the MCM bucket for your platform.
|
| The version number (for example, |
| Reflects the data contents, campaign configuration or ad performance.
|
| YYYY-MM-DD (e.g., |
| Only the parquet file format is supported, data can be exported in multiple files within each storage path. ( |
gs://mcm-export-{platform-name}/v3/report/ad_type/{ad format}/YYYY-MM-DD/data-*
Ad performance Data Paths
Ad performance data is separated into subfolders under the report path.
gs://mcm-export-{platform-name}/v3/report/...
ad_type
A subfolder under report containing folders for each corresponding ad format, Sponsored Products, Sponsored Brands, and Sponsored Display.
gs://mcm-export-{platform}/v3/report/ad_type/sponsored_brands/...
targeting_type
A subfolder under report containing folders for each targeting option, audience, keyword, and placement. Each targeting option is separated into unique storage paths.
gs://mcm-export-{platform-name}/v3/report/targeting_type/placement/...
For customers using Data Export version 1.0 please see our v1.1 Guide for more information.
Standard Values
Nullable
NULLABLE fields may be entirely absent when the data is not relevant to the ad type or does not apply due to campaign settings. For example, when a campaign is created without an end date the field schedule_end will be NULL.
Dates
The DATE data type uses the ISO 8601 standard which is written as (YYYY-MM-DD).
STRINGS which include the date and time, such as created_at or schedule_start, use the full ISO 8601 format written as (YYYY-MM-DDTHH:MM:SSZ)
The fields
assetsandlanding_pagesare only available for Sponsored Brands and Sponsored Display campaigns.
Ad Format Schemas
Ad Formats
Sponsored Products
Field Name | Type | Mode | Description |
|---|---|---|---|
date | DATE | NULLABLE | Date of the reported data |
timezone | STRING | NULLABLE | Timezone used for the report |
currency | STRING | NULLABLE | Currency set on the platform |
platform_id | STRING | NULLABLE | Unique platform ID |
ad_account_id | STRING | NULLABLE | Unique ID assigned to the ad account which owns the campaign. |
ad_account_title | STRING | NULLABLE | The name of the ad account |
campaign_id | STRING | NULLABLE | The unique campaign ID |
campaign_title | STRING | NULLABLE | The name of the campaign. |
catalog_item_id | STRING | NULLABLE | The unique item / product ID found in the catalog. |
catalog_item_title | STRING | NULLABLE | The Item / product name |
inventory_id | STRING | NULLABLE | The unique inventory ID |
impressions | INTEGER | NULLABLE | Number of impressions |
clicks | INTEGER | NULLABLE | Number of clicks |
money_spent | INTEGER | NULLABLE | The amount spent in micro units using the currency set on the platform |
purchases | INTEGER | NULLABLE | Number of purchases |
revenues | INTEGER | NULLABLE | Revenue generated by direct purchases |
indirect_purchases | INTEGER | NULLABLE | Number of indirect purchases |
indirect_revenues | INTEGER | NULLABLE | Indirect revenue generated |
goal | STRING | NULLABLE | FIXED_CPC OPTIMIZE_ROAS MAXIMIZE_SALES |
cost_type | STRING | NULLABLE | COST_PER_CLICK COST_PER_IMP COST_PER_PURCHASE COST_PER_TIME |
Sponsored Brands
Field Name | Type | Mode | Description |
|---|---|---|---|
date | DATE | NULLABLE | Date of the reported data |
timezone | STRING | NULLABLE | Timezone used for the report |
currency | STRING | NULLABLE | Currency set on the platform |
platform_id | STRING | NULLABLE | The unique platform ID |
ad_account_id | STRING | NULLABLE | Unique ID assigned to the ad account which owns the campaign. |
ad_account_title | STRING | NULLABLE | The name of the ad account. |
campaign_id | STRING | NULLABLE | Unique campaign ID |
campaign_title | STRING | NULLABLE | The name of the campaign. |
asset_id | STRING | NULLABLE | The unique ID for each asset, such as a banner or Logo. |
catalog_item_id | STRING | NULLABLE | The unique item ID |
catalog_item_title | STRING | NULLABLE | Item or product name |
inventory_id | STRING | NULLABLE | The Unique inventory ID |
impressions_item | INTEGER | NULLABLE | Number of impressions per item |
impressions | INTEGER | NULLABLE | Number of impressions |
clicks | INTEGER | NULLABLE | Number of clicks |
money_spent | INTEGER | NULLABLE | The amount spent in micro units using the currency set on the platform |
purchases | INTEGER | NULLABLE | Number of purchases |
revenues | INTEGER | NULLABLE | Revenue generated by direct purchases |
indirect_purchases | INTEGER | NULLABLE | Number of indirect purchases |
indirect_revenues | INTEGER | NULLABLE | Revenue generated by indirect purchases |
goal | STRING | NULLABLE | FIXED_CPC |
cost_type | STRING | NULLABLE | COST_PER_CLICK COST_PER_IMP COST_PER_PURCHASE COST_PER_TIME |
Sponsored Display
Field Name | Type | Mode | Description |
|---|---|---|---|
date | DATE | NULLABLE | Date of the reported data |
timezone | STRING | NULLABLE | Timezone for reporting |
currency | STRING | NULLABLE | Currency set on the platform |
platform_id | STRING | NULLABLE | The unique platform ID |
ad_account_id | STRING | NULLABLE | Unique ID assigned to the ad account which owns the campaign. |
ad_account_title | STRING | NULLABLE | The name of the ad account. |
campaign_id | STRING | NULLABLE | The unique campaign ID |
campaign_title | STRING | NULLABLE | The name of the campaign. |
asset_id | STRING | NULLABLE | The unique ID for each asset, such as a banner or Logo. |
inventory_id | STRING | NULLABLE | The unique inventory ID |
impressions | INTEGER | NULLABLE | Number of impressions |
clicks | INTEGER | NULLABLE | Number of clicks |
money_spent | INTEGER | NULLABLE | The amount spent in micro units using the currency set on the platform |
indirect_purchases | INTEGER | NULLABLE | Number of indirect purchases |
indirect_revenues | INTEGER | NULLABLE | Revenue generated by indirect purchases |
goal | STRING | NULLABLE | FIXED_CPC FIXED_CPM |
cost_type | STRING | NULLABLE | COST_PER_CLICK COST_PER_IMP COST_PER_PURCHASE COST_PER_TIME |
Targeting Option Schemas
Targeting Options
Placement
Field Name | Type | Mode | Description |
|---|---|---|---|
date | DATE | NULLABLE | Date of the reported data |
timezone | STRING | NULLABLE | Timezone for reporting |
currency | STRING | NULLABLE | Currency set on the platform |
platform_id | STRING | NULLABLE | The unique platform ID |
ad_account_id | STRING | NULLABLE | Unique ID assigned to the ad account which owns the campaign. |
ad_account_title | STRING | NULLABLE | The name of the ad account |
campaign_id | STRING | NULLABLE | The unique campaign ID |
campaign_title | STRING | NULLABLE | The name of the campaign. |
ad_type | STRING | NULLABLE | Displays the ad type for the campaign: SPONSORED_PRODUCTS SPONSORED_BRANDS SPONSORED_DISPLAY |
placement_type | STRING | NULLABLE | Displays the selected placement options: HOME, SEARCH, CATEGORY, PRODUCT_DETAIL, CART, CHECKOUT |
impressions | INTEGER | NULLABLE | Number of impressions |
clicks | INTEGER | NULLABLE | Number of clicks |
money_spent | INTEGER | NULLABLE | The amount spent in micro units using the currency set on the platform |
purchases | INTEGER | NULLABLE | Number of purchases |
revenues | INTEGER | NULLABLE | Revenue generated by direct purchases |
indirect_purchases | INTEGER | NULLABLE | Number of indirect purchases |
indirect_revenues | INTEGER | NULLABLE | Revenue generated by indirect purchases |
Audience
Field Name | Type | Mode | Description |
|---|---|---|---|
date | DATE | NULLABLE | Date of the reported data |
timezone | STRING | NULLABLE | Timezone for reporting |
currency | STRING | NULLABLE | Currency set on the platform |
platform_id | STRING | NULLABLE | The unique platform ID |
ad_account_id | STRING | NULLABLE | Unique ID assigned to the ad account which owns the campaign |
ad_account_title | STRING | NULLABLE | The name of the ad account |
campaign_id | STRING | NULLABLE | The unique campaign ID |
campaign_title | STRING | NULLABLE | The name of the campaign |
ad_type | STRING | NULLABLE | Displays the ad type for the campaign: SPONSORED_PRODUCTS SPONSORED_BRANDS SPONSORED_DISPLAY |
audience_label | STRING | NULLABLE | Name of the audience segment. Examples: “New Customers (30d)” “VIP Members” |
impressions | INTEGER | NULLABLE | Number of impressions |
clicks | INTEGER | NULLABLE | Number of clicks |
money_spent | INTEGER | NULLABLE | The amount spent in micro units using the currency set on the platform |
purchases | INTEGER | NULLABLE | Number of purchases |
revenues | INTEGER | NULLABLE | Revenue generated by direct purchases |
indirect_purchases | INTEGER | NULLABLE | Number of indirect purchases |
indirect_revenues | INTEGER | NULLABLE | Revenue generated by indirect purchases |
Keyword
Type | Mode | Description |
|---|---|---|
DATE | NULLABLE | Associated date |
STRING | NULLABLE | Timezone for reporting |
STRING | NULLABLE | Currency for the platform |
STRING | NULLABLE | Unique platform ID |
STRING | NULLABLE | Unique ID for the ad account |
STRING | NULLABLE | Ad account name |
STRING | NULLABLE | Unique campaign ID |
STRING | NULLABLE | Campaign name |
STRING | NULLABLE | Displays the ad type for the campaign: SPONSORED_PRODUCTS SPONSORED_BRANDS SPONSORED_DISPLAY |
STRING | NULLABLE | Displays the selected keywords |
STRING | NULLABLE | The keyword match selected: EXACT PHRASE BROAD |
INTEGER | NULLABLE | Total number of shopper search queries matching the keyword |
INTEGER | NULLABLE | Number of impressions |
INTEGER | NULLABLE | Number of clicks |
INTEGER | NULLABLE | Amount spent (micro units) |
INTEGER | NULLABLE | Number of purchases |
INTEGER | NULLABLE | Revenue generated by direct purchases |
INTEGER | NULLABLE | Number of indirect purchases |
INTEGER | NULLABLE | Revenue generated by indirect purchases |
Version 2.0
Version 2.0 Performance Metrics
Data Formats and Storage Paths
All data is stored in parquet format, delivered each day into the following path structure.
Storage path format:
gs://{bucket}/{version}/{revision}/{export_type}/{date}/{file_name}
gs://mcm-export-platform-name/v2/r0/campaign_summary/2025-09-01/data-000000000000.parquet
Example:
gs://mcm-export-platform-name/v2/r0/campaign_summary/2025-09-01/data-000000000000.parquet
Parameters | Description |
|---|---|
| The name of the MCM bucket for your platform.
|
| The version number can increase when new features are added. For example, an existing schema is changed, a new dataset is added, or any other significant changes or additions are made. (e.g., |
| The revision number reflects major updates managed by Moloco. The Version number is updated when significant improvements are introduced to the service. (e.g. |
| The type of data exported. ( |
| YYYY-MM-DD (e.g., |
| Only the parquet file format is supported. There may be multiple files per export interval.
(e.g., |
Schema campaign_summary
The campaign_summary file contains all ad performance data for all supported ad types. Please see the schema below for field names and descriptions.
DATE type uses the ISO 8601 standard which is written as (YYYY-MM-DD).
STRINGS which include the date and time, such as created_at or schedule_start, use the full ISO 8601 format written as (YYYY-MM-DDTHH:MM:SSZ)
| Field name | Type | Mode | Description |
|---|---|---|---|
| date | DATE | REQUIRED | Date in 'YYYY-MM-DD'. |
| timezone | STRING | REQUIRED | Timezone used for the date field (ex. America/New_York) |
| currency | STRING | NULLABLE | Currency set on the platform |
| platform_id | STRING | REQUIRED | Unique platform ID |
| ad_account_id | STRING | REQUIRED | Unique ID assigned to the ad account which owns the campaign |
| ad_account_title | STRING | NULLABLE | The name of the ad account |
| campaign_id | STRING | REQUIRED | The unique campaign ID |
| campaign_title | STRING | NULLABLE | The name of the campaign |
| catalog_item_id | STRING | REQUIRED | The unique item / product ID found in the catalog |
| catalog_item_title | STRING | NULLABLE | The Item / product name |
| creative_id | STRING | NULLABLE | Creative id. This field will only be provided when the creative configuration is enabled. |
| creative_title | STRING | NULLABLE | Creative title. This field will only be provided when the creative configuration is enabled. |
| inventory_id | STRING | REQUIRED | The unique inventory ID |
| impressions | INTEGER | NULLABLE | Number of impressions |
| clicks | INTEGER | NULLABLE | Number of clicks |
| money_spent | INTEGER | NULLABLE | The amount spent in micro units using the currency set on the platform |
| purchases | INTEGER | NULLABLE | Number of purchases |
| revenues | INTEGER | NULLABLE | Revenue generated by direct purchases |
| goal | STRING | NULLABLE | UNKNOWN_TYPE OPTIMIZE_NONE FIXED_CPC OPTIMIZE_ROAS FIXED_COMMISSION_RATE FIXED_CPM |
| cost_type | STRING | NULLABLE | COST_PER_CLICK COST_PER_IMP COST_PER_PURCHASE COST_PER_TIME |
| indirect_purchases | INTEGER | NULLABLE | Indirect purchase count. This field will only be visible when the Halo ROAS is enabled. |
| indirect_revenues | INTEGER | NULLABLE | Money indirectly earned from the ad in micro units using the currency set on the platform. This field will only be visible when the Halo ROAS is enabled. |
Version 1.0
For customers using Data Export version 1.0 please see Guide v1.1 for more information.
FAQ
Please see the MCM FAQ.
Updated 8 days ago
