-
Notifications
You must be signed in to change notification settings - Fork 368
Add Google Ads API v23 enum values to paid media field group schemas #2113
Description
Problem
The paid media XDM schemas currently lack enum values needed to properly represent Google Ads API v23 entities. Google Ads data mapped to XDM falls back to other for many fields (campaign types, ad types, bid strategies, etc.), losing important semantic information needed for cross-platform analytics.
Proposed Changes
Add new enum values to the following paid media field groups (additive only, no breaking changes):
campaignType:performance_max,demand_gen,multi_channel,local,local_services,hotel,travel,smartadGroupType:hotel,travel,audiobidStrategyType(adgroup-level):maximize_conversion_value,manual_cpm,manual_cpv,target_cpm,target_cpv,target_cpc,percent_cpc,commission,manual_cpa,fixed_cpmbidStrategy(campaign-level): added same enum as adgroup-levelbidStrategyTypeadType:audio,call,smart,local,hotel,travelassetType:dynamic,call,app_link,booking,location,hotel_property,messageservingStatus:LIMITED,LEARNING,NOT_ELIGIBLEexperienceType:audioaudienceType:logical,rule_based,crm_based(from Google Adsuser_list_type)productSource:GOOGLE_MERCHANT_CENTERdimensionalBreakdowns.platform,position, andadPosition: kept as free-form text fields (the ingest process will maintain mappings on their side for flexibility)
Schema Design Clarifications
campaignTypemaps to Google Adsadvertising_channel_type— the primary campaign channel identitysubTypemaps to Google Adsadvertising_channel_sub_typefor non-automated variantsautomatedCampaignTypeis a cross-platform automation product classification (not a 1:1 mapping of any single platform field).PERFORMANCE_MAXremoved from this enum since it's already captured bycampaignType.isAutomatedCampaign= true for inherently automated campaign types (performance_max, smart, demand_gen) and platform automation features
Rationale
These additions are derived from a comprehensive mapping of Google Ads API v23 enum values against existing XDM fields. All new values are intentionally platform-agnostic (e.g., hotel not google_hotel) to support cross-platform paid media analytics. The platform, position, and adPosition fields remain free-form text to maintain flexibility — the ingest process will handle value mapping.
Files Changed
components/fieldgroups/paid-media/core-paid-media-campaign-details.schema.jsoncomponents/fieldgroups/paid-media/core-paid-media-adgroup-details.schema.jsoncomponents/fieldgroups/paid-media/core-paid-media-ad-details.schema.jsoncomponents/fieldgroups/paid-media/core-paid-media-asset-details.schema.jsoncomponents/fieldgroups/paid-media/core-paid-media-metadata.schema.jsoncomponents/fieldgroups/paid-media/core-paid-media-experience-details.schema.jsoncomponents/fieldgroups/paid-media/core-paid-media-dimensional-breakdowns.schema.jsoncomponents/datatypes/paid-media/paid-media-targeting.schema.json