--- v22/resources/campaign.proto 2026-02-25 22:50:25.000000000 +0000 +++ v23/resources/campaign.proto 2026-02-25 22:50:33.000000000 +0000 @@ -397,13 +399,58 @@ // Type of interaction *on the previous step* required in order for the // user to advance to this step. As with the previous step ID, it's // required for every step except for the first one. - google.ads.googleads.v22.enums.VideoAdSequenceInteractionTypeEnum + google.ads.googleads.v23.enums.VideoAdSequenceInteractionTypeEnum .VideoAdSequenceInteractionType previous_step_interaction_type = 5; } + // Container for ad category self-disclosure for campaigns with the + // FIXED_CPM or FIXED_SHARE_OF_VOICE bidding strategies. + message ReservationAdCategorySelfDisclosure { + // The campaign is expected to contain gambling-related ads. + bool gambling = 1; + + // The campaign is expected to contain alcohol-related ads. + bool alcohol = 2; + + // The campaign is expected to contain politics-related ads. + bool politics = 3; + } + + // Container for booking details for campaigns with the FIXED_CPM or + // FIXED_SHARE_OF_VOICE bidding strategies. + message BookingDetails { + // Output only. The status of the booking. + google.ads.googleads.v23.enums.BookingStatusEnum.BookingStatus status = 1 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time until which booked inventory will be held or has been + // held for this campaign. Available for status HELD and HOLD_EXPIRED. + // Format is "yyyy-MM-dd HH:mm:ss" in the customer's time zone. + string hold_expiration_date_time = 2 + [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Time when the booked inventory of this campaign will be + // cancelled or has been cancelled. Available for primary status + // NOT_ELIGIBLE if the campaign will be cancelled and for primary status + // reason BOOKING_CANCELLED. Format is "yyyy-MM-dd HH:mm:ss" in the + // customer's time zone. + string cancellation_date_time = 3 + [(google.api.field_behavior) = OUTPUT_ONLY]; + } + // Container for video ads sequencing definition. VideoAdSequence video_ad_sequence = 4; + // Ad category self-disclosure for campaigns with the FIXED_CPM or + // FIXED_SHARE_OF_VOICE bidding strategies. + ReservationAdCategorySelfDisclosure + reservation_ad_category_self_disclosure = 5; + + // Output only. Booking information for campaigns with the FIXED_CPM or + // FIXED_SHARE_OF_VOICE bidding strategies. + BookingDetails booking_details = 6 + [(google.api.field_behavior) = OUTPUT_ONLY]; + // Controls for defining video responsive ads behavior. oneof fluidity_control { // Inventory control for video responsive ads in reach campaigns. @@ -457,6 +504,31 @@ string predefined_font_family = 3; } + // Settings to control automatically generated text assets. + message TextGuidelines { + // Exact words or phrases that will be excluded from generated text + // assets. At most 25 exclusions may be provided. Valid exclusions may + // contain a maximum of 30 characters. + repeated string term_exclusions = 1; + + // Freeform instructions that will be used to guide text asset generation + // using LLM inference. At most 40 restrictions may be provided. + repeated MessagingRestriction messaging_restrictions = 2; + } + + // Freeform instructions that will be used to guide text asset generation + // using LLM inference. + message MessagingRestriction { + // Freeform instructions to guide text asset generation using LLM + // inference. Valid instructions may contain a maximum of 300 characters. + string restriction_text = 1; + + // Determines how the guideline is applied. Only + // `RESTRICTION_BASED_EXCLUSION` is currently supported. + google.ads.googleads.v23.enums.MessagingRestrictionTypeEnum + .MessagingRestrictionType restriction_type = 2; + } + // Settings for AI Max in search campaigns. message AiMaxSetting { // Enum describing whether AI Max must be enabled to serve and update @@ -686,20 +758,23 @@ } ]; - // The date when campaign started in serving customer's timezone in YYYY-MM-DD - // format. - optional string start_date = 63; - // The resource name of the campaign group that this campaign belongs to. optional string campaign_group = 76 [(google.api.resource_reference) = { type: "googleads.googleapis.com/CampaignGroup" }]; - // The last day of the campaign in serving customer's timezone in YYYY-MM-DD - // format. On create, defaults to 2037-12-30, which means the campaign will - // run indefinitely. To set an existing campaign to run indefinitely, set this - // field to 2037-12-30. - optional string end_date = 64; + // The date and time when campaign started in serving. The timestamp is in + // the customer's time zone and in "yyyy-MM-dd HH:mm:ss" format. Set the time + // component to 00:00:00 for daily granularity, time granularity is only + // supported for some campaign types. + optional string start_date_time = 104; + + // The last day and time of the campaign in serving customer's timezone in + // "yyyy-MM-dd HH:mm:ss" format. Set the time component to 23:59:59 for daily + // granularity, time granularity is only supported for some campaign types. On + // create, defaults to running indefinitely. To set an existing campaign to + // run indefinitely, clear this field. + optional string end_date_time = 105; // Suffix used to append query parameters to landing pages that are served // with parallel tracking. @@ -824,8 +899,13 @@ // used for Performance Max campaigns that have Brand Guidelines enabled. BrandGuidelines brand_guidelines = 98; + // Settings to control automatically generated text assets. Only available + // in Performance Max and Search campaigns (Brand Guidelines does not need + // to be enabled). + TextGuidelines text_guidelines = 107; + // Third-Party integration partners. - google.ads.googleads.v22.common.CampaignThirdPartyIntegrationPartners + google.ads.googleads.v23.common.CampaignThirdPartyIntegrationPartners third_party_integration_partners = 100; // Settings for AI Max in search campaigns.
/resources/campaign.proto
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-02-25 UTC.