// Copyright 2024 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.

syntax = "proto3";

package google.ads.searchads360.v0.enums;

option csharp_namespace = "Google.Ads.SearchAds360.V0.Enums";
option go_package = "google.golang.org/genproto/googleapis/ads/searchads360/v0/enums;enums";
option java_multiple_files = true;
option java_outer_classname = "ConversionCustomVariableCardinalityProto";
option java_package = "com.google.ads.searchads360.v0.enums";
option objc_class_prefix = "GASA360";
option php_namespace = "Google\\Ads\\SearchAds360\\V0\\Enums";
option ruby_package = "Google::Ads::SearchAds360::V0::Enums";

// Proto file describing conversion custom variable status.

// Container for enum describing the family of a conversion custom variable.
message ConversionCustomVariableCardinalityEnum {
  // Cardinality of a conversion custom variable.
  enum ConversionCustomVariableCardinality {
    // Not specified.
    UNSPECIFIED = 0;

    // Used for return value only. Represents value unknown in this version.
    UNKNOWN = 1;

    // The conversion custom variable has cardinality below all limits. The
    // variable can be used for segmentation, and stats can accrue for
    // new values if the variable is enabled.
    BELOW_ALL_LIMITS = 2;

    // The conversion custom variable has cardinality that exceeds the
    // segmentation limit, but does not exceed the stats limit. Segmentation
    // will be disabled, but stats can accrue for new values if the variable is
    // enabled.
    EXCEEDS_SEGMENTATION_LIMIT_BUT_NOT_STATS_LIMIT = 3;

    // The conversion custom variable has exceeded the segmentation limits, and
    // is approaching the stats limits (> 90%). Segmentation will be disabled,
    // but stats can accrue for new values if the variable is enabled.
    APPROACHES_STATS_LIMIT = 4;

    // The conversion custom variable has exceeded both the segmentation limits
    // and stats limits. Segmentation will be disabled, and stats for enabled
    // variables can accrue only if the existing values do not increase the
    // cardinality of the variable any further.
    EXCEEDS_STATS_LIMIT = 5;
  }
}
