aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v16/resources/conversion_value_rule.proto
blob: 2c9dc40fcf99417a8bdd45e7aa81a8718f12b2b5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
// Copyright 2023 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.googleads.v16.resources;

import "google/ads/googleads/v16/enums/conversion_value_rule_status.proto";
import "google/ads/googleads/v16/enums/value_rule_device_type.proto";
import "google/ads/googleads/v16/enums/value_rule_geo_location_match_type.proto";
import "google/ads/googleads/v16/enums/value_rule_operation.proto";
import "google/api/field_behavior.proto";
import "google/api/resource.proto";

option csharp_namespace = "Google.Ads.GoogleAds.V16.Resources";
option go_package = "google.golang.org/genproto/googleapis/ads/googleads/v16/resources;resources";
option java_multiple_files = true;
option java_outer_classname = "ConversionValueRuleProto";
option java_package = "com.google.ads.googleads.v16.resources";
option objc_class_prefix = "GAA";
option php_namespace = "Google\\Ads\\GoogleAds\\V16\\Resources";
option ruby_package = "Google::Ads::GoogleAds::V16::Resources";

// Proto file describing the Conversion Value Rule resource.

// A conversion value rule
message ConversionValueRule {
  option (google.api.resource) = {
    type: "googleads.googleapis.com/ConversionValueRule"
    pattern: "customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}"
  };

  // Action applied when rule is applied.
  message ValueRuleAction {
    // Specifies applied operation.
    google.ads.googleads.v16.enums.ValueRuleOperationEnum.ValueRuleOperation
        operation = 1;

    // Specifies applied value.
    double value = 2;
  }

  // Condition on Geo dimension.
  message ValueRuleGeoLocationCondition {
    // Geo locations that advertisers want to exclude.
    repeated string excluded_geo_target_constants = 1
        [(google.api.resource_reference) = {
          type: "googleads.googleapis.com/GeoTargetConstant"
        }];

    // Excluded Geo location match type.
    google.ads.googleads.v16.enums.ValueRuleGeoLocationMatchTypeEnum
        .ValueRuleGeoLocationMatchType excluded_geo_match_type = 2;

    // Geo locations that advertisers want to include.
    repeated string geo_target_constants = 3
        [(google.api.resource_reference) = {
          type: "googleads.googleapis.com/GeoTargetConstant"
        }];

    // Included Geo location match type.
    google.ads.googleads.v16.enums.ValueRuleGeoLocationMatchTypeEnum
        .ValueRuleGeoLocationMatchType geo_match_type = 4;
  }

  // Condition on Device dimension.
  message ValueRuleDeviceCondition {
    // Value for device type condition.
    repeated google.ads.googleads.v16.enums.ValueRuleDeviceTypeEnum
        .ValueRuleDeviceType device_types = 1;
  }

  // Condition on Audience dimension.
  message ValueRuleAudienceCondition {
    // User Lists.
    repeated string user_lists = 1 [(google.api.resource_reference) = {
      type: "googleads.googleapis.com/UserList"
    }];

    // User Interests.
    repeated string user_interests = 2 [(google.api.resource_reference) = {
      type: "googleads.googleapis.com/UserInterest"
    }];
  }

  // Immutable. The resource name of the conversion value rule.
  // Conversion value rule resource names have the form:
  //
  // `customers/{customer_id}/conversionValueRules/{conversion_value_rule_id}`
  string resource_name = 1 [
    (google.api.field_behavior) = IMMUTABLE,
    (google.api.resource_reference) = {
      type: "googleads.googleapis.com/ConversionValueRule"
    }
  ];

  // Output only. The ID of the conversion value rule.
  int64 id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];

  // Action applied when the rule is triggered.
  ValueRuleAction action = 3;

  // Condition for Geo location that must be satisfied for the value rule to
  // apply.
  ValueRuleGeoLocationCondition geo_location_condition = 4;

  // Condition for device type that must be satisfied for the value rule to
  // apply.
  ValueRuleDeviceCondition device_condition = 5;

  // Condition for audience that must be satisfied for the value rule to apply.
  ValueRuleAudienceCondition audience_condition = 6;

  // Output only. The resource name of the conversion value rule's owner
  // customer. When the value rule is inherited from a manager customer,
  // owner_customer will be the resource name of the manager whereas the
  // customer in the resource_name will be of the requesting serving customer.
  // ** Read-only **
  string owner_customer = 7 [
    (google.api.field_behavior) = OUTPUT_ONLY,
    (google.api.resource_reference) = {
      type: "googleads.googleapis.com/Customer"
    }
  ];

  // The status of the conversion value rule.
  google.ads.googleads.v16.enums.ConversionValueRuleStatusEnum
      .ConversionValueRuleStatus status = 8;
}