import type { BinaryWriteOptions } from "@protobuf-ts/runtime"; import type { IBinaryWriter } from "@protobuf-ts/runtime"; import type { BinaryReadOptions } from "@protobuf-ts/runtime"; import type { IBinaryReader } from "@protobuf-ts/runtime"; import type { PartialMessage } from "@protobuf-ts/runtime"; import { MessageType } from "@protobuf-ts/runtime"; import { DiscoveryCarouselAdInfo } from "../common/ad_type_infos"; import { DiscoveryMultiAssetAdInfo } from "../common/ad_type_infos"; import { AppPreRegistrationAdInfo } from "../common/ad_type_infos"; import { SmartCampaignAdInfo } from "../common/ad_type_infos"; import { ShoppingComparisonListingAdInfo } from "../common/ad_type_infos"; import { AppEngagementAdInfo } from "../common/ad_type_infos"; import { DisplayUploadAdInfo } from "../common/ad_type_infos"; import { LocalAdInfo } from "../common/ad_type_infos"; import { ResponsiveDisplayAdInfo } from "../common/ad_type_infos"; import { LegacyAppInstallAdInfo } from "../common/ad_type_infos"; import { AppAdInfo } from "../common/ad_type_infos"; import { LegacyResponsiveDisplayAdInfo } from "../common/ad_type_infos"; import { ResponsiveSearchAdInfo } from "../common/ad_type_infos"; import { VideoResponsiveAdInfo } from "../common/ad_type_infos"; import { VideoAdInfo } from "../common/ad_type_infos"; import { ImageAdInfo } from "../common/ad_type_infos"; import { GmailAdInfo } from "../common/ad_type_infos"; import { ShoppingProductAdInfo } from "../common/ad_type_infos"; import { ShoppingSmartAdInfo } from "../common/ad_type_infos"; import { HotelAdInfo } from "../common/ad_type_infos"; import { ExpandedDynamicSearchAdInfo } from "../common/ad_type_infos"; import { CallAdInfo } from "../common/ad_type_infos"; import { ExpandedTextAdInfo } from "../common/ad_type_infos"; import { TextAdInfo } from "../common/ad_type_infos"; import { SystemManagedResourceSourceEnum_SystemManagedResourceSource } from "../enums/system_managed_entity_source"; import { UrlCollection } from "../common/url_collection"; import { DeviceEnum_Device } from "../enums/device"; import { AdTypeEnum_AdType } from "../enums/ad_type"; import { CustomParameter } from "../common/custom_parameter"; import { FinalAppUrl } from "../common/final_app_url"; /** * An ad. * * @generated from protobuf message google.ads.googleads.v11.resources.Ad */ export interface Ad { /** * Immutable. The resource name of the ad. * Ad resource names have the form: * * `customers/{customer_id}/ads/{ad_id}` * * @generated from protobuf field: string resource_name = 37; */ resourceName: string; /** * Output only. The ID of the ad. * * @generated from protobuf field: optional int64 id = 40; */ id?: bigint; /** * The list of possible final URLs after all cross-domain redirects for the * ad. * * @generated from protobuf field: repeated string final_urls = 41; */ finalUrls: string[]; /** * A list of final app URLs that will be used on mobile if the user has the * specific app installed. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.FinalAppUrl final_app_urls = 35; */ finalAppUrls: FinalAppUrl[]; /** * The list of possible final mobile URLs after all cross-domain redirects * for the ad. * * @generated from protobuf field: repeated string final_mobile_urls = 42; */ finalMobileUrls: string[]; /** * The URL template for constructing a tracking URL. * * @generated from protobuf field: optional string tracking_url_template = 43; */ trackingUrlTemplate?: string; /** * The suffix to use when constructing a final URL. * * @generated from protobuf field: optional string final_url_suffix = 44; */ finalUrlSuffix?: string; /** * The list of mappings that can be used to substitute custom parameter tags * in a `tracking_url_template`, `final_urls`, or `mobile_final_urls`. * For mutates, use url custom parameter operations. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.CustomParameter url_custom_parameters = 10; */ urlCustomParameters: CustomParameter[]; /** * The URL that appears in the ad description for some ad formats. * * @generated from protobuf field: optional string display_url = 45; */ displayUrl?: string; /** * Output only. The type of ad. * * @generated from protobuf field: google.ads.googleads.v11.enums.AdTypeEnum.AdType type = 5; */ type: AdTypeEnum_AdType; /** * Output only. Indicates if this ad was automatically added by Google Ads and not by a * user. For example, this could happen when ads are automatically created as * suggestions for new ads based on knowledge of how existing ads are * performing. * * @generated from protobuf field: optional bool added_by_google_ads = 46; */ addedByGoogleAds?: boolean; /** * The device preference for the ad. You can only specify a preference for * mobile devices. When this preference is set the ad will be preferred over * other ads when being displayed on a mobile device. The ad can still be * displayed on other device types, for example, if no other ads are * available. If unspecified (no device preference), all devices are targeted. * This is only supported by some ad types. * * @generated from protobuf field: google.ads.googleads.v11.enums.DeviceEnum.Device device_preference = 20; */ devicePreference: DeviceEnum_Device; /** * Additional URLs for the ad that are tagged with a unique identifier that * can be referenced from other fields in the ad. * * @generated from protobuf field: repeated google.ads.googleads.v11.common.UrlCollection url_collections = 26; */ urlCollections: UrlCollection[]; /** * Immutable. The name of the ad. This is only used to be able to identify the ad. It * does not need to be unique and does not affect the served ad. The name * field is currently only supported for DisplayUploadAd, ImageAd, * ShoppingComparisonListingAd and VideoAd. * * @generated from protobuf field: optional string name = 47; */ name?: string; /** * Output only. If this ad is system managed, then this field will indicate the source. * This field is read-only. * * @generated from protobuf field: google.ads.googleads.v11.enums.SystemManagedResourceSourceEnum.SystemManagedResourceSource system_managed_resource_source = 27; */ systemManagedResourceSource: SystemManagedResourceSourceEnum_SystemManagedResourceSource; /** * @generated from protobuf oneof: ad_data */ adData: { oneofKind: "textAd"; /** * Immutable. Details pertaining to a text ad. * * @generated from protobuf field: google.ads.googleads.v11.common.TextAdInfo text_ad = 6; */ textAd: TextAdInfo; } | { oneofKind: "expandedTextAd"; /** * Details pertaining to an expanded text ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ExpandedTextAdInfo expanded_text_ad = 7; */ expandedTextAd: ExpandedTextAdInfo; } | { oneofKind: "callAd"; /** * Details pertaining to a call ad. * * @generated from protobuf field: google.ads.googleads.v11.common.CallAdInfo call_ad = 49; */ callAd: CallAdInfo; } | { oneofKind: "expandedDynamicSearchAd"; /** * Immutable. Details pertaining to an Expanded Dynamic Search Ad. * This type of ad has its headline, final URLs, and display URL * auto-generated at serving time according to domain name specific * information provided by `dynamic_search_ads_setting` linked at the * campaign level. * * @generated from protobuf field: google.ads.googleads.v11.common.ExpandedDynamicSearchAdInfo expanded_dynamic_search_ad = 14; */ expandedDynamicSearchAd: ExpandedDynamicSearchAdInfo; } | { oneofKind: "hotelAd"; /** * Details pertaining to a hotel ad. * * @generated from protobuf field: google.ads.googleads.v11.common.HotelAdInfo hotel_ad = 15; */ hotelAd: HotelAdInfo; } | { oneofKind: "shoppingSmartAd"; /** * Details pertaining to a Smart Shopping ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ShoppingSmartAdInfo shopping_smart_ad = 17; */ shoppingSmartAd: ShoppingSmartAdInfo; } | { oneofKind: "shoppingProductAd"; /** * Details pertaining to a Shopping product ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ShoppingProductAdInfo shopping_product_ad = 18; */ shoppingProductAd: ShoppingProductAdInfo; } | { oneofKind: "gmailAd"; /** * Immutable. Details pertaining to a Gmail ad. * * @generated from protobuf field: google.ads.googleads.v11.common.GmailAdInfo gmail_ad = 21; */ gmailAd: GmailAdInfo; } | { oneofKind: "imageAd"; /** * Immutable. Details pertaining to an Image ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ImageAdInfo image_ad = 22; */ imageAd: ImageAdInfo; } | { oneofKind: "videoAd"; /** * Details pertaining to a Video ad. * * @generated from protobuf field: google.ads.googleads.v11.common.VideoAdInfo video_ad = 24; */ videoAd: VideoAdInfo; } | { oneofKind: "videoResponsiveAd"; /** * Details pertaining to a Video responsive ad. * * @generated from protobuf field: google.ads.googleads.v11.common.VideoResponsiveAdInfo video_responsive_ad = 39; */ videoResponsiveAd: VideoResponsiveAdInfo; } | { oneofKind: "responsiveSearchAd"; /** * Details pertaining to a responsive search ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ResponsiveSearchAdInfo responsive_search_ad = 25; */ responsiveSearchAd: ResponsiveSearchAdInfo; } | { oneofKind: "legacyResponsiveDisplayAd"; /** * Details pertaining to a legacy responsive display ad. * * @generated from protobuf field: google.ads.googleads.v11.common.LegacyResponsiveDisplayAdInfo legacy_responsive_display_ad = 28; */ legacyResponsiveDisplayAd: LegacyResponsiveDisplayAdInfo; } | { oneofKind: "appAd"; /** * Details pertaining to an app ad. * * @generated from protobuf field: google.ads.googleads.v11.common.AppAdInfo app_ad = 29; */ appAd: AppAdInfo; } | { oneofKind: "legacyAppInstallAd"; /** * Immutable. Details pertaining to a legacy app install ad. * * @generated from protobuf field: google.ads.googleads.v11.common.LegacyAppInstallAdInfo legacy_app_install_ad = 30; */ legacyAppInstallAd: LegacyAppInstallAdInfo; } | { oneofKind: "responsiveDisplayAd"; /** * Details pertaining to a responsive display ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ResponsiveDisplayAdInfo responsive_display_ad = 31; */ responsiveDisplayAd: ResponsiveDisplayAdInfo; } | { oneofKind: "localAd"; /** * Details pertaining to a local ad. * * @generated from protobuf field: google.ads.googleads.v11.common.LocalAdInfo local_ad = 32; */ localAd: LocalAdInfo; } | { oneofKind: "displayUploadAd"; /** * Details pertaining to a display upload ad. * * @generated from protobuf field: google.ads.googleads.v11.common.DisplayUploadAdInfo display_upload_ad = 33; */ displayUploadAd: DisplayUploadAdInfo; } | { oneofKind: "appEngagementAd"; /** * Details pertaining to an app engagement ad. * * @generated from protobuf field: google.ads.googleads.v11.common.AppEngagementAdInfo app_engagement_ad = 34; */ appEngagementAd: AppEngagementAdInfo; } | { oneofKind: "shoppingComparisonListingAd"; /** * Details pertaining to a Shopping Comparison Listing ad. * * @generated from protobuf field: google.ads.googleads.v11.common.ShoppingComparisonListingAdInfo shopping_comparison_listing_ad = 36; */ shoppingComparisonListingAd: ShoppingComparisonListingAdInfo; } | { oneofKind: "smartCampaignAd"; /** * Details pertaining to a Smart campaign ad. * * @generated from protobuf field: google.ads.googleads.v11.common.SmartCampaignAdInfo smart_campaign_ad = 48; */ smartCampaignAd: SmartCampaignAdInfo; } | { oneofKind: "appPreRegistrationAd"; /** * Details pertaining to an app pre-registration ad. * * @generated from protobuf field: google.ads.googleads.v11.common.AppPreRegistrationAdInfo app_pre_registration_ad = 50; */ appPreRegistrationAd: AppPreRegistrationAdInfo; } | { oneofKind: "discoveryMultiAssetAd"; /** * Details pertaining to a discovery multi asset ad. * * @generated from protobuf field: google.ads.googleads.v11.common.DiscoveryMultiAssetAdInfo discovery_multi_asset_ad = 51; */ discoveryMultiAssetAd: DiscoveryMultiAssetAdInfo; } | { oneofKind: "discoveryCarouselAd"; /** * Details pertaining to a discovery carousel ad. * * @generated from protobuf field: google.ads.googleads.v11.common.DiscoveryCarouselAdInfo discovery_carousel_ad = 52; */ discoveryCarouselAd: DiscoveryCarouselAdInfo; } | { oneofKind: undefined; }; } declare class Ad$Type extends MessageType { constructor(); create(value?: PartialMessage): Ad; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: Ad): Ad; internalBinaryWrite(message: Ad, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.resources.Ad */ export declare const Ad: Ad$Type; export {};