summaryrefslogtreecommitdiff
path: root/third_party/googleapis/google/analytics/admin/v1beta/resources.proto
diff options
context:
space:
mode:
Diffstat (limited to 'third_party/googleapis/google/analytics/admin/v1beta/resources.proto')
-rw-r--r--third_party/googleapis/google/analytics/admin/v1beta/resources.proto905
1 files changed, 905 insertions, 0 deletions
diff --git a/third_party/googleapis/google/analytics/admin/v1beta/resources.proto b/third_party/googleapis/google/analytics/admin/v1beta/resources.proto
new file mode 100644
index 0000000..2a70103
--- /dev/null
+++ b/third_party/googleapis/google/analytics/admin/v1beta/resources.proto
@@ -0,0 +1,905 @@
+// Copyright 2022 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.analytics.admin.v1beta;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+import "google/protobuf/wrappers.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/analytics/admin/v1beta;admin";
+option java_multiple_files = true;
+option java_outer_classname = "ResourcesProto";
+option java_package = "com.google.analytics.admin.v1beta";
+
+// The category selected for this property, used for industry benchmarking.
+enum IndustryCategory {
+ // Industry category unspecified
+ INDUSTRY_CATEGORY_UNSPECIFIED = 0;
+
+ // Automotive
+ AUTOMOTIVE = 1;
+
+ // Business and industrial markets
+ BUSINESS_AND_INDUSTRIAL_MARKETS = 2;
+
+ // Finance
+ FINANCE = 3;
+
+ // Healthcare
+ HEALTHCARE = 4;
+
+ // Technology
+ TECHNOLOGY = 5;
+
+ // Travel
+ TRAVEL = 6;
+
+ // Other
+ OTHER = 7;
+
+ // Arts and entertainment
+ ARTS_AND_ENTERTAINMENT = 8;
+
+ // Beauty and fitness
+ BEAUTY_AND_FITNESS = 9;
+
+ // Books and literature
+ BOOKS_AND_LITERATURE = 10;
+
+ // Food and drink
+ FOOD_AND_DRINK = 11;
+
+ // Games
+ GAMES = 12;
+
+ // Hobbies and leisure
+ HOBBIES_AND_LEISURE = 13;
+
+ // Home and garden
+ HOME_AND_GARDEN = 14;
+
+ // Internet and telecom
+ INTERNET_AND_TELECOM = 15;
+
+ // Law and government
+ LAW_AND_GOVERNMENT = 16;
+
+ // News
+ NEWS = 17;
+
+ // Online communities
+ ONLINE_COMMUNITIES = 18;
+
+ // People and society
+ PEOPLE_AND_SOCIETY = 19;
+
+ // Pets and animals
+ PETS_AND_ANIMALS = 20;
+
+ // Real estate
+ REAL_ESTATE = 21;
+
+ // Reference
+ REFERENCE = 22;
+
+ // Science
+ SCIENCE = 23;
+
+ // Sports
+ SPORTS = 24;
+
+ // Jobs and education
+ JOBS_AND_EDUCATION = 25;
+
+ // Shopping
+ SHOPPING = 26;
+}
+
+// Various levels of service for Google Analytics.
+enum ServiceLevel {
+ // Service level not specified or invalid.
+ SERVICE_LEVEL_UNSPECIFIED = 0;
+
+ // The standard version of Google Analytics.
+ GOOGLE_ANALYTICS_STANDARD = 1;
+
+ // The paid, premium version of Google Analytics.
+ GOOGLE_ANALYTICS_360 = 2;
+}
+
+// Different kinds of actors that can make changes to Google Analytics
+// resources.
+enum ActorType {
+ // Unknown or unspecified actor type.
+ ACTOR_TYPE_UNSPECIFIED = 0;
+
+ // Changes made by the user specified in actor_email.
+ USER = 1;
+
+ // Changes made by the Google Analytics system.
+ SYSTEM = 2;
+
+ // Changes made by Google Analytics support team staff.
+ SUPPORT = 3;
+}
+
+// Types of actions that may change a resource.
+enum ActionType {
+ // Action type unknown or not specified.
+ ACTION_TYPE_UNSPECIFIED = 0;
+
+ // Resource was created in this change.
+ CREATED = 1;
+
+ // Resource was updated in this change.
+ UPDATED = 2;
+
+ // Resource was deleted in this change.
+ DELETED = 3;
+}
+
+// Types of resources whose changes may be returned from change history.
+enum ChangeHistoryResourceType {
+ // Resource type unknown or not specified.
+ CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED = 0;
+
+ // Account resource
+ ACCOUNT = 1;
+
+ // Property resource
+ PROPERTY = 2;
+
+ // FirebaseLink resource
+ FIREBASE_LINK = 6;
+
+ // GoogleAdsLink resource
+ GOOGLE_ADS_LINK = 7;
+
+ // GoogleSignalsSettings resource
+ GOOGLE_SIGNALS_SETTINGS = 8;
+
+ // ConversionEvent resource
+ CONVERSION_EVENT = 9;
+
+ // MeasurementProtocolSecret resource
+ MEASUREMENT_PROTOCOL_SECRET = 10;
+
+ // DataRetentionSettings resource
+ DATA_RETENTION_SETTINGS = 13;
+
+ // DisplayVideo360AdvertiserLink resource
+ DISPLAY_VIDEO_360_ADVERTISER_LINK = 14;
+
+ // DisplayVideo360AdvertiserLinkProposal resource
+ DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL = 15;
+
+ // DataStream resource
+ DATA_STREAM = 18;
+
+ // AttributionSettings resource
+ ATTRIBUTION_SETTINGS = 20;
+}
+
+// Types of Property resources.
+enum PropertyType {
+ // Unknown or unspecified property type
+ PROPERTY_TYPE_UNSPECIFIED = 0;
+
+ // Ordinary GA4 property
+ PROPERTY_TYPE_ORDINARY = 1;
+
+ // GA4 subproperty
+ PROPERTY_TYPE_SUBPROPERTY = 2;
+
+ // GA4 rollup property
+ PROPERTY_TYPE_ROLLUP = 3;
+}
+
+// A resource message representing a Google Analytics account.
+message Account {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/Account"
+ pattern: "accounts/{account}"
+ };
+
+ // Output only. Resource name of this account.
+ // Format: accounts/{account}
+ // Example: "accounts/100"
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when this account was originally created.
+ google.protobuf.Timestamp create_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when account payload fields were last updated.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Human-readable display name for this account.
+ string display_name = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Country of business. Must be a Unicode CLDR region code.
+ string region_code = 5;
+
+ // Output only. Indicates whether this Account is soft-deleted or not. Deleted
+ // accounts are excluded from List results unless specifically requested.
+ bool deleted = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A resource message representing a Google Analytics GA4 property.
+message Property {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/Property"
+ pattern: "properties/{property}"
+ };
+
+ // Output only. Resource name of this property.
+ // Format: properties/{property_id}
+ // Example: "properties/1000"
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. The property type for this Property resource. When creating a property, if
+ // the type is "PROPERTY_TYPE_UNSPECIFIED", then "ORDINARY_PROPERTY" will be
+ // implied. "SUBPROPERTY" and "ROLLUP_PROPERTY" types cannot yet be created
+ // via Google Analytics Admin API.
+ PropertyType property_type = 14 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. Time when the entity was originally created.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when entity payload fields were last updated.
+ google.protobuf.Timestamp update_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. Resource name of this property's logical parent.
+ //
+ // Note: The Property-Moving UI can be used to change the parent.
+ // Format: accounts/{account}, properties/{property}
+ // Example: "accounts/100", "properties/101"
+ string parent = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Required. Human-readable display name for this property.
+ //
+ // The max allowed display name length is 100 UTF-16 code units.
+ string display_name = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Industry associated with this property
+ // Example: AUTOMOTIVE, FOOD_AND_DRINK
+ IndustryCategory industry_category = 6;
+
+ // Required. Reporting Time Zone, used as the day boundary for reports, regardless of
+ // where the data originates. If the time zone honors DST, Analytics will
+ // automatically adjust for the changes.
+ //
+ // NOTE: Changing the time zone only affects data going forward, and is not
+ // applied retroactively.
+ //
+ // Format: https://www.iana.org/time-zones
+ // Example: "America/Los_Angeles"
+ string time_zone = 7 [(google.api.field_behavior) = REQUIRED];
+
+ // The currency type used in reports involving monetary values.
+ //
+ //
+ // Format: https://en.wikipedia.org/wiki/ISO_4217
+ // Examples: "USD", "EUR", "JPY"
+ string currency_code = 8;
+
+ // Output only. The Google Analytics service level that applies to this property.
+ ServiceLevel service_level = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. If set, the time at which this property was trashed. If not set, then this
+ // property is not currently in the trash can.
+ google.protobuf.Timestamp delete_time = 11 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. If set, the time at which this trashed property will be permanently
+ // deleted. If not set, then this property is not currently in the trash can
+ // and is not slated to be deleted.
+ google.protobuf.Timestamp expire_time = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. The resource name of the parent account
+ // Format: accounts/{account_id}
+ // Example: "accounts/123"
+ string account = 13 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.resource_reference) = {
+ type: "analyticsadmin.googleapis.com/Account"
+ }
+ ];
+}
+
+// A resource message representing a data stream.
+message DataStream {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/DataStream"
+ pattern: "properties/{property}/dataStreams/{data_stream}"
+ };
+
+ // Data specific to web streams.
+ message WebStreamData {
+ // Output only. Analytics "Measurement ID", without the "G-" prefix.
+ // Example: "G-1A2BCD345E" would just be "1A2BCD345E"
+ string measurement_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. ID of the corresponding web app in Firebase, if any.
+ // This ID can change if the web app is deleted and recreated.
+ string firebase_app_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. Domain name of the web app being measured, or empty.
+ // Example: "http://www.google.com", "https://www.google.com"
+ string default_uri = 3 [(google.api.field_behavior) = IMMUTABLE];
+ }
+
+ // Data specific to Android app streams.
+ message AndroidAppStreamData {
+ // Output only. ID of the corresponding Android app in Firebase, if any.
+ // This ID can change if the Android app is deleted and recreated.
+ string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. The package name for the app being measured.
+ // Example: "com.example.myandroidapp"
+ string package_name = 2 [(google.api.field_behavior) = IMMUTABLE];
+ }
+
+ // Data specific to iOS app streams.
+ message IosAppStreamData {
+ // Output only. ID of the corresponding iOS app in Firebase, if any.
+ // This ID can change if the iOS app is deleted and recreated.
+ string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The Apple App Store Bundle ID for the app
+ // Example: "com.example.myiosapp"
+ string bundle_id = 2 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = REQUIRED
+ ];
+ }
+
+ // The type of the data stream.
+ enum DataStreamType {
+ // Type unknown or not specified.
+ DATA_STREAM_TYPE_UNSPECIFIED = 0;
+
+ // Web data stream.
+ WEB_DATA_STREAM = 1;
+
+ // Android app data stream.
+ ANDROID_APP_DATA_STREAM = 2;
+
+ // iOS app data stream.
+ IOS_APP_DATA_STREAM = 3;
+ }
+
+ // Data for specific data stream types. The message that will be
+ // set corresponds to the type of this stream.
+ oneof stream_data {
+ // Data specific to web streams. Must be populated if type is
+ // WEB_DATA_STREAM.
+ WebStreamData web_stream_data = 6;
+
+ // Data specific to Android app streams. Must be populated if type is
+ // ANDROID_APP_DATA_STREAM.
+ AndroidAppStreamData android_app_stream_data = 7;
+
+ // Data specific to iOS app streams. Must be populated if type is
+ // IOS_APP_DATA_STREAM.
+ IosAppStreamData ios_app_stream_data = 8;
+ }
+
+ // Output only. Resource name of this Data Stream.
+ // Format: properties/{property_id}/dataStreams/{stream_id}
+ // Example: "properties/1000/dataStreams/2000"
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. The type of this DataStream resource.
+ DataStreamType type = 2 [
+ (google.api.field_behavior) = IMMUTABLE,
+ (google.api.field_behavior) = REQUIRED
+ ];
+
+ // Human-readable display name for the Data Stream.
+ //
+ // Required for web data streams.
+ //
+ // The max allowed display name length is 255 UTF-16 code units.
+ string display_name = 3;
+
+ // Output only. Time when this stream was originally created.
+ google.protobuf.Timestamp create_time = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when stream payload fields were last updated.
+ google.protobuf.Timestamp update_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A link between a GA4 property and a Firebase project.
+message FirebaseLink {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/FirebaseLink"
+ pattern: "properties/{property}/firebaseLinks/{firebase_link}"
+ };
+
+ // Output only. Example format: properties/1234/firebaseLinks/5678
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. Firebase project resource name. When creating a FirebaseLink, you may
+ // provide this resource name using either a project number or project ID.
+ // Once this resource has been created, returned FirebaseLinks will always
+ // have a project_name that contains a project number.
+ //
+ // Format: 'projects/{project number}'
+ // Example: 'projects/1234'
+ string project = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. Time when this FirebaseLink was originally created.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A link between a GA4 property and a Google Ads account.
+message GoogleAdsLink {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/GoogleAdsLink"
+ pattern: "properties/{property}/googleAdsLinks/{google_ads_link}"
+ };
+
+ // Output only. Format: properties/{propertyId}/googleAdsLinks/{googleAdsLinkId}
+ //
+ // Note: googleAdsLinkId is not the Google Ads customer ID.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. Google Ads customer ID.
+ string customer_id = 3 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. If true, this link is for a Google Ads manager account.
+ bool can_manage_clients = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Enable personalized advertising features with this integration.
+ // Automatically publish my Google Analytics audience lists and Google
+ // Analytics remarketing events/parameters to the linked Google Ads account.
+ // If this field is not set on create/update, it will be defaulted to true.
+ google.protobuf.BoolValue ads_personalization_enabled = 5;
+
+ // Output only. Time when this link was originally created.
+ google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when this link was last updated.
+ google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Email address of the user that created the link.
+ // An empty string will be returned if the email address can't be retrieved.
+ string creator_email_address = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A resource message representing data sharing settings of a Google Analytics
+// account.
+message DataSharingSettings {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/DataSharingSettings"
+ pattern: "accounts/{account}/dataSharingSettings"
+ };
+
+ // Output only. Resource name.
+ // Format: accounts/{account}/dataSharingSettings
+ // Example: "accounts/1000/dataSharingSettings"
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Allows Google support to access the data in order to help troubleshoot
+ // issues.
+ bool sharing_with_google_support_enabled = 2;
+
+ // Allows Google sales teams that are assigned to the customer to access the
+ // data in order to suggest configuration changes to improve results.
+ // Sales team restrictions still apply when enabled.
+ bool sharing_with_google_assigned_sales_enabled = 3;
+
+ // Allows any of Google sales to access the data in order to suggest
+ // configuration changes to improve results.
+ bool sharing_with_google_any_sales_enabled = 4;
+
+ // Allows Google to use the data to improve other Google products or services.
+ bool sharing_with_google_products_enabled = 5;
+
+ // Allows Google to share the data anonymously in aggregate form with others.
+ bool sharing_with_others_enabled = 6;
+}
+
+// A virtual resource representing an overview of an account and
+// all its child GA4 properties.
+message AccountSummary {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/AccountSummary"
+ pattern: "accountSummaries/{account_summary}"
+ };
+
+ // Resource name for this account summary.
+ // Format: accountSummaries/{account_id}
+ // Example: "accountSummaries/1000"
+ string name = 1;
+
+ // Resource name of account referred to by this account summary
+ // Format: accounts/{account_id}
+ // Example: "accounts/1000"
+ string account = 2 [(google.api.resource_reference) = {
+ type: "analyticsadmin.googleapis.com/Account"
+ }];
+
+ // Display name for the account referred to in this account summary.
+ string display_name = 3;
+
+ // List of summaries for child accounts of this account.
+ repeated PropertySummary property_summaries = 4;
+}
+
+// A virtual resource representing metadata for a GA4 property.
+message PropertySummary {
+ // Resource name of property referred to by this property summary
+ // Format: properties/{property_id}
+ // Example: "properties/1000"
+ string property = 1 [(google.api.resource_reference) = {
+ type: "analyticsadmin.googleapis.com/Property"
+ }];
+
+ // Display name for the property referred to in this property summary.
+ string display_name = 2;
+
+ // The property's property type.
+ PropertyType property_type = 3;
+
+ // Resource name of this property's logical parent.
+ //
+ // Note: The Property-Moving UI can be used to change the parent.
+ // Format: accounts/{account}, properties/{property}
+ // Example: "accounts/100", "properties/200"
+ string parent = 4;
+}
+
+// A secret value used for sending hits to Measurement Protocol.
+message MeasurementProtocolSecret {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret"
+ pattern: "properties/{property}/dataStreams/{data_stream}/measurementProtocolSecrets/{measurement_protocol_secret}"
+ };
+
+ // Output only. Resource name of this secret. This secret may be a child of any type of
+ // stream.
+ // Format:
+ // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret}
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Human-readable display name for this secret.
+ string display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. The measurement protocol secret value. Pass this value to the api_secret
+ // field of the Measurement Protocol API when sending hits to this
+ // secret's parent property.
+ string secret_value = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A set of changes within a Google Analytics account or its child properties
+// that resulted from the same cause. Common causes would be updates made in the
+// Google Analytics UI, changes from customer support, or automatic Google
+// Analytics system changes.
+message ChangeHistoryEvent {
+ // ID of this change history event. This ID is unique across Google Analytics.
+ string id = 1;
+
+ // Time when change was made.
+ google.protobuf.Timestamp change_time = 2;
+
+ // The type of actor that made this change.
+ ActorType actor_type = 3;
+
+ // Email address of the Google account that made the change. This will be a
+ // valid email address if the actor field is set to USER, and empty otherwise.
+ // Google accounts that have been deleted will cause an error.
+ string user_actor_email = 4;
+
+ // If true, then the list of changes returned was filtered, and does not
+ // represent all changes that occurred in this event.
+ bool changes_filtered = 5;
+
+ // A list of changes made in this change history event that fit the filters
+ // specified in SearchChangeHistoryEventsRequest.
+ repeated ChangeHistoryChange changes = 6;
+}
+
+// A description of a change to a single Google Analytics resource.
+message ChangeHistoryChange {
+ // A snapshot of a resource as before or after the result of a change in
+ // change history.
+ message ChangeHistoryResource {
+ oneof resource {
+ // A snapshot of an Account resource in change history.
+ Account account = 1;
+
+ // A snapshot of a Property resource in change history.
+ Property property = 2;
+
+ // A snapshot of a FirebaseLink resource in change history.
+ FirebaseLink firebase_link = 6;
+
+ // A snapshot of a GoogleAdsLink resource in change history.
+ GoogleAdsLink google_ads_link = 7;
+
+ // A snapshot of a ConversionEvent resource in change history.
+ ConversionEvent conversion_event = 11;
+
+ // A snapshot of a MeasurementProtocolSecret resource in change history.
+ MeasurementProtocolSecret measurement_protocol_secret = 12;
+
+ // A snapshot of a data retention settings resource in change history.
+ DataRetentionSettings data_retention_settings = 15;
+
+ // A snapshot of a DataStream resource in change history.
+ DataStream data_stream = 18;
+ }
+ }
+
+ // Resource name of the resource whose changes are described by this entry.
+ string resource = 1;
+
+ // The type of action that changed this resource.
+ ActionType action = 2;
+
+ // Resource contents from before the change was made. If this resource was
+ // created in this change, this field will be missing.
+ ChangeHistoryResource resource_before_change = 3;
+
+ // Resource contents from after the change was made. If this resource was
+ // deleted in this change, this field will be missing.
+ ChangeHistoryResource resource_after_change = 4;
+}
+
+// A conversion event in a Google Analytics property.
+message ConversionEvent {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/ConversionEvent"
+ pattern: "properties/{property}/conversionEvents/{conversion_event}"
+ };
+
+ // Output only. Resource name of this conversion event.
+ // Format: properties/{property}/conversionEvents/{conversion_event}
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Immutable. The event name for this conversion event.
+ // Examples: 'click', 'purchase'
+ string event_name = 2 [(google.api.field_behavior) = IMMUTABLE];
+
+ // Output only. Time when this conversion event was created in the property.
+ google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. If set, this event can currently be deleted via DeleteConversionEvent.
+ bool deletable = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. If set to true, this conversion event refers to a custom event. If set to
+ // false, this conversion event refers to a default event in GA. Default
+ // events typically have special meaning in GA. Default events are usually
+ // created for you by the GA system, but in some cases can be created by
+ // property admins. Custom events count towards the maximum number of
+ // custom conversion events that may be created per property.
+ bool custom = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// A definition for a CustomDimension.
+message CustomDimension {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/CustomDimension"
+ pattern: "properties/{property}/customDimensions/{custom_dimension}"
+ };
+
+ // Valid values for the scope of this dimension.
+ enum DimensionScope {
+ // Scope unknown or not specified.
+ DIMENSION_SCOPE_UNSPECIFIED = 0;
+
+ // Dimension scoped to an event.
+ EVENT = 1;
+
+ // Dimension scoped to a user.
+ USER = 2;
+ }
+
+ // Output only. Resource name for this CustomDimension resource.
+ // Format: properties/{property}/customDimensions/{customDimension}
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. Tagging parameter name for this custom dimension.
+ //
+ // If this is a user-scoped dimension, then this is the user property name.
+ // If this is an event-scoped dimension, then this is the event parameter
+ // name.
+ //
+ // May only contain alphanumeric and underscore characters, starting with a
+ // letter. Max length of 24 characters for user-scoped dimensions, 40
+ // characters for event-scoped dimensions.
+ string parameter_name = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Display name for this custom dimension as shown in the Analytics UI.
+ // Max length of 82 characters, alphanumeric plus space and underscore
+ // starting with a letter. Legacy system-generated display names may contain
+ // square brackets, but updates to this field will never permit square
+ // brackets.
+ string display_name = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Description for this custom dimension. Max length of 150 characters.
+ string description = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Immutable. The scope of this dimension.
+ DimensionScope scope = 5 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Optional. If set to true, sets this dimension as NPA and excludes it from ads
+ // personalization.
+ //
+ // This is currently only supported by user-scoped custom dimensions.
+ bool disallow_ads_personalization = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// A definition for a custom metric.
+message CustomMetric {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/CustomMetric"
+ pattern: "properties/{property}/customMetrics/{custom_metric}"
+ };
+
+ // Possible types of representing the custom metric's value.
+ //
+ // Currency representation may change in the future, requiring a breaking API
+ // change.
+ enum MeasurementUnit {
+ // MeasurementUnit unspecified or missing.
+ MEASUREMENT_UNIT_UNSPECIFIED = 0;
+
+ // This metric uses default units.
+ STANDARD = 1;
+
+ // This metric measures a currency.
+ CURRENCY = 2;
+
+ // This metric measures feet.
+ FEET = 3;
+
+ // This metric measures meters.
+ METERS = 4;
+
+ // This metric measures kilometers.
+ KILOMETERS = 5;
+
+ // This metric measures miles.
+ MILES = 6;
+
+ // This metric measures milliseconds.
+ MILLISECONDS = 7;
+
+ // This metric measures seconds.
+ SECONDS = 8;
+
+ // This metric measures minutes.
+ MINUTES = 9;
+
+ // This metric measures hours.
+ HOURS = 10;
+ }
+
+ // The scope of this metric.
+ enum MetricScope {
+ // Scope unknown or not specified.
+ METRIC_SCOPE_UNSPECIFIED = 0;
+
+ // Metric scoped to an event.
+ EVENT = 1;
+ }
+
+ // Labels that mark the data in this custom metric as data that should be
+ // restricted to specific users.
+ enum RestrictedMetricType {
+ // Type unknown or unspecified.
+ RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0;
+
+ // Metric reports cost data.
+ COST_DATA = 1;
+
+ // Metric reports revenue data.
+ REVENUE_DATA = 2;
+ }
+
+ // Output only. Resource name for this CustomMetric resource.
+ // Format: properties/{property}/customMetrics/{customMetric}
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Immutable. Tagging name for this custom metric.
+ //
+ // If this is an event-scoped metric, then this is the event parameter
+ // name.
+ //
+ // May only contain alphanumeric and underscore charactes, starting with a
+ // letter. Max length of 40 characters for event-scoped metrics.
+ string parameter_name = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Required. Display name for this custom metric as shown in the Analytics UI.
+ // Max length of 82 characters, alphanumeric plus space and underscore
+ // starting with a letter. Legacy system-generated display names may contain
+ // square brackets, but updates to this field will never permit square
+ // brackets.
+ string display_name = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Description for this custom dimension.
+ // Max length of 150 characters.
+ string description = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. The type for the custom metric's value.
+ MeasurementUnit measurement_unit = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Immutable. The scope of this custom metric.
+ MetricScope scope = 6 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.field_behavior) = IMMUTABLE
+ ];
+
+ // Optional. Types of restricted data that this metric may contain. Required for metrics
+ // with CURRENCY measurement unit. Must be empty for metrics with a
+ // non-CURRENCY measurement unit.
+ repeated RestrictedMetricType restricted_metric_type = 8 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Settings values for data retention. This is a singleton resource.
+message DataRetentionSettings {
+ option (google.api.resource) = {
+ type: "analyticsadmin.googleapis.com/DataRetentionSettings"
+ pattern: "properties/{property}/dataRetentionSettings"
+ };
+
+ // Valid values for the data retention duration.
+ enum RetentionDuration {
+ // Data retention time duration is not specified.
+ RETENTION_DURATION_UNSPECIFIED = 0;
+
+ // The data retention time duration is 2 months.
+ TWO_MONTHS = 1;
+
+ // The data retention time duration is 14 months.
+ FOURTEEN_MONTHS = 3;
+
+ // The data retention time duration is 26 months.
+ // Available to 360 properties only.
+ TWENTY_SIX_MONTHS = 4;
+
+ // The data retention time duration is 38 months.
+ // Available to 360 properties only.
+ THIRTY_EIGHT_MONTHS = 5;
+
+ // The data retention time duration is 50 months.
+ // Available to 360 properties only.
+ FIFTY_MONTHS = 6;
+ }
+
+ // Output only. Resource name for this DataRetentionSetting resource.
+ // Format: properties/{property}/dataRetentionSettings
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The length of time that event-level data is retained.
+ RetentionDuration event_data_retention = 2;
+
+ // If true, reset the retention period for the user identifier with every
+ // event from that user.
+ bool reset_user_data_on_new_activity = 3;
+}