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 { CampaignExperimentStatusEnum_CampaignExperimentStatus } from "../enums/campaign_experiment_status"; import { CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType } from "../enums/campaign_experiment_traffic_split_type"; /** * An A/B experiment that compares the performance of the base campaign * (the control) and a variation of that campaign (the experiment). * * @generated from protobuf message google.ads.googleads.v11.resources.CampaignExperiment */ export interface CampaignExperiment { /** * Immutable. The resource name of the campaign experiment. * Campaign experiment resource names have the form: * * `customers/{customer_id}/campaignExperiments/{campaign_experiment_id}` * * @generated from protobuf field: string resource_name = 1; */ resourceName: string; /** * Output only. The ID of the campaign experiment. * * This field is read-only. * * @generated from protobuf field: optional int64 id = 13; */ id?: bigint; /** * Immutable. The campaign draft with staged changes to the base campaign. * * @generated from protobuf field: optional string campaign_draft = 14; */ campaignDraft?: string; /** * The name of the campaign experiment. * * This field is required when creating new campaign experiments * and must not conflict with the name of another non-removed * campaign experiment or campaign. * * It must not contain any null (code point 0x0), NL line feed * (code point 0xA) or carriage return (code point 0xD) characters. * * @generated from protobuf field: optional string name = 15; */ name?: string; /** * The description of the experiment. * * @generated from protobuf field: optional string description = 16; */ description?: string; /** * Immutable. Share of traffic directed to experiment as a percent (must be between 1 and * 99 inclusive. Base campaign receives the remainder of the traffic * (100 - traffic_split_percent). Required for create. * * @generated from protobuf field: optional int64 traffic_split_percent = 17; */ trafficSplitPercent?: bigint; /** * Immutable. Determines the behavior of the traffic split. * * @generated from protobuf field: google.ads.googleads.v11.enums.CampaignExperimentTrafficSplitTypeEnum.CampaignExperimentTrafficSplitType traffic_split_type = 7; */ trafficSplitType: CampaignExperimentTrafficSplitTypeEnum_CampaignExperimentTrafficSplitType; /** * Output only. The experiment campaign, as opposed to the base campaign. * * @generated from protobuf field: optional string experiment_campaign = 18; */ experimentCampaign?: string; /** * Output only. The status of the campaign experiment. This field is read-only. * * @generated from protobuf field: google.ads.googleads.v11.enums.CampaignExperimentStatusEnum.CampaignExperimentStatus status = 9; */ status: CampaignExperimentStatusEnum_CampaignExperimentStatus; /** * Output only. The resource name of the long-running operation that can be used to poll * for completion of experiment create or promote. The most recent long * running operation is returned. * * @generated from protobuf field: optional string long_running_operation = 19; */ longRunningOperation?: string; /** * Date when the campaign experiment starts. By default, the experiment starts * now or on the campaign's start date, whichever is later. If this field is * set, then the experiment starts at the beginning of the specified date in * the customer's time zone. Cannot be changed once the experiment starts. * * Format: YYYY-MM-DD * Example: 2019-03-14 * * @generated from protobuf field: optional string start_date = 20; */ startDate?: string; /** * The last day of the campaign experiment. By default, the experiment ends on * the campaign's end date. If this field is set, then the experiment ends at * the end of the specified date in the customer's time zone. * * Format: YYYY-MM-DD * Example: 2019-04-18 * * @generated from protobuf field: optional string end_date = 21; */ endDate?: string; } declare class CampaignExperiment$Type extends MessageType { constructor(); create(value?: PartialMessage): CampaignExperiment; internalBinaryRead(reader: IBinaryReader, length: number, options: BinaryReadOptions, target?: CampaignExperiment): CampaignExperiment; internalBinaryWrite(message: CampaignExperiment, writer: IBinaryWriter, options: BinaryWriteOptions): IBinaryWriter; } /** * @generated MessageType for protobuf message google.ads.googleads.v11.resources.CampaignExperiment */ export declare const CampaignExperiment: CampaignExperiment$Type; export {};