google-ads-api-client
Version:
A friendly and exhaustive client to the google-ads-api, code generated directly from google's published protobuf schema.
538 lines (537 loc) • 21.5 kB
TypeScript
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 { QualityScoreBucketEnum_QualityScoreBucket } from "../enums/quality_score_bucket";
import { AudienceInfo } from "../common/criteria";
import { CombinedAudienceInfo } from "../common/criteria";
import { CustomAudienceInfo } from "../common/criteria";
import { CustomIntentInfo } from "../common/criteria";
import { CustomAffinityInfo } from "../common/criteria";
import { AppPaymentModelInfo } from "../common/criteria";
import { WebpageInfo } from "../common/criteria";
import { UserInterestInfo } from "../common/criteria";
import { TopicInfo } from "../common/criteria";
import { YouTubeChannelInfo } from "../common/criteria";
import { YouTubeVideoInfo } from "../common/criteria";
import { UserListInfo } from "../common/criteria";
import { ParentalStatusInfo } from "../common/criteria";
import { IncomeRangeInfo } from "../common/criteria";
import { GenderInfo } from "../common/criteria";
import { AgeRangeInfo } from "../common/criteria";
import { ListingGroupInfo } from "../common/criteria";
import { MobileApplicationInfo } from "../common/criteria";
import { MobileAppCategoryInfo } from "../common/criteria";
import { PlacementInfo } from "../common/criteria";
import { KeywordInfo } from "../common/criteria";
import { CustomParameter } from "../common/custom_parameter";
import { BiddingSourceEnum_BiddingSource } from "../enums/bidding_source";
import { AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus } from "../enums/ad_group_criterion_approval_status";
import { CriterionSystemServingStatusEnum_CriterionSystemServingStatus } from "../enums/criterion_system_serving_status";
import { CriterionTypeEnum_CriterionType } from "../enums/criterion_type";
import { AdGroupCriterionStatusEnum_AdGroupCriterionStatus } from "../enums/ad_group_criterion_status";
/**
* An ad group criterion.
*
* @generated from protobuf message google.ads.googleads.v11.resources.AdGroupCriterion
*/
export interface AdGroupCriterion {
/**
* Immutable. The resource name of the ad group criterion.
* Ad group criterion resource names have the form:
*
* `customers/{customer_id}/adGroupCriteria/{ad_group_id}~{criterion_id}`
*
* @generated from protobuf field: string resource_name = 1;
*/
resourceName: string;
/**
* Output only. The ID of the criterion.
*
* This field is ignored for mutates.
*
* @generated from protobuf field: optional int64 criterion_id = 56;
*/
criterionId?: bigint;
/**
* Output only. The display name of the criterion.
*
* This field is ignored for mutates.
*
* @generated from protobuf field: string display_name = 77;
*/
displayName: string;
/**
* The status of the criterion.
*
* This is the status of the ad group criterion entity, set by the client.
* Note: UI reports may incorporate additional information that affects
* whether a criterion is eligible to run. In some cases a criterion that's
* REMOVED in the API can still show as enabled in the UI.
* For example, campaigns by default show to users of all age ranges unless
* excluded. The UI will show each age range as "enabled", since they're
* eligible to see the ads; but AdGroupCriterion.status will show "removed",
* since no positive criterion was added.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.AdGroupCriterionStatusEnum.AdGroupCriterionStatus status = 3;
*/
status: AdGroupCriterionStatusEnum_AdGroupCriterionStatus;
/**
* Output only. Information regarding the quality of the criterion.
*
* @generated from protobuf field: google.ads.googleads.v11.resources.AdGroupCriterion.QualityInfo quality_info = 4;
*/
qualityInfo?: AdGroupCriterion_QualityInfo;
/**
* Immutable. The ad group to which the criterion belongs.
*
* @generated from protobuf field: optional string ad_group = 57;
*/
adGroup?: string;
/**
* Output only. The type of the criterion.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.CriterionTypeEnum.CriterionType type = 25;
*/
type: CriterionTypeEnum_CriterionType;
/**
* Immutable. Whether to target (`false`) or exclude (`true`) the criterion.
*
* This field is immutable. To switch a criterion from positive to negative,
* remove then re-add it.
*
* @generated from protobuf field: optional bool negative = 58;
*/
negative?: boolean;
/**
* Output only. Serving status of the criterion.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.CriterionSystemServingStatusEnum.CriterionSystemServingStatus system_serving_status = 52;
*/
systemServingStatus: CriterionSystemServingStatusEnum_CriterionSystemServingStatus;
/**
* Output only. Approval status of the criterion.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.AdGroupCriterionApprovalStatusEnum.AdGroupCriterionApprovalStatus approval_status = 53;
*/
approvalStatus: AdGroupCriterionApprovalStatusEnum_AdGroupCriterionApprovalStatus;
/**
* Output only. List of disapproval reasons of the criterion.
*
* The different reasons for disapproving a criterion can be found here:
* https://support.google.com/adspolicy/answer/6008942
*
* This field is read-only.
*
* @generated from protobuf field: repeated string disapproval_reasons = 59;
*/
disapprovalReasons: string[];
/**
* Output only. The resource names of labels attached to this ad group criterion.
*
* @generated from protobuf field: repeated string labels = 60;
*/
labels: string[];
/**
* The modifier for the bid when the criterion matches. The modifier must be
* in the range: 0.1 - 10.0. Most targetable criteria types support modifiers.
*
* @generated from protobuf field: optional double bid_modifier = 61;
*/
bidModifier?: number;
/**
* The CPC (cost-per-click) bid.
*
* @generated from protobuf field: optional int64 cpc_bid_micros = 62;
*/
cpcBidMicros?: bigint;
/**
* The CPM (cost-per-thousand viewable impressions) bid.
*
* @generated from protobuf field: optional int64 cpm_bid_micros = 63;
*/
cpmBidMicros?: bigint;
/**
* The CPV (cost-per-view) bid.
*
* @generated from protobuf field: optional int64 cpv_bid_micros = 64;
*/
cpvBidMicros?: bigint;
/**
* The CPC bid amount, expressed as a fraction of the advertised price
* for some good or service. The valid range for the fraction is [0,1) and the
* value stored here is 1,000,000 * [fraction].
*
* @generated from protobuf field: optional int64 percent_cpc_bid_micros = 65;
*/
percentCpcBidMicros?: bigint;
/**
* Output only. The effective CPC (cost-per-click) bid.
*
* @generated from protobuf field: optional int64 effective_cpc_bid_micros = 66;
*/
effectiveCpcBidMicros?: bigint;
/**
* Output only. The effective CPM (cost-per-thousand viewable impressions) bid.
*
* @generated from protobuf field: optional int64 effective_cpm_bid_micros = 67;
*/
effectiveCpmBidMicros?: bigint;
/**
* Output only. The effective CPV (cost-per-view) bid.
*
* @generated from protobuf field: optional int64 effective_cpv_bid_micros = 68;
*/
effectiveCpvBidMicros?: bigint;
/**
* Output only. The effective Percent CPC bid amount.
*
* @generated from protobuf field: optional int64 effective_percent_cpc_bid_micros = 69;
*/
effectivePercentCpcBidMicros?: bigint;
/**
* Output only. Source of the effective CPC bid.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.BiddingSourceEnum.BiddingSource effective_cpc_bid_source = 21;
*/
effectiveCpcBidSource: BiddingSourceEnum_BiddingSource;
/**
* Output only. Source of the effective CPM bid.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.BiddingSourceEnum.BiddingSource effective_cpm_bid_source = 22;
*/
effectiveCpmBidSource: BiddingSourceEnum_BiddingSource;
/**
* Output only. Source of the effective CPV bid.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.BiddingSourceEnum.BiddingSource effective_cpv_bid_source = 23;
*/
effectiveCpvBidSource: BiddingSourceEnum_BiddingSource;
/**
* Output only. Source of the effective Percent CPC bid.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.BiddingSourceEnum.BiddingSource effective_percent_cpc_bid_source = 35;
*/
effectivePercentCpcBidSource: BiddingSourceEnum_BiddingSource;
/**
* Output only. Estimates for criterion bids at various positions.
*
* @generated from protobuf field: google.ads.googleads.v11.resources.AdGroupCriterion.PositionEstimates position_estimates = 10;
*/
positionEstimates?: AdGroupCriterion_PositionEstimates;
/**
* The list of possible final URLs after all cross-domain redirects for the
* ad.
*
* @generated from protobuf field: repeated string final_urls = 70;
*/
finalUrls: string[];
/**
* The list of possible final mobile URLs after all cross-domain redirects.
*
* @generated from protobuf field: repeated string final_mobile_urls = 71;
*/
finalMobileUrls: string[];
/**
* URL template for appending params to final URL.
*
* @generated from protobuf field: optional string final_url_suffix = 72;
*/
finalUrlSuffix?: string;
/**
* The URL template for constructing a tracking URL.
*
* @generated from protobuf field: optional string tracking_url_template = 73;
*/
trackingUrlTemplate?: string;
/**
* The list of mappings used to substitute custom parameter tags in a
* `tracking_url_template`, `final_urls`, or `mobile_final_urls`.
*
* @generated from protobuf field: repeated google.ads.googleads.v11.common.CustomParameter url_custom_parameters = 14;
*/
urlCustomParameters: CustomParameter[];
/**
* @generated from protobuf oneof: criterion
*/
criterion: {
oneofKind: "keyword";
/**
* Immutable. Keyword.
*
* @generated from protobuf field: google.ads.googleads.v11.common.KeywordInfo keyword = 27;
*/
keyword: KeywordInfo;
} | {
oneofKind: "placement";
/**
* Immutable. Placement.
*
* @generated from protobuf field: google.ads.googleads.v11.common.PlacementInfo placement = 28;
*/
placement: PlacementInfo;
} | {
oneofKind: "mobileAppCategory";
/**
* Immutable. Mobile app category.
*
* @generated from protobuf field: google.ads.googleads.v11.common.MobileAppCategoryInfo mobile_app_category = 29;
*/
mobileAppCategory: MobileAppCategoryInfo;
} | {
oneofKind: "mobileApplication";
/**
* Immutable. Mobile application.
*
* @generated from protobuf field: google.ads.googleads.v11.common.MobileApplicationInfo mobile_application = 30;
*/
mobileApplication: MobileApplicationInfo;
} | {
oneofKind: "listingGroup";
/**
* Immutable. Listing group.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ListingGroupInfo listing_group = 32;
*/
listingGroup: ListingGroupInfo;
} | {
oneofKind: "ageRange";
/**
* Immutable. Age range.
*
* @generated from protobuf field: google.ads.googleads.v11.common.AgeRangeInfo age_range = 36;
*/
ageRange: AgeRangeInfo;
} | {
oneofKind: "gender";
/**
* Immutable. Gender.
*
* @generated from protobuf field: google.ads.googleads.v11.common.GenderInfo gender = 37;
*/
gender: GenderInfo;
} | {
oneofKind: "incomeRange";
/**
* Immutable. Income range.
*
* @generated from protobuf field: google.ads.googleads.v11.common.IncomeRangeInfo income_range = 38;
*/
incomeRange: IncomeRangeInfo;
} | {
oneofKind: "parentalStatus";
/**
* Immutable. Parental status.
*
* @generated from protobuf field: google.ads.googleads.v11.common.ParentalStatusInfo parental_status = 39;
*/
parentalStatus: ParentalStatusInfo;
} | {
oneofKind: "userList";
/**
* Immutable. User List.
*
* @generated from protobuf field: google.ads.googleads.v11.common.UserListInfo user_list = 42;
*/
userList: UserListInfo;
} | {
oneofKind: "youtubeVideo";
/**
* Immutable. YouTube Video.
*
* @generated from protobuf field: google.ads.googleads.v11.common.YouTubeVideoInfo youtube_video = 40;
*/
youtubeVideo: YouTubeVideoInfo;
} | {
oneofKind: "youtubeChannel";
/**
* Immutable. YouTube Channel.
*
* @generated from protobuf field: google.ads.googleads.v11.common.YouTubeChannelInfo youtube_channel = 41;
*/
youtubeChannel: YouTubeChannelInfo;
} | {
oneofKind: "topic";
/**
* Immutable. Topic.
*
* @generated from protobuf field: google.ads.googleads.v11.common.TopicInfo topic = 43;
*/
topic: TopicInfo;
} | {
oneofKind: "userInterest";
/**
* Immutable. User Interest.
*
* @generated from protobuf field: google.ads.googleads.v11.common.UserInterestInfo user_interest = 45;
*/
userInterest: UserInterestInfo;
} | {
oneofKind: "webpage";
/**
* Immutable. Webpage
*
* @generated from protobuf field: google.ads.googleads.v11.common.WebpageInfo webpage = 46;
*/
webpage: WebpageInfo;
} | {
oneofKind: "appPaymentModel";
/**
* Immutable. App Payment Model.
*
* @generated from protobuf field: google.ads.googleads.v11.common.AppPaymentModelInfo app_payment_model = 47;
*/
appPaymentModel: AppPaymentModelInfo;
} | {
oneofKind: "customAffinity";
/**
* Immutable. Custom Affinity.
*
* @generated from protobuf field: google.ads.googleads.v11.common.CustomAffinityInfo custom_affinity = 48;
*/
customAffinity: CustomAffinityInfo;
} | {
oneofKind: "customIntent";
/**
* Immutable. Custom Intent.
*
* @generated from protobuf field: google.ads.googleads.v11.common.CustomIntentInfo custom_intent = 49;
*/
customIntent: CustomIntentInfo;
} | {
oneofKind: "customAudience";
/**
* Immutable. Custom Audience.
*
* @generated from protobuf field: google.ads.googleads.v11.common.CustomAudienceInfo custom_audience = 74;
*/
customAudience: CustomAudienceInfo;
} | {
oneofKind: "combinedAudience";
/**
* Immutable. Combined Audience.
*
* @generated from protobuf field: google.ads.googleads.v11.common.CombinedAudienceInfo combined_audience = 75;
*/
combinedAudience: CombinedAudienceInfo;
} | {
oneofKind: "audience";
/**
* Immutable. Audience.
*
* @generated from protobuf field: google.ads.googleads.v11.common.AudienceInfo audience = 79;
*/
audience: AudienceInfo;
} | {
oneofKind: undefined;
};
}
/**
* A container for ad group criterion quality information.
*
* @generated from protobuf message google.ads.googleads.v11.resources.AdGroupCriterion.QualityInfo
*/
export interface AdGroupCriterion_QualityInfo {
/**
* Output only. The quality score.
*
* This field may not be populated if Google does not have enough
* information to determine a value.
*
* @generated from protobuf field: optional int32 quality_score = 5;
*/
qualityScore?: number;
/**
* Output only. The performance of the ad compared to other advertisers.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket creative_quality_score = 2;
*/
creativeQualityScore: QualityScoreBucketEnum_QualityScoreBucket;
/**
* Output only. The quality score of the landing page.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket post_click_quality_score = 3;
*/
postClickQualityScore: QualityScoreBucketEnum_QualityScoreBucket;
/**
* Output only. The click-through rate compared to that of other advertisers.
*
* @generated from protobuf field: google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket search_predicted_ctr = 4;
*/
searchPredictedCtr: QualityScoreBucketEnum_QualityScoreBucket;
}
/**
* Estimates for criterion bids at various positions.
*
* @generated from protobuf message google.ads.googleads.v11.resources.AdGroupCriterion.PositionEstimates
*/
export interface AdGroupCriterion_PositionEstimates {
/**
* Output only. The estimate of the CPC bid required for ad to be shown on first
* page of search results.
*
* @generated from protobuf field: optional int64 first_page_cpc_micros = 6;
*/
firstPageCpcMicros?: bigint;
/**
* Output only. The estimate of the CPC bid required for ad to be displayed in first
* position, at the top of the first page of search results.
*
* @generated from protobuf field: optional int64 first_position_cpc_micros = 7;
*/
firstPositionCpcMicros?: bigint;
/**
* Output only. The estimate of the CPC bid required for ad to be displayed at the top
* of the first page of search results.
*
* @generated from protobuf field: optional int64 top_of_page_cpc_micros = 8;
*/
topOfPageCpcMicros?: bigint;
/**
* Output only. Estimate of how many clicks per week you might get by changing your
* keyword bid to the value in first_position_cpc_micros.
*
* @generated from protobuf field: optional int64 estimated_add_clicks_at_first_position_cpc = 9;
*/
estimatedAddClicksAtFirstPositionCpc?: bigint;
/**
* Output only. Estimate of how your cost per week might change when changing your
* keyword bid to the value in first_position_cpc_micros.
*
* @generated from protobuf field: optional int64 estimated_add_cost_at_first_position_cpc = 10;
*/
estimatedAddCostAtFirstPositionCpc?: bigint;
}
declare class AdGroupCriterion$Type extends MessageType<AdGroupCriterion> {
constructor();
create(value?: PartialMessage<AdGroupCriterion>): AdGroupCriterion;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdGroupCriterion): AdGroupCriterion;
internalBinaryWrite(message: AdGroupCriterion, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.ads.googleads.v11.resources.AdGroupCriterion
*/
export declare const AdGroupCriterion: AdGroupCriterion$Type;
declare class AdGroupCriterion_QualityInfo$Type extends MessageType<AdGroupCriterion_QualityInfo> {
constructor();
create(value?: PartialMessage<AdGroupCriterion_QualityInfo>): AdGroupCriterion_QualityInfo;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdGroupCriterion_QualityInfo): AdGroupCriterion_QualityInfo;
internalBinaryWrite(message: AdGroupCriterion_QualityInfo, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.ads.googleads.v11.resources.AdGroupCriterion.QualityInfo
*/
export declare const AdGroupCriterion_QualityInfo: AdGroupCriterion_QualityInfo$Type;
declare class AdGroupCriterion_PositionEstimates$Type extends MessageType<AdGroupCriterion_PositionEstimates> {
constructor();
create(value?: PartialMessage<AdGroupCriterion_PositionEstimates>): AdGroupCriterion_PositionEstimates;
internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: AdGroupCriterion_PositionEstimates): AdGroupCriterion_PositionEstimates;
internalBinaryWrite(message: AdGroupCriterion_PositionEstimates, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter;
}
/**
* @generated MessageType for protobuf message google.ads.googleads.v11.resources.AdGroupCriterion.PositionEstimates
*/
export declare const AdGroupCriterion_PositionEstimates: AdGroupCriterion_PositionEstimates$Type;
export {};