aboutsummaryrefslogtreecommitdiff
path: root/google/ads/googleads/v16/resources/customer_sk_ad_network_conversion_value_schema.proto
blob: 09fca8945f933a7dd9632d93fbeee15f2394fe16 (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
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
// 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/sk_ad_network_coarse_conversion_value.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 = "CustomerSkAdNetworkConversionValueSchemaProto";
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 SkAdNetworkConversionVauleSchema resource.

// A CustomerSkAdNetworkConversionValueSchema.
message CustomerSkAdNetworkConversionValueSchema {
  option (google.api.resource) = {
    type: "googleads.googleapis.com/CustomerSkAdNetworkConversionValueSchema"
    pattern: "customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id}"
  };

  // The CustomerLink specific SkAdNetworkConversionValueSchema.
  message SkAdNetworkConversionValueSchema {
    // Mappings for fine grained conversion value.
    message FineGrainedConversionValueMappings {
      // Output only. Fine grained conversion value. Valid values are in the
      // inclusive range [0,63].
      int32 fine_grained_conversion_value = 1
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. Conversion events the fine grained conversion value maps
      // to.
      ConversionValueMapping conversion_value_mapping = 2
          [(google.api.field_behavior) = OUTPUT_ONLY];
    }

    // Mappings for each postback in multiple conversion windows.
    message PostbackMapping {
      // Output only. 0-based index that indicates the order of postback. Valid
      // values are in the inclusive range [0,2].
      int32 postback_sequence_index = 1
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. Conversion value mappings for all coarse grained
      // conversion values.
      CoarseGrainedConversionValueMappings
          coarse_grained_conversion_value_mappings = 2
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Event or conversion value used for locking conversion window.
      oneof lock_window_trigger {
        // Output only. Coarse grained conversion value that triggers conversion
        // window lock.
        google.ads.googleads.v16.enums.SkAdNetworkCoarseConversionValueEnum
            .SkAdNetworkCoarseConversionValue
                lock_window_coarse_conversion_value = 3
            [(google.api.field_behavior) = OUTPUT_ONLY];

        // Output only. Fine grained conversion value that triggers conversion
        // window lock.
        int32 lock_window_fine_conversion_value = 4
            [(google.api.field_behavior) = OUTPUT_ONLY];

        // Output only. Event name that triggers conversion window lock.
        string lock_window_event = 5
            [(google.api.field_behavior) = OUTPUT_ONLY];
      }
    }

    // Mappings for coarse grained conversion values.
    message CoarseGrainedConversionValueMappings {
      // Output only. Mapping for "low" coarse conversion value.
      ConversionValueMapping low_conversion_value_mapping = 1
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. Mapping for "medium" coarse conversion value.
      ConversionValueMapping medium_conversion_value_mapping = 2
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. Mapping for "high" coarse conversion value.
      ConversionValueMapping high_conversion_value_mapping = 3
          [(google.api.field_behavior) = OUTPUT_ONLY];
    }

    // Represents mapping from one conversion value to one or more conversion
    // events.
    message ConversionValueMapping {
      // Output only. The minimum of the time range in which a user was last
      // active during the measurement window.
      int64 min_time_post_install_hours = 1
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. The maximum of the time range in which a user was last
      // active during the measurement window.
      int64 max_time_post_install_hours = 2
          [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. The conversion value may be mapped to multiple events with
      // various attributes.
      repeated Event mapped_events = 3
          [(google.api.field_behavior) = OUTPUT_ONLY];
    }

    // Defines a Google conversion event that the conversion value is mapped to.
    message Event {
      // Defines a range for revenue values.
      message RevenueRange {
        // Output only. For revenue ranges, the minimum value in `currency_code`
        // for which this conversion value would be updated. A value of 0 will
        // be treated as unset.
        double min_event_revenue = 3
            [(google.api.field_behavior) = OUTPUT_ONLY];

        // Output only. For revenue ranges, the maximum value in `currency_code`
        // for which this conversion value would be updated. A value of 0 will
        // be treated as unset.
        double max_event_revenue = 4
            [(google.api.field_behavior) = OUTPUT_ONLY];
      }

      // Defines a range for event counter values.
      message EventOccurrenceRange {
        // Output only. For event counter ranges, the minimum of the defined
        // range. A value of 0 will be treated as unset.
        int64 min_event_count = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

        // Output only. For event counter ranges, the maximum of the defined
        // range. A value of 0 will be treated as unset.
        int64 max_event_count = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
      }

      // Output only. Google event name represented by this conversion value.
      string mapped_event_name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];

      // Output only. The reported currency for the event_revenue. ISO 4217
      // three-letter currency code, for example, "USD"
      string currency_code = 2 [(google.api.field_behavior) = OUTPUT_ONLY];

      // Either a range or specific value for event revenue.
      oneof revenue_rate {
        // Output only. The event revenue range.
        RevenueRange event_revenue_range = 3
            [(google.api.field_behavior) = OUTPUT_ONLY];

        // Output only. The specific event revenue value.
        double event_revenue_value = 4
            [(google.api.field_behavior) = OUTPUT_ONLY];
      }

      // Either a range or specific value for event counter.
      oneof event_rate {
        // Output only. The event counter range.
        EventOccurrenceRange event_occurrence_range = 5
            [(google.api.field_behavior) = OUTPUT_ONLY];

        // Output only. For specific event counter values.
        int64 event_counter = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
      }
    }

    // Required. Output only. Apple App Store app ID.
    string app_id = 1 [
      (google.api.field_behavior) = REQUIRED,
      (google.api.field_behavior) = OUTPUT_ONLY
    ];

    // Output only. A time window (measured in hours) post-install, after which
    // the App Attribution Partner or advertiser stops calling
    // [updateConversionValue]
    // (https://developer.apple.com/documentation/storekit/skadnetwork/3566697-updateconversionvalue).
    int32 measurement_window_hours = 2
        [(google.api.field_behavior) = OUTPUT_ONLY];

    // Output only. Fine grained conversion value mappings.
    // For SkAdNetwork versions >= 4.0 that support multiple conversion
    // windows, fine grained conversion value mappings are only applicable to
    // the first postback.
    repeated FineGrainedConversionValueMappings
        fine_grained_conversion_value_mappings = 3
        [(google.api.field_behavior) = OUTPUT_ONLY];

    // Output only. Per-postback conversion value mappings for postbacks in
    // multiple conversion windows. Only applicable for SkAdNetwork versions
    // >= 4.0.
    repeated PostbackMapping postback_mappings = 4
        [(google.api.field_behavior) = OUTPUT_ONLY];
  }

  // Output only. The resource name of the schema.
  // CustomerSkAdNetworkConversionValueSchema resource names have the form:
  // customers/{customer_id}/customerSkAdNetworkConversionValueSchemas/{account_link_id}
  string resource_name = 1 [
    (google.api.field_behavior) = OUTPUT_ONLY,
    (google.api.resource_reference) = {
      type: "googleads.googleapis.com/CustomerSkAdNetworkConversionValueSchema"
    }
  ];

  // Output only. The schema for the specified resource.
  SkAdNetworkConversionValueSchema schema = 2
      [(google.api.field_behavior) = OUTPUT_ONLY];
}