Campaign Information
The campaign information data export contains all campaign configuration settings for each supported ad type.
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 Campaign Information
Changes from Version 2.0 to Version 3.0
Schema Updates:
Version 3.0 introduces new schemas for campaign configurations, ad formats, and campaign targeting options.
File Path Structure:
Campaign data paths are separated in version 3.0 by ad format (Sponsored Products, Sponsored Brands, and Sponsored Display) to simplify consumption and streamline integration.
File Name Changes:
The campaign_config_snapshot file replaces the campaign digest file (campaign_digest) provided in Data Export 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}/{data_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}/v3/campaign_config_snapshot/ad_type/{ad format}/YYYY-MM-DD/data-*
campaign_config_snapshot
- The campaign_config_snapshot contains all campaign configuration settings for each ad type (Sponsored Products, Sponsored Brands, and Sponsored Display), separated into unique storage paths. These paths replace the campaign_digest used in version 2.0
Campaign Information Schema
For customers using Data Export version 1.0 please see our v1.1 Guide for more information.
Standard Values
Arrays
ARRAY values are represented natively as lists of structured objects when the data type is RECORD or primitive values for data types such as STRING or INTEGER.
-
An array can be empty [ ] if there are no values
-
An array can contain more than 1 object for fields such as assets in the campaign_config_snapshot, where each element holds the full details for 1 asset.
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.
Required
REQUIRED values are always present in the exported data files.
Data Type
Records
RECORD containers (STRUCT with named elements) are nested groups of fields and may contain multiple subfields, for example, an asset's ID, type, dimensions, etc. These nested groups of fields are not single values and should not be treated as JSON. Customers should access these fields natively, extracting or filtering on subfield values as required.
When using analytic tools, reference the subfields using dot notation, for nested structures, use additional dots. For example assets.asset_id
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.
Schema campaign_config_snapshot
| Field name | Sub field | Sub field | Sub field | Type | Mode | Description |
|---|---|---|---|---|---|---|
| ad_account_id | STRING | REQUIRED | The unique ID assigned to the ad account which owns the campaign. | |||
| campaign_id | STRING | REQUIRED | The unique identifier of the campaign. | |||
| campaign_title | STRING | REQUIRED | The descriptive name of the campaign. | |||
| ad_type | STRING | NULLABLE | Displays the ad type for the campaign. SPONSORED_PRODUCTS SPONSORED_BRANDS SPONSORED_DISPLAY | |||
| assets | RECORD | REQUIRED | A container for the brand and display asset information for the campaign. The field is only provided for Sponsored Brands and Sponsored Display. | |||
| list | RECORD | ARRAY | Appears when the PARQUET file is converted into an analytic system. Schema structure is found in the PARQUET metadata. | |||
| element | RECORD | REQUIRED | Appears when the PARQUET file is converted into an analytic system. | |||
| asset_id | STRING | REQUIRED | Unique ID of the asset. | |||
| active | BOOLEAN | REQUIRED | Asset status true (active) or false (inactive) | |||
| review_ status | STRING | NULLABLE | Asset review status. APPROVED PENDING IN_REVIEW REJECTED | |||
| landing_pages | RECORD | REQUIRED | A container for landing options associated with the campaign. The field is only provided for Sponsored Brands and Sponsored Display. | |||
| list | RECORD | ARRAY | Appears when the PARQUET file is converted into an analytic system. Schema structure is found in the PARQUET metadata. | |||
| element | RECORD | REQUIRED | Appears when the PARQUET file is converted into an analytic system. | |||
| type | STRING | REQUIRED | Landing option type CUSTOM_URL PRODUCT_DETAIL PRODUCT_LIST | |||
| active | BOOLEAN | REQUIRED | Status of the landing option. true (active) or false (inactive) | |||
| setting | STRING | NULLABLE | Configuration values for the landing option type. CUSTOM_URL PRODUCT_DETAIL PRODUCT_LIST | |||
| schedule_start | STRING | REQUIRED | Scheduled start time for the campaign. | |||
| schedule_end | STRING | NULLABLE | Scheduled end time for the campaign. | |||
| budget | RECORD | NULLABLE | Budget for the campaign | |||
| period | STRING | NULLABLE | Budget period for the campaign. DAILY WEEKLY | |||
| amount_ micro | INTEGER | NULLABLE | A monetary amount in micro units using the currency set on the platform | |||
| goal_type | STRING | NULLABLE | Describes which cost-metric goal for a campaign. FIXED_CPC OPTIMIZE_ROAS FIXED_COMMISSION_RATE FIXED_CPM | |||
| target_cpc | STRING | NULLABLE | A monetary amount in micro units using the currency set on the platform | |||
| target_cpm | STRING | NULLABLE | A monetary amount in micro units using the currency set on the platform | |||
| target_roas | STRING | NULLABLE | Target ROAS percentage. | |||
| commission_rate | STRING | NULLABLE | The percentage an ad platform or intermediary charges for facilitating a pay-per-order (PPO) advertising campaign. | |||
| catalog_item_ids | RECORD | REQUIRED | The unique item / product IDs found in the catalog. Note: An item can belong to multiple campaigns. | |||
| list | RECORD | ARRAY | Appears when the PARQUET file is converted into an analytic system. | |||
| element | STRING | REQUIRED | Appears when the PARQUET file is converted into an analytic system. | |||
| item_selection_type | STRING | NULLABLE | The item selection type used for a campaign MANUAL_SELECTION SMART_SELECTION | |||
| active | BOOLEAN | REQUIRED | The state of the campaign. true (active) false (inactive) | |||
| created_at | STRING | REQUIRED | The timestamp when the campaign was created. | |||
| updated_at | STRING | REQUIRED | The timestamp when the campaign was last updated. | |||
| enabling_state | STRING | REQUIRED | The status of the campaign’s ability to serve ads. ENABLED DISABLED |
Version 2.0
Version 2.0 Campaign Information
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}/{data_type}/{date}/{file_name}
gs://mcm-export-platform-name/v2/r0/campaign_digest/2025-09-01/data-000000000000.parquet
Example:
gs://mcm-export-platform-name/v2/r0/campaign_digest/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_digest
The campaign_digest files contain all campaign configuration settings for all supported ad types. Please see the schema below for field names and descriptions.
NoteAll timestamps are provided in RFC3339 format and are based on the platform's timezone. This includes:
creative.created_at,creative.updated_at,schedule_start,schedule_end,created_at,updated_at,timestamp
| Field name | Sub field name | Type | Mode | Description |
|---|---|---|---|---|
| ad_account_id | STRING | REQUIRED | The id of the ad account that owns this campaign. It is platform-specific ad_account_id. Value and format can vary according to each Platform. | |
| campaign_id | STRING | REQUIRED | The unique identifier of the campaign. | |
| campaign_title | STRING | NULLABLE | A descriptive name of the campaign. | |
| creative | STRING | REPEATED | A container for all the creative asset information associated with the campaign. This field will only be provided when the creative configuration is enabled. | |
| id | STRING | NULLABLE | The unique identifier of the creative. | |
| title | STRING | NULLABLE | Title of the creative. It is often set as the file name of the image. | |
| review_status | STRING | NULLABLE | The review status of the creative. e.g., APPROVED, IN_REVIEW, REJECTED | |
| created_at | STRING | NULLABLE | The timestamp when the creative was first created. | |
| updated_at | STRING | NULLABLE | The timestamp when the campaign was last updated. | |
| schedule_start | STRING | NULLABLE | The scheduled start time for the campaign. | |
| schedule_end | STRING | NULLABLE | The scheduled end time for the campaign. | |
| daily_budget | INTEGER | NULLABLE | A monetary amount in a specific currency; the unit is micro at fixed point value for accurate accumulation operation. | |
| goal_type | STRING | NULLABLE | CampaignGoal describes which cost-metric goal a campaign aims for. e.g., UNKNOWN_TYPE OPTIMIZE_NONE FIXED_CPC OPTIMIZE_ROAS FIXED_COMMISSION_RATE FIXED_CPM | |
| target_cpc | STRING | NULLABLE | A monetary amount in a specific currency; the unit is micro at fixed point value for accurate accumulation operation. | |
| target_cpm | STRING | NULLABLE | A monetary amount in a specific currency; the unit is micro at fixed point value for accurate accumulation operation. | |
| target_roas | STRING | NULLABLE | Target ROAS in percent. | |
| catalog_item_ids | STRING | REPEATED | List of catalog items belonging to the campaign. A catalog item id can be a product id or deal id in the catalogs. Note that an item can belong to multiple campaigns. | |
| state | BOOLEAN | NULLABLE | The state of the campaign. true(active) or false(inactive) | |
| created_at | STRING | NULLABLE | The timestamp when the campaign was first created. | |
| updated_at | STRING | NULLABLE | The timestamp when the campaign was last updated. | |
| enabling_state | STRING | NULLABLE | The status of the campaign's enabling condition, which determines its ability to run. e.g., UNKNOWN_STATE, ENABLED, DISABLED | |
| offsite_setting_budget | INTEGER | NULLABLE | The budget allocated for offsite settings within the campaign. | |
| timestamp | STRING | NULLABLE | The timestamp when the snapshot of the campaign was taken. |
Version 1.0
For customers using Data Export version 1.0 please see Guide v1.1.
FAQ
Please see the MCM FAQ.
Updated 11 days ago
