1// Copyright 2023 Google LLC 2// 3// Licensed under the Apache License, Version 2.0 (the "License"); 4// you may not use this file except in compliance with the License. 5// You may obtain a copy of the License at 6// 7// http://www.apache.org/licenses/LICENSE-2.0 8// 9// Unless required by applicable law or agreed to in writing, software 10// distributed under the License is distributed on an "AS IS" BASIS, 11// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12// See the License for the specific language governing permissions and 13// limitations under the License. 14 15syntax = "proto3"; 16 17package google.analytics.admin.v1alpha; 18 19import "google/analytics/admin/v1alpha/audience.proto"; 20import "google/analytics/admin/v1alpha/channel_group.proto"; 21import "google/analytics/admin/v1alpha/event_create_and_edit.proto"; 22import "google/analytics/admin/v1alpha/expanded_data_set.proto"; 23import "google/api/field_behavior.proto"; 24import "google/api/resource.proto"; 25import "google/protobuf/timestamp.proto"; 26import "google/protobuf/wrappers.proto"; 27 28option go_package = "cloud.google.com/go/analytics/admin/apiv1alpha/adminpb;adminpb"; 29option java_multiple_files = true; 30option java_outer_classname = "ResourcesProto"; 31option java_package = "com.google.analytics.admin.v1alpha"; 32 33// The category selected for this property, used for industry benchmarking. 34enum IndustryCategory { 35 // Industry category unspecified 36 INDUSTRY_CATEGORY_UNSPECIFIED = 0; 37 38 // Automotive 39 AUTOMOTIVE = 1; 40 41 // Business and industrial markets 42 BUSINESS_AND_INDUSTRIAL_MARKETS = 2; 43 44 // Finance 45 FINANCE = 3; 46 47 // Healthcare 48 HEALTHCARE = 4; 49 50 // Technology 51 TECHNOLOGY = 5; 52 53 // Travel 54 TRAVEL = 6; 55 56 // Other 57 OTHER = 7; 58 59 // Arts and entertainment 60 ARTS_AND_ENTERTAINMENT = 8; 61 62 // Beauty and fitness 63 BEAUTY_AND_FITNESS = 9; 64 65 // Books and literature 66 BOOKS_AND_LITERATURE = 10; 67 68 // Food and drink 69 FOOD_AND_DRINK = 11; 70 71 // Games 72 GAMES = 12; 73 74 // Hobbies and leisure 75 HOBBIES_AND_LEISURE = 13; 76 77 // Home and garden 78 HOME_AND_GARDEN = 14; 79 80 // Internet and telecom 81 INTERNET_AND_TELECOM = 15; 82 83 // Law and government 84 LAW_AND_GOVERNMENT = 16; 85 86 // News 87 NEWS = 17; 88 89 // Online communities 90 ONLINE_COMMUNITIES = 18; 91 92 // People and society 93 PEOPLE_AND_SOCIETY = 19; 94 95 // Pets and animals 96 PETS_AND_ANIMALS = 20; 97 98 // Real estate 99 REAL_ESTATE = 21; 100 101 // Reference 102 REFERENCE = 22; 103 104 // Science 105 SCIENCE = 23; 106 107 // Sports 108 SPORTS = 24; 109 110 // Jobs and education 111 JOBS_AND_EDUCATION = 25; 112 113 // Shopping 114 SHOPPING = 26; 115} 116 117// Various levels of service for Google Analytics. 118enum ServiceLevel { 119 // Service level not specified or invalid. 120 SERVICE_LEVEL_UNSPECIFIED = 0; 121 122 // The standard version of Google Analytics. 123 GOOGLE_ANALYTICS_STANDARD = 1; 124 125 // The paid, premium version of Google Analytics. 126 GOOGLE_ANALYTICS_360 = 2; 127} 128 129// Different kinds of actors that can make changes to Google Analytics 130// resources. 131enum ActorType { 132 // Unknown or unspecified actor type. 133 ACTOR_TYPE_UNSPECIFIED = 0; 134 135 // Changes made by the user specified in actor_email. 136 USER = 1; 137 138 // Changes made by the Google Analytics system. 139 SYSTEM = 2; 140 141 // Changes made by Google Analytics support team staff. 142 SUPPORT = 3; 143} 144 145// Types of actions that may change a resource. 146enum ActionType { 147 // Action type unknown or not specified. 148 ACTION_TYPE_UNSPECIFIED = 0; 149 150 // Resource was created in this change. 151 CREATED = 1; 152 153 // Resource was updated in this change. 154 UPDATED = 2; 155 156 // Resource was deleted in this change. 157 DELETED = 3; 158} 159 160// Types of resources whose changes may be returned from change history. 161enum ChangeHistoryResourceType { 162 // Resource type unknown or not specified. 163 CHANGE_HISTORY_RESOURCE_TYPE_UNSPECIFIED = 0; 164 165 // Account resource 166 ACCOUNT = 1; 167 168 // Property resource 169 PROPERTY = 2; 170 171 // FirebaseLink resource 172 FIREBASE_LINK = 6; 173 174 // GoogleAdsLink resource 175 GOOGLE_ADS_LINK = 7; 176 177 // GoogleSignalsSettings resource 178 GOOGLE_SIGNALS_SETTINGS = 8; 179 180 // ConversionEvent resource 181 CONVERSION_EVENT = 9; 182 183 // MeasurementProtocolSecret resource 184 MEASUREMENT_PROTOCOL_SECRET = 10; 185 186 // CustomDimension resource 187 CUSTOM_DIMENSION = 11; 188 189 // CustomMetric resource 190 CUSTOM_METRIC = 12; 191 192 // DataRetentionSettings resource 193 DATA_RETENTION_SETTINGS = 13; 194 195 // DisplayVideo360AdvertiserLink resource 196 DISPLAY_VIDEO_360_ADVERTISER_LINK = 14; 197 198 // DisplayVideo360AdvertiserLinkProposal resource 199 DISPLAY_VIDEO_360_ADVERTISER_LINK_PROPOSAL = 15; 200 201 // SearchAds360Link resource 202 SEARCH_ADS_360_LINK = 16; 203 204 // DataStream resource 205 DATA_STREAM = 18; 206 207 // AttributionSettings resource 208 ATTRIBUTION_SETTINGS = 20; 209 210 // ExpandedDataSet resource 211 EXPANDED_DATA_SET = 21; 212 213 // ChannelGroup resource 214 CHANNEL_GROUP = 22; 215 216 // EnhancedMeasurementSettings resource 217 ENHANCED_MEASUREMENT_SETTINGS = 24; 218 219 // DataRedactionSettings resource 220 DATA_REDACTION_SETTINGS = 25; 221 222 // SKAdNetworkConversionValueSchema resource 223 SKADNETWORK_CONVERSION_VALUE_SCHEMA = 26; 224 225 // AdSenseLink resource 226 ADSENSE_LINK = 27; 227 228 // Audience resource 229 AUDIENCE = 28; 230 231 // EventCreateRule resource 232 EVENT_CREATE_RULE = 29; 233 234 // CalculatedMetric resource 235 CALCULATED_METRIC = 31; 236} 237 238// Status of the Google Signals settings. 239enum GoogleSignalsState { 240 // Google Signals status defaults to GOOGLE_SIGNALS_STATE_UNSPECIFIED to 241 // represent that the user has not made an explicit choice. 242 GOOGLE_SIGNALS_STATE_UNSPECIFIED = 0; 243 244 // Google Signals is enabled. 245 GOOGLE_SIGNALS_ENABLED = 1; 246 247 // Google Signals is disabled. 248 GOOGLE_SIGNALS_DISABLED = 2; 249} 250 251// Consent field of the Google Signals settings. 252enum GoogleSignalsConsent { 253 // Google Signals consent value defaults to 254 // GOOGLE_SIGNALS_CONSENT_UNSPECIFIED. This will be treated as 255 // GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED. 256 GOOGLE_SIGNALS_CONSENT_UNSPECIFIED = 0; 257 258 // Terms of service have been accepted 259 GOOGLE_SIGNALS_CONSENT_CONSENTED = 2; 260 261 // Terms of service have not been accepted 262 GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED = 1; 263} 264 265// An indication of which product the user initiated a link proposal from. 266enum LinkProposalInitiatingProduct { 267 // Unspecified product. 268 LINK_PROPOSAL_INITIATING_PRODUCT_UNSPECIFIED = 0; 269 270 // This proposal was created by a user from Google Analytics. 271 GOOGLE_ANALYTICS = 1; 272 273 // This proposal was created by a user from a linked product (not Google 274 // Analytics). 275 LINKED_PRODUCT = 2; 276} 277 278// The state of a link proposal resource. 279enum LinkProposalState { 280 // Unspecified state 281 LINK_PROPOSAL_STATE_UNSPECIFIED = 0; 282 283 // This proposal is awaiting review from a Google Analytics user. This 284 // proposal will automatically expire after some time. 285 AWAITING_REVIEW_FROM_GOOGLE_ANALYTICS = 1; 286 287 // This proposal is awaiting review from a user of a linked product. This 288 // proposal will automatically expire after some time. 289 AWAITING_REVIEW_FROM_LINKED_PRODUCT = 2; 290 291 // This proposal has been withdrawn by an admin on the initiating product. 292 // This proposal will be automatically deleted after some time. 293 WITHDRAWN = 3; 294 295 // This proposal has been declined by an admin on the receiving product. This 296 // proposal will be automatically deleted after some time. 297 DECLINED = 4; 298 299 // This proposal expired due to lack of response from an admin on the 300 // receiving product. This proposal will be automatically deleted after some 301 // time. 302 EXPIRED = 5; 303 304 // This proposal has become obsolete because a link was directly created to 305 // the same external product resource that this proposal specifies. This 306 // proposal will be automatically deleted after some time. 307 OBSOLETE = 6; 308} 309 310// Types of Property resources. 311enum PropertyType { 312 // Unknown or unspecified property type 313 PROPERTY_TYPE_UNSPECIFIED = 0; 314 315 // Ordinary GA4 property 316 PROPERTY_TYPE_ORDINARY = 1; 317 318 // GA4 subproperty 319 PROPERTY_TYPE_SUBPROPERTY = 2; 320 321 // GA4 rollup property 322 PROPERTY_TYPE_ROLLUP = 3; 323} 324 325// The coarse conversion value set on the updatePostbackConversionValue SDK call 326// when a ConversionValues.event_mappings conditions are satisfied. For 327// more information, see 328// [SKAdNetwork.CoarseConversionValue](https://developer.apple.com/documentation/storekit/skadnetwork/coarseconversionvalue). 329enum CoarseValue { 330 // Coarse value not specified. 331 COARSE_VALUE_UNSPECIFIED = 0; 332 333 // Coarse value of low. 334 COARSE_VALUE_LOW = 1; 335 336 // Coarse value of medium. 337 COARSE_VALUE_MEDIUM = 2; 338 339 // Coarse value of high. 340 COARSE_VALUE_HIGH = 3; 341} 342 343// A resource message representing a Google Analytics account. 344message Account { 345 option (google.api.resource) = { 346 type: "analyticsadmin.googleapis.com/Account" 347 pattern: "accounts/{account}" 348 }; 349 350 // Output only. Resource name of this account. 351 // Format: accounts/{account} 352 // Example: "accounts/100" 353 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 354 355 // Output only. Time when this account was originally created. 356 google.protobuf.Timestamp create_time = 2 357 [(google.api.field_behavior) = OUTPUT_ONLY]; 358 359 // Output only. Time when account payload fields were last updated. 360 google.protobuf.Timestamp update_time = 3 361 [(google.api.field_behavior) = OUTPUT_ONLY]; 362 363 // Required. Human-readable display name for this account. 364 string display_name = 4 [(google.api.field_behavior) = REQUIRED]; 365 366 // Country of business. Must be a Unicode CLDR region code. 367 string region_code = 5; 368 369 // Output only. Indicates whether this Account is soft-deleted or not. Deleted 370 // accounts are excluded from List results unless specifically requested. 371 bool deleted = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; 372} 373 374// A resource message representing a Google Analytics GA4 property. 375message Property { 376 option (google.api.resource) = { 377 type: "analyticsadmin.googleapis.com/Property" 378 pattern: "properties/{property}" 379 }; 380 381 // Output only. Resource name of this property. 382 // Format: properties/{property_id} 383 // Example: "properties/1000" 384 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 385 386 // Immutable. The property type for this Property resource. When creating a 387 // property, if the type is "PROPERTY_TYPE_UNSPECIFIED", then 388 // "ORDINARY_PROPERTY" will be implied. 389 PropertyType property_type = 14 [(google.api.field_behavior) = IMMUTABLE]; 390 391 // Output only. Time when the entity was originally created. 392 google.protobuf.Timestamp create_time = 3 393 [(google.api.field_behavior) = OUTPUT_ONLY]; 394 395 // Output only. Time when entity payload fields were last updated. 396 google.protobuf.Timestamp update_time = 4 397 [(google.api.field_behavior) = OUTPUT_ONLY]; 398 399 // Immutable. Resource name of this property's logical parent. 400 // 401 // Note: The Property-Moving UI can be used to change the parent. 402 // Format: accounts/{account}, properties/{property} 403 // Example: "accounts/100", "properties/101" 404 string parent = 2 [(google.api.field_behavior) = IMMUTABLE]; 405 406 // Required. Human-readable display name for this property. 407 // 408 // The max allowed display name length is 100 UTF-16 code units. 409 string display_name = 5 [(google.api.field_behavior) = REQUIRED]; 410 411 // Industry associated with this property 412 // Example: AUTOMOTIVE, FOOD_AND_DRINK 413 IndustryCategory industry_category = 6; 414 415 // Required. Reporting Time Zone, used as the day boundary for reports, 416 // regardless of where the data originates. If the time zone honors DST, 417 // Analytics will automatically adjust for the changes. 418 // 419 // NOTE: Changing the time zone only affects data going forward, and is not 420 // applied retroactively. 421 // 422 // Format: https://www.iana.org/time-zones 423 // Example: "America/Los_Angeles" 424 string time_zone = 7 [(google.api.field_behavior) = REQUIRED]; 425 426 // The currency type used in reports involving monetary values. 427 // 428 // 429 // Format: https://en.wikipedia.org/wiki/ISO_4217 430 // Examples: "USD", "EUR", "JPY" 431 string currency_code = 8; 432 433 // Output only. The Google Analytics service level that applies to this 434 // property. 435 ServiceLevel service_level = 10 [(google.api.field_behavior) = OUTPUT_ONLY]; 436 437 // Output only. If set, the time at which this property was trashed. If not 438 // set, then this property is not currently in the trash can. 439 google.protobuf.Timestamp delete_time = 11 440 [(google.api.field_behavior) = OUTPUT_ONLY]; 441 442 // Output only. If set, the time at which this trashed property will be 443 // permanently deleted. If not set, then this property is not currently in the 444 // trash can and is not slated to be deleted. 445 google.protobuf.Timestamp expire_time = 12 446 [(google.api.field_behavior) = OUTPUT_ONLY]; 447 448 // Immutable. The resource name of the parent account 449 // Format: accounts/{account_id} 450 // Example: "accounts/123" 451 string account = 13 [ 452 (google.api.field_behavior) = IMMUTABLE, 453 (google.api.resource_reference) = { 454 type: "analyticsadmin.googleapis.com/Account" 455 } 456 ]; 457} 458 459// A resource message representing a data stream. 460message DataStream { 461 option (google.api.resource) = { 462 type: "analyticsadmin.googleapis.com/DataStream" 463 pattern: "properties/{property}/dataStreams/{data_stream}" 464 }; 465 466 // Data specific to web streams. 467 message WebStreamData { 468 // Output only. Analytics Measurement ID. 469 // 470 // Example: "G-1A2BCD345E" 471 string measurement_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 472 473 // Output only. ID of the corresponding web app in Firebase, if any. 474 // This ID can change if the web app is deleted and recreated. 475 string firebase_app_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 476 477 // Domain name of the web app being measured, or empty. 478 // Example: "http://www.google.com", "https://www.google.com" 479 string default_uri = 3; 480 } 481 482 // Data specific to Android app streams. 483 message AndroidAppStreamData { 484 // Output only. ID of the corresponding Android app in Firebase, if any. 485 // This ID can change if the Android app is deleted and recreated. 486 string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 487 488 // Immutable. The package name for the app being measured. 489 // Example: "com.example.myandroidapp" 490 string package_name = 2 [(google.api.field_behavior) = IMMUTABLE]; 491 } 492 493 // Data specific to iOS app streams. 494 message IosAppStreamData { 495 // Output only. ID of the corresponding iOS app in Firebase, if any. 496 // This ID can change if the iOS app is deleted and recreated. 497 string firebase_app_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 498 499 // Required. Immutable. The Apple App Store Bundle ID for the app 500 // Example: "com.example.myiosapp" 501 string bundle_id = 2 [ 502 (google.api.field_behavior) = IMMUTABLE, 503 (google.api.field_behavior) = REQUIRED 504 ]; 505 } 506 507 // The type of the data stream. 508 enum DataStreamType { 509 // Type unknown or not specified. 510 DATA_STREAM_TYPE_UNSPECIFIED = 0; 511 512 // Web data stream. 513 WEB_DATA_STREAM = 1; 514 515 // Android app data stream. 516 ANDROID_APP_DATA_STREAM = 2; 517 518 // iOS app data stream. 519 IOS_APP_DATA_STREAM = 3; 520 } 521 522 // Data for specific data stream types. The message that will be 523 // set corresponds to the type of this stream. 524 oneof stream_data { 525 // Data specific to web streams. Must be populated if type is 526 // WEB_DATA_STREAM. 527 WebStreamData web_stream_data = 6; 528 529 // Data specific to Android app streams. Must be populated if type is 530 // ANDROID_APP_DATA_STREAM. 531 AndroidAppStreamData android_app_stream_data = 7; 532 533 // Data specific to iOS app streams. Must be populated if type is 534 // IOS_APP_DATA_STREAM. 535 IosAppStreamData ios_app_stream_data = 8; 536 } 537 538 // Output only. Resource name of this Data Stream. 539 // Format: properties/{property_id}/dataStreams/{stream_id} 540 // Example: "properties/1000/dataStreams/2000" 541 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 542 543 // Required. Immutable. The type of this DataStream resource. 544 DataStreamType type = 2 [ 545 (google.api.field_behavior) = IMMUTABLE, 546 (google.api.field_behavior) = REQUIRED 547 ]; 548 549 // Human-readable display name for the Data Stream. 550 // 551 // Required for web data streams. 552 // 553 // The max allowed display name length is 255 UTF-16 code units. 554 string display_name = 3; 555 556 // Output only. Time when this stream was originally created. 557 google.protobuf.Timestamp create_time = 4 558 [(google.api.field_behavior) = OUTPUT_ONLY]; 559 560 // Output only. Time when stream payload fields were last updated. 561 google.protobuf.Timestamp update_time = 5 562 [(google.api.field_behavior) = OUTPUT_ONLY]; 563} 564 565// A link between a GA4 property and a Firebase project. 566message FirebaseLink { 567 option (google.api.resource) = { 568 type: "analyticsadmin.googleapis.com/FirebaseLink" 569 pattern: "properties/{property}/firebaseLinks/{firebase_link}" 570 }; 571 572 // Output only. Example format: properties/1234/firebaseLinks/5678 573 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 574 575 // Immutable. Firebase project resource name. When creating a FirebaseLink, 576 // you may provide this resource name using either a project number or project 577 // ID. Once this resource has been created, returned FirebaseLinks will always 578 // have a project_name that contains a project number. 579 // 580 // Format: 'projects/{project number}' 581 // Example: 'projects/1234' 582 string project = 2 [(google.api.field_behavior) = IMMUTABLE]; 583 584 // Output only. Time when this FirebaseLink was originally created. 585 google.protobuf.Timestamp create_time = 3 586 [(google.api.field_behavior) = OUTPUT_ONLY]; 587} 588 589// Read-only resource with the tag for sending data from a website to a 590// DataStream. Only present for web DataStream resources. 591message GlobalSiteTag { 592 option (google.api.resource) = { 593 type: "analyticsadmin.googleapis.com/GlobalSiteTag" 594 pattern: "properties/{property}/dataStreams/{data_stream}/globalSiteTag" 595 }; 596 597 // Output only. Resource name for this GlobalSiteTag resource. 598 // Format: properties/{property_id}/dataStreams/{stream_id}/globalSiteTag 599 // Example: "properties/123/dataStreams/456/globalSiteTag" 600 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 601 602 // Immutable. JavaScript code snippet to be pasted as the first item into the 603 // head tag of every webpage to measure. 604 string snippet = 2 [(google.api.field_behavior) = IMMUTABLE]; 605} 606 607// A link between a GA4 property and a Google Ads account. 608message GoogleAdsLink { 609 option (google.api.resource) = { 610 type: "analyticsadmin.googleapis.com/GoogleAdsLink" 611 pattern: "properties/{property}/googleAdsLinks/{google_ads_link}" 612 }; 613 614 // Output only. Format: 615 // properties/{propertyId}/googleAdsLinks/{googleAdsLinkId} 616 // 617 // Note: googleAdsLinkId is not the Google Ads customer ID. 618 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 619 620 // Immutable. Google Ads customer ID. 621 string customer_id = 3 [(google.api.field_behavior) = IMMUTABLE]; 622 623 // Output only. If true, this link is for a Google Ads manager account. 624 bool can_manage_clients = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 625 626 // Enable personalized advertising features with this integration. 627 // Automatically publish my Google Analytics audience lists and Google 628 // Analytics remarketing events/parameters to the linked Google Ads account. 629 // If this field is not set on create/update, it will be defaulted to true. 630 google.protobuf.BoolValue ads_personalization_enabled = 5; 631 632 // Output only. Time when this link was originally created. 633 google.protobuf.Timestamp create_time = 7 634 [(google.api.field_behavior) = OUTPUT_ONLY]; 635 636 // Output only. Time when this link was last updated. 637 google.protobuf.Timestamp update_time = 8 638 [(google.api.field_behavior) = OUTPUT_ONLY]; 639 640 // Output only. Email address of the user that created the link. 641 // An empty string will be returned if the email address can't be retrieved. 642 string creator_email_address = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 643} 644 645// A resource message representing data sharing settings of a Google Analytics 646// account. 647message DataSharingSettings { 648 option (google.api.resource) = { 649 type: "analyticsadmin.googleapis.com/DataSharingSettings" 650 pattern: "accounts/{account}/dataSharingSettings" 651 }; 652 653 // Output only. Resource name. 654 // Format: accounts/{account}/dataSharingSettings 655 // Example: "accounts/1000/dataSharingSettings" 656 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 657 658 // Allows Google support to access the data in order to help troubleshoot 659 // issues. 660 bool sharing_with_google_support_enabled = 2; 661 662 // Allows Google sales teams that are assigned to the customer to access the 663 // data in order to suggest configuration changes to improve results. 664 // Sales team restrictions still apply when enabled. 665 bool sharing_with_google_assigned_sales_enabled = 3; 666 667 // Allows any of Google sales to access the data in order to suggest 668 // configuration changes to improve results. 669 bool sharing_with_google_any_sales_enabled = 4; 670 671 // Allows Google to use the data to improve other Google products or services. 672 bool sharing_with_google_products_enabled = 5; 673 674 // Allows Google to share the data anonymously in aggregate form with others. 675 bool sharing_with_others_enabled = 6; 676} 677 678// A virtual resource representing an overview of an account and 679// all its child GA4 properties. 680message AccountSummary { 681 option (google.api.resource) = { 682 type: "analyticsadmin.googleapis.com/AccountSummary" 683 pattern: "accountSummaries/{account_summary}" 684 }; 685 686 // Resource name for this account summary. 687 // Format: accountSummaries/{account_id} 688 // Example: "accountSummaries/1000" 689 string name = 1; 690 691 // Resource name of account referred to by this account summary 692 // Format: accounts/{account_id} 693 // Example: "accounts/1000" 694 string account = 2 [(google.api.resource_reference) = { 695 type: "analyticsadmin.googleapis.com/Account" 696 }]; 697 698 // Display name for the account referred to in this account summary. 699 string display_name = 3; 700 701 // List of summaries for child accounts of this account. 702 repeated PropertySummary property_summaries = 4; 703} 704 705// A virtual resource representing metadata for a GA4 property. 706message PropertySummary { 707 // Resource name of property referred to by this property summary 708 // Format: properties/{property_id} 709 // Example: "properties/1000" 710 string property = 1 [(google.api.resource_reference) = { 711 type: "analyticsadmin.googleapis.com/Property" 712 }]; 713 714 // Display name for the property referred to in this property summary. 715 string display_name = 2; 716 717 // The property's property type. 718 PropertyType property_type = 3; 719 720 // Resource name of this property's logical parent. 721 // 722 // Note: The Property-Moving UI can be used to change the parent. 723 // Format: accounts/{account}, properties/{property} 724 // Example: "accounts/100", "properties/200" 725 string parent = 4; 726} 727 728// A secret value used for sending hits to Measurement Protocol. 729message MeasurementProtocolSecret { 730 option (google.api.resource) = { 731 type: "analyticsadmin.googleapis.com/MeasurementProtocolSecret" 732 pattern: "properties/{property}/dataStreams/{data_stream}/measurementProtocolSecrets/{measurement_protocol_secret}" 733 }; 734 735 // Output only. Resource name of this secret. This secret may be a child of 736 // any type of stream. Format: 737 // properties/{property}/dataStreams/{dataStream}/measurementProtocolSecrets/{measurementProtocolSecret} 738 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 739 740 // Required. Human-readable display name for this secret. 741 string display_name = 2 [(google.api.field_behavior) = REQUIRED]; 742 743 // Output only. The measurement protocol secret value. Pass this value to the 744 // api_secret field of the Measurement Protocol API when sending hits to this 745 // secret's parent property. 746 string secret_value = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; 747} 748 749// SKAdNetwork conversion value schema of an iOS stream. 750message SKAdNetworkConversionValueSchema { 751 option (google.api.resource) = { 752 type: "analyticsadmin.googleapis.com/SKAdNetworkConversionValueSchema" 753 pattern: "properties/{property}/dataStreams/{data_stream}/sKAdNetworkConversionValueSchema/{skadnetwork_conversion_value_schema}" 754 }; 755 756 // Output only. Resource name of the schema. This will be child of ONLY an iOS 757 // stream, and there can be at most one such child under an iOS stream. 758 // Format: 759 // properties/{property}/dataStreams/{dataStream}/sKAdNetworkConversionValueSchema 760 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 761 762 // Required. The conversion value settings for the first postback window. 763 // These differ from values for postback window two and three in that they 764 // contain a "Fine" grained conversion value (a numeric value). 765 // 766 // Conversion values for this postback window must be set. The other windows 767 // are optional and may inherit this window's settings if unset or disabled. 768 PostbackWindow postback_window_one = 2 769 [(google.api.field_behavior) = REQUIRED]; 770 771 // The conversion value settings for the second postback window. 772 // 773 // This field should only be configured if there is a need to define different 774 // conversion values for this postback window. 775 // 776 // If enable_postback_window_settings is set to false for this postback 777 // window, the values from postback_window_one will be used. 778 PostbackWindow postback_window_two = 3; 779 780 // The conversion value settings for the third postback window. 781 // 782 // This field should only be set if the user chose to define different 783 // conversion values for this postback window. It is allowed to configure 784 // window 3 without setting window 2. In case window 1 & 2 settings are set 785 // and enable_postback_window_settings for this postback window is set to 786 // false, the schema will inherit settings from postback_window_two. 787 PostbackWindow postback_window_three = 4; 788 789 // If enabled, the GA SDK will set conversion values using this schema 790 // definition, and schema will be exported to any Google Ads accounts linked 791 // to this property. If disabled, the GA SDK will not automatically set 792 // conversion values, and also the schema will not be exported to Ads. 793 bool apply_conversion_values = 5; 794} 795 796// Settings for a SKAdNetwork conversion postback window. 797message PostbackWindow { 798 // Ordering of the repeated field will be used to prioritize the conversion 799 // value settings. Lower indexed entries are prioritized higher. The first 800 // conversion value setting that evaluates to true will be selected. It must 801 // have at least one entry if enable_postback_window_settings is set to 802 // true. It can have maximum of 128 entries. 803 repeated ConversionValues conversion_values = 1; 804 805 // If enable_postback_window_settings is true, conversion_values 806 // must be populated and will be used for determining when and how to set the 807 // Conversion Value on a client device and exporting schema to linked Ads 808 // accounts. If false, the settings are not used, but are retained in case 809 // they may be used in the future. This must always be true for 810 // postback_window_one. 811 bool postback_window_settings_enabled = 2; 812} 813 814// Conversion value settings for a postback window for SKAdNetwork conversion 815// value schema. 816message ConversionValues { 817 // Display name of the SKAdNetwork conversion value. 818 // The max allowed display name length is 50 UTF-16 code units. 819 string display_name = 1; 820 821 // The fine-grained conversion value. This is applicable only to the first 822 // postback window. Its valid values are [0,63], both inclusive. It must be 823 // set for postback window 1, and must not be set for postback window 2 & 3. 824 // This value is not guaranteed to be unique. 825 // 826 // If the configuration for the first postback window is re-used for second or 827 // third postback windows this field has no effect. 828 optional int32 fine_value = 2; 829 830 // Required. A coarse grained conversion value. 831 // 832 // This value is not guaranteed to be unique. 833 CoarseValue coarse_value = 3 [(google.api.field_behavior) = REQUIRED]; 834 835 // Event conditions that must be met for this Conversion Value to be achieved. 836 // The conditions in this list are ANDed together. It must have minimum of 1 837 // entry and maximum of 3 entries, if the postback window is enabled. 838 repeated EventMapping event_mappings = 4; 839 840 // If true, the SDK should lock to this conversion value for the current 841 // postback window. 842 bool lock_enabled = 5; 843} 844 845// Event setting conditions to match an event. 846message EventMapping { 847 // Required. Name of the GA4 event. It must always be set. 848 // The max allowed display name length is 40 UTF-16 code units. 849 string event_name = 1 [(google.api.field_behavior) = REQUIRED]; 850 851 // At least one of the following four min/max values must be set. The 852 // values set will be ANDed together to qualify an event. 853 // The minimum number of times the event occurred. If not set, minimum event 854 // count won't be checked. 855 optional int64 min_event_count = 2; 856 857 // The maximum number of times the event occurred. If not set, maximum event 858 // count won't be checked. 859 optional int64 max_event_count = 3; 860 861 // The minimum revenue generated due to the event. Revenue currency will be 862 // defined at the property level. If not set, minimum event value won't be 863 // checked. 864 optional double min_event_value = 4; 865 866 // The maximum revenue generated due to the event. Revenue currency will be 867 // defined at the property level. If not set, maximum event value won't be 868 // checked. 869 optional double max_event_value = 5; 870} 871 872// A set of changes within a Google Analytics account or its child properties 873// that resulted from the same cause. Common causes would be updates made in the 874// Google Analytics UI, changes from customer support, or automatic Google 875// Analytics system changes. 876message ChangeHistoryEvent { 877 // ID of this change history event. This ID is unique across Google Analytics. 878 string id = 1; 879 880 // Time when change was made. 881 google.protobuf.Timestamp change_time = 2; 882 883 // The type of actor that made this change. 884 ActorType actor_type = 3; 885 886 // Email address of the Google account that made the change. This will be a 887 // valid email address if the actor field is set to USER, and empty otherwise. 888 // Google accounts that have been deleted will cause an error. 889 string user_actor_email = 4; 890 891 // If true, then the list of changes returned was filtered, and does not 892 // represent all changes that occurred in this event. 893 bool changes_filtered = 5; 894 895 // A list of changes made in this change history event that fit the filters 896 // specified in SearchChangeHistoryEventsRequest. 897 repeated ChangeHistoryChange changes = 6; 898} 899 900// A description of a change to a single Google Analytics resource. 901message ChangeHistoryChange { 902 // A snapshot of a resource as before or after the result of a change in 903 // change history. 904 message ChangeHistoryResource { 905 oneof resource { 906 // A snapshot of an Account resource in change history. 907 Account account = 1; 908 909 // A snapshot of a Property resource in change history. 910 Property property = 2; 911 912 // A snapshot of a FirebaseLink resource in change history. 913 FirebaseLink firebase_link = 6; 914 915 // A snapshot of a GoogleAdsLink resource in change history. 916 GoogleAdsLink google_ads_link = 7; 917 918 // A snapshot of a GoogleSignalsSettings resource in change history. 919 GoogleSignalsSettings google_signals_settings = 8; 920 921 // A snapshot of a DisplayVideo360AdvertiserLink resource in change 922 // history. 923 DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 9; 924 925 // A snapshot of a DisplayVideo360AdvertiserLinkProposal resource in 926 // change history. 927 DisplayVideo360AdvertiserLinkProposal 928 display_video_360_advertiser_link_proposal = 10; 929 930 // A snapshot of a ConversionEvent resource in change history. 931 ConversionEvent conversion_event = 11; 932 933 // A snapshot of a MeasurementProtocolSecret resource in change history. 934 MeasurementProtocolSecret measurement_protocol_secret = 12; 935 936 // A snapshot of a CustomDimension resource in change history. 937 CustomDimension custom_dimension = 13; 938 939 // A snapshot of a CustomMetric resource in change history. 940 CustomMetric custom_metric = 14; 941 942 // A snapshot of a data retention settings resource in change history. 943 DataRetentionSettings data_retention_settings = 15; 944 945 // A snapshot of a SearchAds360Link resource in change history. 946 SearchAds360Link search_ads_360_link = 16; 947 948 // A snapshot of a DataStream resource in change history. 949 DataStream data_stream = 18; 950 951 // A snapshot of AttributionSettings resource in change history. 952 AttributionSettings attribution_settings = 20; 953 954 // A snapshot of an ExpandedDataSet resource in change history. 955 ExpandedDataSet expanded_data_set = 21; 956 957 // A snapshot of a ChannelGroup resource in change history. 958 ChannelGroup channel_group = 22; 959 960 // A snapshot of a BigQuery link resource in change history. 961 BigQueryLink bigquery_link = 23; 962 963 // A snapshot of EnhancedMeasurementSettings resource in change history. 964 EnhancedMeasurementSettings enhanced_measurement_settings = 24; 965 966 // A snapshot of DataRedactionSettings resource in change history. 967 DataRedactionSettings data_redaction_settings = 25; 968 969 // A snapshot of SKAdNetworkConversionValueSchema resource in change 970 // history. 971 SKAdNetworkConversionValueSchema skadnetwork_conversion_value_schema = 26; 972 973 // A snapshot of an AdSenseLink resource in change history. 974 AdSenseLink adsense_link = 27; 975 976 // A snapshot of an Audience resource in change history. 977 Audience audience = 28; 978 979 // A snapshot of an EventCreateRule resource in change history. 980 EventCreateRule event_create_rule = 29; 981 982 // A snapshot of a CalculatedMetric resource in change history. 983 CalculatedMetric calculated_metric = 31; 984 } 985 } 986 987 // Resource name of the resource whose changes are described by this entry. 988 string resource = 1; 989 990 // The type of action that changed this resource. 991 ActionType action = 2; 992 993 // Resource contents from before the change was made. If this resource was 994 // created in this change, this field will be missing. 995 ChangeHistoryResource resource_before_change = 3; 996 997 // Resource contents from after the change was made. If this resource was 998 // deleted in this change, this field will be missing. 999 ChangeHistoryResource resource_after_change = 4; 1000} 1001 1002// A link between a GA4 property and a Display & Video 360 advertiser. 1003message DisplayVideo360AdvertiserLink { 1004 option (google.api.resource) = { 1005 type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink" 1006 pattern: "properties/{property}/displayVideo360AdvertiserLinks/{display_video_360_advertiser_link}" 1007 }; 1008 1009 // Output only. The resource name for this DisplayVideo360AdvertiserLink 1010 // resource. Format: 1011 // properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId} 1012 // 1013 // Note: linkId is not the Display & Video 360 Advertiser ID 1014 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1015 1016 // Immutable. The Display & Video 360 Advertiser's advertiser ID. 1017 string advertiser_id = 2 [(google.api.field_behavior) = IMMUTABLE]; 1018 1019 // Output only. The display name of the Display & Video 360 Advertiser. 1020 string advertiser_display_name = 3 1021 [(google.api.field_behavior) = OUTPUT_ONLY]; 1022 1023 // Enables personalized advertising features with this integration. 1024 // If this field is not set on create/update, it will be defaulted to true. 1025 google.protobuf.BoolValue ads_personalization_enabled = 4; 1026 1027 // Immutable. Enables the import of campaign data from Display & Video 360 1028 // into the GA4 property. After link creation, this can only be updated from 1029 // the Display & Video 360 product. If this field is not set on create, it 1030 // will be defaulted to true. 1031 google.protobuf.BoolValue campaign_data_sharing_enabled = 5 1032 [(google.api.field_behavior) = IMMUTABLE]; 1033 1034 // Immutable. Enables the import of cost data from Display & Video 360 into 1035 // the GA4 property. This can only be enabled if campaign_data_sharing_enabled 1036 // is enabled. After link creation, this can only be updated from the Display 1037 // & Video 360 product. If this field is not set on create, it will be 1038 // defaulted to true. 1039 google.protobuf.BoolValue cost_data_sharing_enabled = 6 1040 [(google.api.field_behavior) = IMMUTABLE]; 1041} 1042 1043// A proposal for a link between a GA4 property and a Display & Video 360 1044// advertiser. 1045// 1046// A proposal is converted to a DisplayVideo360AdvertiserLink once approved. 1047// Google Analytics admins approve inbound proposals while Display & Video 360 1048// admins approve outbound proposals. 1049message DisplayVideo360AdvertiserLinkProposal { 1050 option (google.api.resource) = { 1051 type: "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal" 1052 pattern: "properties/{property}/displayVideo360AdvertiserLinkProposals/{display_video_360_advertiser_link_proposal}" 1053 }; 1054 1055 // Output only. The resource name for this 1056 // DisplayVideo360AdvertiserLinkProposal resource. Format: 1057 // properties/{propertyId}/displayVideo360AdvertiserLinkProposals/{proposalId} 1058 // 1059 // Note: proposalId is not the Display & Video 360 Advertiser ID 1060 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1061 1062 // Immutable. The Display & Video 360 Advertiser's advertiser ID. 1063 string advertiser_id = 2 [(google.api.field_behavior) = IMMUTABLE]; 1064 1065 // Output only. The status information for this link proposal. 1066 LinkProposalStatusDetails link_proposal_status_details = 3 1067 [(google.api.field_behavior) = OUTPUT_ONLY]; 1068 1069 // Output only. The display name of the Display & Video Advertiser. 1070 // Only populated for proposals that originated from Display & Video 360. 1071 string advertiser_display_name = 4 1072 [(google.api.field_behavior) = OUTPUT_ONLY]; 1073 1074 // Input only. On a proposal being sent to Display & Video 360, this field 1075 // must be set to the email address of an admin on the target advertiser. This 1076 // is used to verify that the Google Analytics admin is aware of at least one 1077 // admin on the Display & Video 360 Advertiser. This does not restrict 1078 // approval of the proposal to a single user. Any admin on the Display & Video 1079 // 360 Advertiser may approve the proposal. 1080 string validation_email = 5 [(google.api.field_behavior) = INPUT_ONLY]; 1081 1082 // Immutable. Enables personalized advertising features with this integration. 1083 // If this field is not set on create, it will be defaulted to true. 1084 google.protobuf.BoolValue ads_personalization_enabled = 6 1085 [(google.api.field_behavior) = IMMUTABLE]; 1086 1087 // Immutable. Enables the import of campaign data from Display & Video 360. 1088 // If this field is not set on create, it will be defaulted to true. 1089 google.protobuf.BoolValue campaign_data_sharing_enabled = 7 1090 [(google.api.field_behavior) = IMMUTABLE]; 1091 1092 // Immutable. Enables the import of cost data from Display & Video 360. 1093 // This can only be enabled if campaign_data_sharing_enabled is enabled. 1094 // If this field is not set on create, it will be defaulted to true. 1095 google.protobuf.BoolValue cost_data_sharing_enabled = 8 1096 [(google.api.field_behavior) = IMMUTABLE]; 1097} 1098 1099// A link between a GA4 property and a Search Ads 360 entity. 1100message SearchAds360Link { 1101 option (google.api.resource) = { 1102 type: "analyticsadmin.googleapis.com/SearchAds360Link" 1103 pattern: "properties/{property}/searchAds360Links/{search_ads_360_link}" 1104 }; 1105 1106 // Output only. The resource name for this SearchAds360Link resource. 1107 // Format: properties/{propertyId}/searchAds360Links/{linkId} 1108 // 1109 // Note: linkId is not the Search Ads 360 advertiser ID 1110 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1111 1112 // Immutable. This field represents the Advertiser ID of the Search Ads 360 1113 // Advertiser. that has been linked. 1114 string advertiser_id = 2 [(google.api.field_behavior) = IMMUTABLE]; 1115 1116 // Immutable. Enables the import of campaign data from Search Ads 360 into the 1117 // GA4 property. After link creation, this can only be updated from the Search 1118 // Ads 360 product. 1119 // If this field is not set on create, it will be defaulted to true. 1120 google.protobuf.BoolValue campaign_data_sharing_enabled = 3 1121 [(google.api.field_behavior) = IMMUTABLE]; 1122 1123 // Immutable. Enables the import of cost data from Search Ads 360 to the GA4 1124 // property. This can only be enabled if campaign_data_sharing_enabled is 1125 // enabled. After link creation, this can only be updated from 1126 // the Search Ads 360 product. 1127 // If this field is not set on create, it will be defaulted to true. 1128 google.protobuf.BoolValue cost_data_sharing_enabled = 4 1129 [(google.api.field_behavior) = IMMUTABLE]; 1130 1131 // Output only. The display name of the Search Ads 360 Advertiser. 1132 // Allows users to easily identify the linked resource. 1133 string advertiser_display_name = 5 1134 [(google.api.field_behavior) = OUTPUT_ONLY]; 1135 1136 // Enables personalized advertising features with this integration. 1137 // If this field is not set on create, it will be defaulted to true. 1138 google.protobuf.BoolValue ads_personalization_enabled = 6; 1139 1140 // Enables export of site stats with this integration. 1141 // If this field is not set on create, it will be defaulted to true. 1142 google.protobuf.BoolValue site_stats_sharing_enabled = 7; 1143} 1144 1145// Status information for a link proposal. 1146message LinkProposalStatusDetails { 1147 // Output only. The source of this proposal. 1148 LinkProposalInitiatingProduct link_proposal_initiating_product = 1 1149 [(google.api.field_behavior) = OUTPUT_ONLY]; 1150 1151 // Output only. The email address of the user that proposed this linkage. 1152 string requestor_email = 2 [(google.api.field_behavior) = OUTPUT_ONLY]; 1153 1154 // Output only. The state of this proposal. 1155 LinkProposalState link_proposal_state = 3 1156 [(google.api.field_behavior) = OUTPUT_ONLY]; 1157} 1158 1159// A conversion event in a Google Analytics property. 1160message ConversionEvent { 1161 option (google.api.resource) = { 1162 type: "analyticsadmin.googleapis.com/ConversionEvent" 1163 pattern: "properties/{property}/conversionEvents/{conversion_event}" 1164 }; 1165 1166 // Defines a default value/currency for a conversion event. Both value and 1167 // currency must be provided. 1168 message DefaultConversionValue { 1169 // This value will be used to populate the value for all conversions 1170 // of the specified event_name where the event "value" parameter is unset. 1171 optional double value = 1; 1172 1173 // When a conversion event for this event_name has no set currency, 1174 // this currency will be applied as the default. Must be in ISO 4217 1175 // currency code format. See https://en.wikipedia.org/wiki/ISO_4217 for 1176 // more information. 1177 optional string currency_code = 2; 1178 } 1179 1180 // The method by which conversions will be counted across multiple events 1181 // within a session. 1182 enum ConversionCountingMethod { 1183 // Counting method not specified. 1184 CONVERSION_COUNTING_METHOD_UNSPECIFIED = 0; 1185 1186 // Each Event instance is considered a Conversion. 1187 ONCE_PER_EVENT = 1; 1188 1189 // An Event instance is considered a Conversion at most once per session per 1190 // user. 1191 ONCE_PER_SESSION = 2; 1192 } 1193 1194 // Output only. Resource name of this conversion event. 1195 // Format: properties/{property}/conversionEvents/{conversion_event} 1196 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1197 1198 // Immutable. The event name for this conversion event. 1199 // Examples: 'click', 'purchase' 1200 string event_name = 2 [(google.api.field_behavior) = IMMUTABLE]; 1201 1202 // Output only. Time when this conversion event was created in the property. 1203 google.protobuf.Timestamp create_time = 3 1204 [(google.api.field_behavior) = OUTPUT_ONLY]; 1205 1206 // Output only. If set, this event can currently be deleted with 1207 // DeleteConversionEvent. 1208 bool deletable = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 1209 1210 // Output only. If set to true, this conversion event refers to a custom 1211 // event. If set to false, this conversion event refers to a default event in 1212 // GA. Default events typically have special meaning in GA. Default events are 1213 // usually created for you by the GA system, but in some cases can be created 1214 // by property admins. Custom events count towards the maximum number of 1215 // custom conversion events that may be created per property. 1216 bool custom = 5 [(google.api.field_behavior) = OUTPUT_ONLY]; 1217 1218 // Optional. The method by which conversions will be counted across multiple 1219 // events within a session. If this value is not provided, it will be set to 1220 // `ONCE_PER_EVENT`. 1221 ConversionCountingMethod counting_method = 6 1222 [(google.api.field_behavior) = OPTIONAL]; 1223 1224 // Optional. Defines a default value/currency for a conversion event. 1225 optional DefaultConversionValue default_conversion_value = 7 1226 [(google.api.field_behavior) = OPTIONAL]; 1227} 1228 1229// Settings values for Google Signals. This is a singleton resource. 1230message GoogleSignalsSettings { 1231 option (google.api.resource) = { 1232 type: "analyticsadmin.googleapis.com/GoogleSignalsSettings" 1233 pattern: "properties/{property}/googleSignalsSettings" 1234 }; 1235 1236 // Output only. Resource name of this setting. 1237 // Format: properties/{property_id}/googleSignalsSettings 1238 // Example: "properties/1000/googleSignalsSettings" 1239 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1240 1241 // Status of this setting. 1242 GoogleSignalsState state = 3; 1243 1244 // Output only. Terms of Service acceptance. 1245 GoogleSignalsConsent consent = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 1246} 1247 1248// A definition for a CustomDimension. 1249message CustomDimension { 1250 option (google.api.resource) = { 1251 type: "analyticsadmin.googleapis.com/CustomDimension" 1252 pattern: "properties/{property}/customDimensions/{custom_dimension}" 1253 }; 1254 1255 // Valid values for the scope of this dimension. 1256 enum DimensionScope { 1257 // Scope unknown or not specified. 1258 DIMENSION_SCOPE_UNSPECIFIED = 0; 1259 1260 // Dimension scoped to an event. 1261 EVENT = 1; 1262 1263 // Dimension scoped to a user. 1264 USER = 2; 1265 1266 // Dimension scoped to eCommerce items 1267 ITEM = 3; 1268 } 1269 1270 // Output only. Resource name for this CustomDimension resource. 1271 // Format: properties/{property}/customDimensions/{customDimension} 1272 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1273 1274 // Required. Immutable. Tagging parameter name for this custom dimension. 1275 // 1276 // If this is a user-scoped dimension, then this is the user property name. 1277 // If this is an event-scoped dimension, then this is the event parameter 1278 // name. 1279 // 1280 // If this is an item-scoped dimension, then this is the parameter 1281 // name found in the eCommerce items array. 1282 // 1283 // May only contain alphanumeric and underscore characters, starting with a 1284 // letter. Max length of 24 characters for user-scoped dimensions, 40 1285 // characters for event-scoped dimensions. 1286 string parameter_name = 2 [ 1287 (google.api.field_behavior) = REQUIRED, 1288 (google.api.field_behavior) = IMMUTABLE 1289 ]; 1290 1291 // Required. Display name for this custom dimension as shown in the Analytics 1292 // UI. Max length of 82 characters, alphanumeric plus space and underscore 1293 // starting with a letter. Legacy system-generated display names may contain 1294 // square brackets, but updates to this field will never permit square 1295 // brackets. 1296 string display_name = 3 [(google.api.field_behavior) = REQUIRED]; 1297 1298 // Optional. Description for this custom dimension. Max length of 150 1299 // characters. 1300 string description = 4 [(google.api.field_behavior) = OPTIONAL]; 1301 1302 // Required. Immutable. The scope of this dimension. 1303 DimensionScope scope = 5 [ 1304 (google.api.field_behavior) = REQUIRED, 1305 (google.api.field_behavior) = IMMUTABLE 1306 ]; 1307 1308 // Optional. If set to true, sets this dimension as NPA and excludes it from 1309 // ads personalization. 1310 // 1311 // This is currently only supported by user-scoped custom dimensions. 1312 bool disallow_ads_personalization = 6 1313 [(google.api.field_behavior) = OPTIONAL]; 1314} 1315 1316// A definition for a custom metric. 1317message CustomMetric { 1318 option (google.api.resource) = { 1319 type: "analyticsadmin.googleapis.com/CustomMetric" 1320 pattern: "properties/{property}/customMetrics/{custom_metric}" 1321 }; 1322 1323 // Possible types of representing the custom metric's value. 1324 // 1325 // Currency representation may change in the future, requiring a breaking API 1326 // change. 1327 enum MeasurementUnit { 1328 // MeasurementUnit unspecified or missing. 1329 MEASUREMENT_UNIT_UNSPECIFIED = 0; 1330 1331 // This metric uses default units. 1332 STANDARD = 1; 1333 1334 // This metric measures a currency. 1335 CURRENCY = 2; 1336 1337 // This metric measures feet. 1338 FEET = 3; 1339 1340 // This metric measures meters. 1341 METERS = 4; 1342 1343 // This metric measures kilometers. 1344 KILOMETERS = 5; 1345 1346 // This metric measures miles. 1347 MILES = 6; 1348 1349 // This metric measures milliseconds. 1350 MILLISECONDS = 7; 1351 1352 // This metric measures seconds. 1353 SECONDS = 8; 1354 1355 // This metric measures minutes. 1356 MINUTES = 9; 1357 1358 // This metric measures hours. 1359 HOURS = 10; 1360 } 1361 1362 // The scope of this metric. 1363 enum MetricScope { 1364 // Scope unknown or not specified. 1365 METRIC_SCOPE_UNSPECIFIED = 0; 1366 1367 // Metric scoped to an event. 1368 EVENT = 1; 1369 } 1370 1371 // Labels that mark the data in this custom metric as data that should be 1372 // restricted to specific users. 1373 enum RestrictedMetricType { 1374 // Type unknown or unspecified. 1375 RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0; 1376 1377 // Metric reports cost data. 1378 COST_DATA = 1; 1379 1380 // Metric reports revenue data. 1381 REVENUE_DATA = 2; 1382 } 1383 1384 // Output only. Resource name for this CustomMetric resource. 1385 // Format: properties/{property}/customMetrics/{customMetric} 1386 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1387 1388 // Required. Immutable. Tagging name for this custom metric. 1389 // 1390 // If this is an event-scoped metric, then this is the event parameter 1391 // name. 1392 // 1393 // May only contain alphanumeric and underscore charactes, starting with a 1394 // letter. Max length of 40 characters for event-scoped metrics. 1395 string parameter_name = 2 [ 1396 (google.api.field_behavior) = REQUIRED, 1397 (google.api.field_behavior) = IMMUTABLE 1398 ]; 1399 1400 // Required. Display name for this custom metric as shown in the Analytics UI. 1401 // Max length of 82 characters, alphanumeric plus space and underscore 1402 // starting with a letter. Legacy system-generated display names may contain 1403 // square brackets, but updates to this field will never permit square 1404 // brackets. 1405 string display_name = 3 [(google.api.field_behavior) = REQUIRED]; 1406 1407 // Optional. Description for this custom dimension. 1408 // Max length of 150 characters. 1409 string description = 4 [(google.api.field_behavior) = OPTIONAL]; 1410 1411 // Required. The type for the custom metric's value. 1412 MeasurementUnit measurement_unit = 5 [(google.api.field_behavior) = REQUIRED]; 1413 1414 // Required. Immutable. The scope of this custom metric. 1415 MetricScope scope = 6 [ 1416 (google.api.field_behavior) = REQUIRED, 1417 (google.api.field_behavior) = IMMUTABLE 1418 ]; 1419 1420 // Optional. Types of restricted data that this metric may contain. Required 1421 // for metrics with CURRENCY measurement unit. Must be empty for metrics with 1422 // a non-CURRENCY measurement unit. 1423 repeated RestrictedMetricType restricted_metric_type = 8 1424 [(google.api.field_behavior) = OPTIONAL]; 1425} 1426 1427// A definition for a calculated metric. 1428message CalculatedMetric { 1429 option (google.api.resource) = { 1430 type: "analyticsadmin.googleapis.com/CalculatedMetric" 1431 pattern: "properties/{property}/calculatedMetrics/{calculated_metric}" 1432 plural: "calculatedMetrics" 1433 singular: "calculatedMetric" 1434 }; 1435 1436 // Possible types of representing the calculated metric's value. 1437 enum MetricUnit { 1438 // MetricUnit unspecified or missing. 1439 METRIC_UNIT_UNSPECIFIED = 0; 1440 1441 // This metric uses default units. 1442 STANDARD = 1; 1443 1444 // This metric measures a currency. 1445 CURRENCY = 2; 1446 1447 // This metric measures feet. 1448 FEET = 3; 1449 1450 // This metric measures miles. 1451 MILES = 4; 1452 1453 // This metric measures meters. 1454 METERS = 5; 1455 1456 // This metric measures kilometers. 1457 KILOMETERS = 6; 1458 1459 // This metric measures milliseconds. 1460 MILLISECONDS = 7; 1461 1462 // This metric measures seconds. 1463 SECONDS = 8; 1464 1465 // This metric measures minutes. 1466 MINUTES = 9; 1467 1468 // This metric measures hours. 1469 HOURS = 10; 1470 } 1471 1472 // Labels that mark the data in calculated metric used in conjunction with 1473 // user roles that restrict access to cost and/or revenue metrics. 1474 enum RestrictedMetricType { 1475 // Type unknown or unspecified. 1476 RESTRICTED_METRIC_TYPE_UNSPECIFIED = 0; 1477 1478 // Metric reports cost data. 1479 COST_DATA = 1; 1480 1481 // Metric reports revenue data. 1482 REVENUE_DATA = 2; 1483 } 1484 1485 // Output only. Resource name for this CalculatedMetric. 1486 // Format: 'properties/{property_id}/calculatedMetrics/{calculated_metric_id}' 1487 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1488 1489 // Optional. Description for this calculated metric. 1490 // Max length of 4096 characters. 1491 string description = 2 [(google.api.field_behavior) = OPTIONAL]; 1492 1493 // Required. Display name for this calculated metric as shown in the 1494 // Google Analytics UI. Max length 82 characters. 1495 string display_name = 3 [(google.api.field_behavior) = REQUIRED]; 1496 1497 // Output only. The ID to use for the calculated metric. In the UI, this is 1498 // referred to as the "API name." 1499 // 1500 // The calculated_metric_id is used when referencing this calculated metric 1501 // from external APIs. For example, "calcMetric:{calculated_metric_id}". 1502 string calculated_metric_id = 4 [(google.api.field_behavior) = OUTPUT_ONLY]; 1503 1504 // Required. The type for the calculated metric's value. 1505 MetricUnit metric_unit = 5 [(google.api.field_behavior) = REQUIRED]; 1506 1507 // Output only. Types of restricted data that this metric contains. 1508 repeated RestrictedMetricType restricted_metric_type = 6 1509 [(google.api.field_behavior) = OUTPUT_ONLY]; 1510 1511 // Required. The calculated metric's definition. Maximum number of unique 1512 // referenced custom metrics is 5. Formulas supports the following operations: 1513 // + (addition), - (subtraction), - (negative), * (multiplication), / 1514 // (division), () (parenthesis). Any valid real numbers are acceptable that 1515 // fit in a Long (64bit integer) or a Double (64 bit floating point number). 1516 // Example formula: 1517 // "( customEvent:parameter_name + cartPurchaseQuantity ) / 2.0" 1518 string formula = 7 [(google.api.field_behavior) = REQUIRED]; 1519 1520 // Output only. If true, this calculated metric has a invalid metric 1521 // reference. Anything using a calculated metric with invalid_metric_reference 1522 // set to true may fail, produce warnings, or produce unexpected results. 1523 bool invalid_metric_reference = 9 [(google.api.field_behavior) = OUTPUT_ONLY]; 1524} 1525 1526// Settings values for data retention. This is a singleton resource. 1527message DataRetentionSettings { 1528 option (google.api.resource) = { 1529 type: "analyticsadmin.googleapis.com/DataRetentionSettings" 1530 pattern: "properties/{property}/dataRetentionSettings" 1531 }; 1532 1533 // Valid values for the data retention duration. 1534 enum RetentionDuration { 1535 // Data retention time duration is not specified. 1536 RETENTION_DURATION_UNSPECIFIED = 0; 1537 1538 // The data retention time duration is 2 months. 1539 TWO_MONTHS = 1; 1540 1541 // The data retention time duration is 14 months. 1542 FOURTEEN_MONTHS = 3; 1543 1544 // The data retention time duration is 26 months. 1545 // Available to 360 properties only. 1546 TWENTY_SIX_MONTHS = 4; 1547 1548 // The data retention time duration is 38 months. 1549 // Available to 360 properties only. 1550 THIRTY_EIGHT_MONTHS = 5; 1551 1552 // The data retention time duration is 50 months. 1553 // Available to 360 properties only. 1554 FIFTY_MONTHS = 6; 1555 } 1556 1557 // Output only. Resource name for this DataRetentionSetting resource. 1558 // Format: properties/{property}/dataRetentionSettings 1559 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1560 1561 // The length of time that event-level data is retained. 1562 RetentionDuration event_data_retention = 2; 1563 1564 // If true, reset the retention period for the user identifier with every 1565 // event from that user. 1566 bool reset_user_data_on_new_activity = 3; 1567} 1568 1569// The attribution settings used for a given property. This is a singleton 1570// resource. 1571message AttributionSettings { 1572 option (google.api.resource) = { 1573 type: "analyticsadmin.googleapis.com/AttributionSettings" 1574 pattern: "properties/{property}/attributionSettings" 1575 }; 1576 1577 // How far back in time events should be considered for inclusion in a 1578 // converting path which leads to the first install of an app or the first 1579 // visit to a site. 1580 enum AcquisitionConversionEventLookbackWindow { 1581 // Lookback window size unspecified. 1582 ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED = 0; 1583 1584 // 7-day lookback window. 1585 ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_7_DAYS = 1; 1586 1587 // 30-day lookback window. 1588 ACQUISITION_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS = 2; 1589 } 1590 1591 // How far back in time events should be considered for inclusion in a 1592 // converting path for all conversions other than first app install/first site 1593 // visit. 1594 enum OtherConversionEventLookbackWindow { 1595 // Lookback window size unspecified. 1596 OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_UNSPECIFIED = 0; 1597 1598 // 30-day lookback window. 1599 OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_30_DAYS = 1; 1600 1601 // 60-day lookback window. 1602 OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_60_DAYS = 2; 1603 1604 // 90-day lookback window. 1605 OTHER_CONVERSION_EVENT_LOOKBACK_WINDOW_90_DAYS = 3; 1606 } 1607 1608 // The reporting attribution model used to calculate conversion credit in this 1609 // property's reports. 1610 enum ReportingAttributionModel { 1611 // Reporting attribution model unspecified. 1612 REPORTING_ATTRIBUTION_MODEL_UNSPECIFIED = 0; 1613 1614 // Data-driven attribution distributes credit for the conversion based on 1615 // data for each conversion event. Each Data-driven model is specific to 1616 // each advertiser and each conversion event. 1617 // Previously CROSS_CHANNEL_DATA_DRIVEN 1618 PAID_AND_ORGANIC_CHANNELS_DATA_DRIVEN = 1; 1619 1620 // Ignores direct traffic and attributes 100% of the conversion value to the 1621 // last channel that the customer clicked through (or engaged view through 1622 // for YouTube) before converting. 1623 // Previously CROSS_CHANNEL_LAST_CLICK 1624 PAID_AND_ORGANIC_CHANNELS_LAST_CLICK = 2; 1625 1626 // Attributes 100% of the conversion value to the last Google Paid channel 1627 // that the customer clicked through before converting. 1628 // Previously ADS_PREFERRED_LAST_CLICK 1629 GOOGLE_PAID_CHANNELS_LAST_CLICK = 7; 1630 } 1631 1632 // The Conversion Export Scope for data exported to linked Ads Accounts. 1633 enum AdsWebConversionDataExportScope { 1634 // Default value. This value is unused. 1635 ADS_WEB_CONVERSION_DATA_EXPORT_SCOPE_UNSPECIFIED = 0; 1636 1637 // No data export scope selected yet. 1638 // Export scope can never be changed back to this value. 1639 NOT_SELECTED_YET = 1; 1640 1641 // Paid and organic channels are eligible to receive conversion credit, but 1642 // only credit assigned to Google Ads channels will appear in your Ads 1643 // accounts. To learn more, see [Paid and Organic 1644 // channels](https://support.google.com/analytics/answer/10632359). 1645 PAID_AND_ORGANIC_CHANNELS = 2; 1646 1647 // Only Google Ads paid channels are eligible to receive conversion credit. 1648 // To learn more, see [Google Paid 1649 // channels](https://support.google.com/analytics/answer/10632359). 1650 GOOGLE_PAID_CHANNELS = 3; 1651 } 1652 1653 // Output only. Resource name of this attribution settings resource. 1654 // Format: properties/{property_id}/attributionSettings 1655 // Example: "properties/1000/attributionSettings" 1656 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1657 1658 // Required. The lookback window configuration for acquisition conversion 1659 // events. The default window size is 30 days. 1660 AcquisitionConversionEventLookbackWindow 1661 acquisition_conversion_event_lookback_window = 2 1662 [(google.api.field_behavior) = REQUIRED]; 1663 1664 // Required. The lookback window for all other, non-acquisition conversion 1665 // events. The default window size is 90 days. 1666 OtherConversionEventLookbackWindow other_conversion_event_lookback_window = 3 1667 [(google.api.field_behavior) = REQUIRED]; 1668 1669 // Required. The reporting attribution model used to calculate conversion 1670 // credit in this property's reports. 1671 // 1672 // Changing the attribution model will apply to both historical and future 1673 // data. These changes will be reflected in reports with conversion and 1674 // revenue data. User and session data will be unaffected. 1675 ReportingAttributionModel reporting_attribution_model = 4 1676 [(google.api.field_behavior) = REQUIRED]; 1677 1678 // Required. The Conversion Export Scope for data exported to linked Ads 1679 // Accounts. 1680 AdsWebConversionDataExportScope ads_web_conversion_data_export_scope = 5 1681 [(google.api.field_behavior) = REQUIRED]; 1682} 1683 1684// A binding of a user to a set of roles. 1685message AccessBinding { 1686 option (google.api.resource) = { 1687 type: "analyticsadmin.googleapis.com/AccessBinding" 1688 pattern: "accounts/{account}/accessBindings/{access_binding}" 1689 pattern: "properties/{property}/accessBindings/{access_binding}" 1690 }; 1691 1692 // The target for which to set roles for. 1693 oneof access_target { 1694 // If set, the email address of the user to set roles for. 1695 // Format: "[email protected]" 1696 string user = 2; 1697 } 1698 1699 // Output only. Resource name of this binding. 1700 // 1701 // Format: accounts/{account}/accessBindings/{access_binding} or 1702 // properties/{property}/accessBindings/{access_binding} 1703 // 1704 // Example: 1705 // "accounts/100/accessBindings/200" 1706 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1707 1708 // A list of roles for to grant to the parent resource. 1709 // 1710 // Valid values: 1711 // predefinedRoles/viewer 1712 // predefinedRoles/analyst 1713 // predefinedRoles/editor 1714 // predefinedRoles/admin 1715 // predefinedRoles/no-cost-data 1716 // predefinedRoles/no-revenue-data 1717 // 1718 // For users, if an empty list of roles is set, this AccessBinding will be 1719 // deleted. 1720 repeated string roles = 3; 1721} 1722 1723// A link between a GA4 Property and BigQuery project. 1724message BigQueryLink { 1725 option (google.api.resource) = { 1726 type: "analyticsadmin.googleapis.com/BigQueryLink" 1727 pattern: "properties/{property}/bigQueryLinks/{bigquery_link}" 1728 }; 1729 1730 // Output only. Resource name of this BigQuery link. 1731 // Format: 'properties/{property_id}/bigQueryLinks/{bigquery_link_id}' 1732 // Format: 'properties/1234/bigQueryLinks/abc567' 1733 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1734 1735 // Immutable. The linked Google Cloud project. When creating a BigQueryLink, 1736 // you may provide this resource name using either a project number or project 1737 // ID. Once this resource has been created, the returned project will always 1738 // have a project that contains a project number. 1739 // Format: 'projects/{project number}' 1740 // Example: 'projects/1234' 1741 string project = 2 [(google.api.field_behavior) = IMMUTABLE]; 1742 1743 // Output only. Time when the link was created. 1744 google.protobuf.Timestamp create_time = 3 1745 [(google.api.field_behavior) = OUTPUT_ONLY]; 1746 1747 // If set true, enables daily data export to the linked Google Cloud project. 1748 bool daily_export_enabled = 4; 1749 1750 // If set true, enables streaming export to the linked Google Cloud project. 1751 bool streaming_export_enabled = 5; 1752 1753 // If set true, enables fresh daily export to the linked Google Cloud project. 1754 bool fresh_daily_export_enabled = 9; 1755 1756 // If set true, exported data will include advertising identifiers for mobile 1757 // app streams. 1758 bool include_advertising_id = 6; 1759 1760 // The list of streams under the parent property for which data will be 1761 // exported. 1762 // Format: properties/{property_id}/dataStreams/{stream_id} 1763 // Example: ['properties/1000/dataStreams/2000'] 1764 repeated string export_streams = 7; 1765 1766 // The list of event names that will be excluded from exports. 1767 repeated string excluded_events = 8; 1768} 1769 1770// Singleton resource under a web DataStream, configuring measurement of 1771// additional site interactions and content. 1772message EnhancedMeasurementSettings { 1773 option (google.api.resource) = { 1774 type: "analyticsadmin.googleapis.com/EnhancedMeasurementSettings" 1775 pattern: "properties/{property}/dataStreams/{data_stream}/enhancedMeasurementSettings" 1776 }; 1777 1778 // Output only. Resource name of the Enhanced Measurement Settings. 1779 // Format: 1780 // properties/{property_id}/dataStreams/{data_stream}/enhancedMeasurementSettings 1781 // Example: "properties/1000/dataStreams/2000/enhancedMeasurementSettings" 1782 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1783 1784 // Indicates whether Enhanced Measurement Settings will be used to 1785 // automatically measure interactions and content on this web stream. 1786 // 1787 // Changing this value does not affect the settings themselves, but determines 1788 // whether they are respected. 1789 bool stream_enabled = 2; 1790 1791 // If enabled, capture scroll events each time a visitor gets to the bottom of 1792 // a page. 1793 bool scrolls_enabled = 3; 1794 1795 // If enabled, capture an outbound click event each time a visitor clicks a 1796 // link that leads them away from your domain. 1797 bool outbound_clicks_enabled = 4; 1798 1799 // If enabled, capture a view search results event each time a visitor 1800 // performs a search on your site (based on a query parameter). 1801 bool site_search_enabled = 5; 1802 1803 // If enabled, capture video play, progress, and complete events as visitors 1804 // view embedded videos on your site. 1805 bool video_engagement_enabled = 6; 1806 1807 // If enabled, capture a file download event each time a link is clicked with 1808 // a common document, compressed file, application, video, or audio extension. 1809 bool file_downloads_enabled = 7; 1810 1811 // If enabled, capture a page view event each time the website changes the 1812 // browser history state. 1813 bool page_changes_enabled = 8; 1814 1815 // If enabled, capture a form interaction event each time a visitor interacts 1816 // with a form on your website. 1817 // False by default. 1818 bool form_interactions_enabled = 9; 1819 1820 // Required. URL query parameters to interpret as site search parameters. 1821 // Max length is 1024 characters. Must not be empty. 1822 string search_query_parameter = 10 [(google.api.field_behavior) = REQUIRED]; 1823 1824 // Additional URL query parameters. 1825 // Max length is 1024 characters. 1826 string uri_query_parameter = 11; 1827} 1828 1829// Configuration for a specific Connected Site Tag. 1830message ConnectedSiteTag { 1831 // Required. User-provided display name for the connected site tag. Must be 1832 // less than 256 characters. 1833 string display_name = 1 [(google.api.field_behavior) = REQUIRED]; 1834 1835 // Required. "Tag ID to forward events to. Also known as the Measurement ID, 1836 // or the "G-ID" (For example: G-12345). 1837 string tag_id = 2 [(google.api.field_behavior) = REQUIRED]; 1838} 1839 1840// Settings for client-side data redaction. Singleton resource under a Web 1841// Stream. 1842message DataRedactionSettings { 1843 option (google.api.resource) = { 1844 type: "analyticsadmin.googleapis.com/DataRedactionSettings" 1845 pattern: "properties/{property}/dataStreams/{data_stream}/dataRedactionSettings" 1846 }; 1847 1848 // Output only. Name of this Data Redaction Settings resource. 1849 // Format: 1850 // properties/{property_id}/dataStreams/{data_stream}/dataRedactionSettings 1851 // Example: "properties/1000/dataStreams/2000/dataRedactionSettings" 1852 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1853 1854 // If enabled, any event parameter or user property values that look like an 1855 // email will be redacted. 1856 bool email_redaction_enabled = 2; 1857 1858 // Query Parameter redaction removes the key and value portions of a 1859 // query parameter if it is in the configured set of query parameters. 1860 // 1861 // If enabled, URL query replacement logic will be run for the Stream. Any 1862 // query parameters defined in query_parameter_keys will be redacted. 1863 bool query_parameter_redaction_enabled = 3; 1864 1865 // The query parameter keys to apply redaction logic to if present in the URL. 1866 // Query parameter matching is case-insensitive. 1867 // 1868 // Must contain at least one element if query_parameter_replacement_enabled 1869 // is true. Keys cannot contain commas. 1870 repeated string query_parameter_keys = 4; 1871} 1872 1873// A link between a GA4 Property and an AdSense for Content ad client. 1874message AdSenseLink { 1875 option (google.api.resource) = { 1876 type: "analyticsadmin.googleapis.com/AdSenseLink" 1877 pattern: "properties/{property}/adSenseLinks/{adsense_link}" 1878 }; 1879 1880 // Output only. The resource name for this AdSense Link resource. 1881 // Format: properties/{propertyId}/adSenseLinks/{linkId} 1882 // Example: properties/1234/adSenseLinks/6789 1883 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1884 1885 // Immutable. The AdSense ad client code that the GA4 property is linked to. 1886 // Example format: "ca-pub-1234567890" 1887 string ad_client_code = 2 [(google.api.field_behavior) = IMMUTABLE]; 1888} 1889 1890// A link that references a source property under the parent rollup property. 1891message RollupPropertySourceLink { 1892 option (google.api.resource) = { 1893 type: "analyticsadmin.googleapis.com/RollupPropertySourceLink" 1894 pattern: "properties/{property}/rollupPropertySourceLinks/{rollup_property_source_link}" 1895 plural: "rollupPropertySourceLinks" 1896 singular: "rollupPropertySourceLink" 1897 }; 1898 1899 // Output only. Resource name of this RollupPropertySourceLink. 1900 // Format: 1901 // 'properties/{property_id}/rollupPropertySourceLinks/{rollup_property_source_link}' 1902 // Format: 'properties/123/rollupPropertySourceLinks/456' 1903 string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; 1904 1905 // Immutable. Resource name of the source property. 1906 // Format: properties/{property_id} 1907 // Example: "properties/789" 1908 string source_property = 2 [(google.api.field_behavior) = IMMUTABLE]; 1909} 1910