Maximum number of days to run the experiment/rollout. If auto-rollout is
not enabled, default value and maximum will be 30 days. If auto-rollout is
enabled, default value and maximum will be 6 days.
The name of the experiment.
Format:
projects/<ProjectID>/locations/<LocationID>/agents/<AgentID>/environments/<EnvironmentID>/experiments/<ExperimentID>.
The configuration for auto rollout. If set, there should be exactly two
variants in the experiment (control variant being the default version of
the flow), the traffic allocation for the non-control variant will
gradually increase to 100% when conditions are met, and eventually
replace the control variant to become the default version of the flow.
The current state of the experiment.
Transition triggered by Experiments.StartExperiment: DRAFT->RUNNING.
Transition triggered by Experiments.CancelExperiment: DRAFT->DONE or
RUNNING->DONE.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-09-03 UTC."],[[["\u003cp\u003eThis webpage provides comprehensive documentation for the \u003ccode\u003eExperiment\u003c/code\u003e class within the Google Cloud Dialogflow CX v3 API for .NET, including its constructors, properties, inherited members, and implementation details.\u003c/p\u003e\n"],["\u003cp\u003eThe content details multiple versions of the API, ranging from version 1.0.0 to the latest version 2.23.0, each linking to its respective documentation for the \u003ccode\u003eExperiment\u003c/code\u003e class.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eExperiment\u003c/code\u003e class represents an experiment within an environment, supporting various functionalities such as defining the experiment, setting its duration, and managing auto-rollout configurations.\u003c/p\u003e\n"],["\u003cp\u003eKey properties of the \u003ccode\u003eExperiment\u003c/code\u003e class include \u003ccode\u003eCreateTime\u003c/code\u003e, \u003ccode\u003eDefinition\u003c/code\u003e, \u003ccode\u003eDisplayName\u003c/code\u003e, \u003ccode\u003eEndTime\u003c/code\u003e, \u003ccode\u003eExperimentLength\u003c/code\u003e, \u003ccode\u003eName\u003c/code\u003e, \u003ccode\u003eResult\u003c/code\u003e, \u003ccode\u003eRolloutConfig\u003c/code\u003e, \u003ccode\u003eState\u003c/code\u003e, and \u003ccode\u003eVariantsHistory\u003c/code\u003e, which cover aspects of experiment setup, execution, and results.\u003c/p\u003e\n"],["\u003cp\u003eThe class implements interfaces such as IMessage, IEquatable, IDeepCloneable, and IBufferMessage, enhancing its integration with .NET and the Google Protobuf library.\u003c/p\u003e\n"]]],[],null,["# Dialogflow v3 API - Class Experiment (2.24.0)\n\nVersion latestkeyboard_arrow_down\n\n- [2.24.0 (latest)](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.23.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.23.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.22.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.22.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.21.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.21.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.20.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.20.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.19.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.19.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.18.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.18.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.17.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.17.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.16.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.16.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.15.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.15.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.14.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.14.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.13.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.13.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.12.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.12.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.11.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.11.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.10.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.10.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.9.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.9.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.8.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.8.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.7.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.7.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.6.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.6.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.5.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.5.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.4.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.4.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.3.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.3.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.2.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.2.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.1.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.1.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [2.0.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/2.0.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.13.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.13.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.12.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.12.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.11.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.11.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.10.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.10.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.9.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.9.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.8.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.8.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.7.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.7.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.6.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.6.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.5.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.5.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.4.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.4.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.3.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.3.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.2.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.2.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.1.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.1.0/Google.Cloud.Dialogflow.Cx.V3.Experiment)\n- [1.0.0](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/1.0.0/Google.Cloud.Dialogflow.Cx.V3.Experiment) \n\n public sealed class Experiment : IMessage\u003cExperiment\u003e, IEquatable\u003cExperiment\u003e, IDeepCloneable\u003cExperiment\u003e, IBufferMessage, IMessage\n\nReference documentation and code samples for the Dialogflow v3 API class Experiment.\n\nRepresents an experiment in an environment. \n\nInheritance\n-----------\n\n[object](https://learn.microsoft.com/dotnet/api/system.object) \\\u003e Experiment \n\nImplements\n----------\n\n[IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage-1.html)[Experiment](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3.Experiment), [IEquatable](https://learn.microsoft.com/dotnet/api/system.iequatable-1)[Experiment](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3.Experiment), [IDeepCloneable](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IDeepCloneable-1.html)[Experiment](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3.Experiment), [IBufferMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IBufferMessage.html), [IMessage](https://cloud.google.com/dotnet/docs/reference/Google.Protobuf/latest/Google.Protobuf.IMessage.html) \n\nInherited Members\n-----------------\n\n[object.GetHashCode()](https://learn.microsoft.com/dotnet/api/system.object.gethashcode) \n[object.GetType()](https://learn.microsoft.com/dotnet/api/system.object.gettype) \n[object.ToString()](https://learn.microsoft.com/dotnet/api/system.object.tostring)\n\nNamespace\n---------\n\n[Google.Cloud.Dialogflow.Cx.V3](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3)\n\nAssembly\n--------\n\nGoogle.Cloud.Dialogflow.Cx.V3.dll\n\nConstructors\n------------\n\n### Experiment()\n\n public Experiment()\n\n### Experiment(Experiment)\n\n public Experiment(Experiment other)\n\nProperties\n----------\n\n### CreateTime\n\n public Timestamp CreateTime { get; set; }\n\nCreation time of this experiment.\n\n### Definition\n\n public Experiment.Types.Definition Definition { get; set; }\n\nThe definition of the experiment.\n\n### Description\n\n public string Description { get; set; }\n\nThe human-readable description of the experiment.\n\n### DisplayName\n\n public string DisplayName { get; set; }\n\nRequired. The human-readable name of the experiment (unique in an\nenvironment). Limit of 64 characters.\n\n### EndTime\n\n public Timestamp EndTime { get; set; }\n\nEnd time of this experiment.\n\n### ExperimentLength\n\n public Duration ExperimentLength { get; set; }\n\nMaximum number of days to run the experiment/rollout. If auto-rollout is\nnot enabled, default value and maximum will be 30 days. If auto-rollout is\nenabled, default value and maximum will be 6 days.\n\n### ExperimentName\n\n public ExperimentName ExperimentName { get; set; }\n\n[ExperimentName](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3.ExperimentName)-typed view over the [Name](/dotnet/docs/reference/Google.Cloud.Dialogflow.Cx.V3/latest/Google.Cloud.Dialogflow.Cx.V3.Experiment#Google_Cloud_Dialogflow_Cx_V3_Experiment_Name) resource name property.\n\n### LastUpdateTime\n\n public Timestamp LastUpdateTime { get; set; }\n\nLast update time of this experiment.\n\n### Name\n\n public string Name { get; set; }\n\nThe name of the experiment.\nFormat:\nprojects/\\\u003cProjectID\\\u003e/locations/\\\u003cLocationID\\\u003e/agents/\\\u003cAgentID\\\u003e/environments/\\\u003cEnvironmentID\\\u003e/experiments/\\\u003cExperimentID\\\u003e.\n\n### Result\n\n public Experiment.Types.Result Result { get; set; }\n\nInference result of the experiment.\n\n### RolloutConfig\n\n public RolloutConfig RolloutConfig { get; set; }\n\nThe configuration for auto rollout. If set, there should be exactly two\nvariants in the experiment (control variant being the default version of\nthe flow), the traffic allocation for the non-control variant will\ngradually increase to 100% when conditions are met, and eventually\nreplace the control variant to become the default version of the flow.\n\n### RolloutFailureReason\n\n public string RolloutFailureReason { get; set; }\n\nThe reason why rollout has failed. Should only be set when state is\nROLLOUT_FAILED.\n\n### RolloutState\n\n public RolloutState RolloutState { get; set; }\n\nState of the auto rollout process.\n\n### StartTime\n\n public Timestamp StartTime { get; set; }\n\nStart time of this experiment.\n\n### State\n\n public Experiment.Types.State State { get; set; }\n\nThe current state of the experiment.\nTransition triggered by Experiments.StartExperiment: DRAFT-\\\u003eRUNNING.\nTransition triggered by Experiments.CancelExperiment: DRAFT-\\\u003eDONE or\nRUNNING-\\\u003eDONE.\n\n### VariantsHistory\n\n public RepeatedField\u003cVariantsHistory\u003e VariantsHistory { get; }\n\nThe history of updates to the experiment variants."]]