@@ -26,27 +26,6 @@ option java_multiple_files = true;
2626option java_outer_classname = "ResourcesProto" ;
2727option java_package = "com.google.analytics.admin.v1alpha" ;
2828
29- // Maximum access settings that Firebase user receive on the linked Analytics
30- // property.
31- enum MaximumUserAccess {
32- // Unspecified maximum user access.
33- MAXIMUM_USER_ACCESS_UNSPECIFIED = 0 ;
34-
35- // Firebase users have no access to the Analytics property.
36- NO_ACCESS = 1 ;
37-
38- // Firebase users have Read & Analyze access to the Analytics property.
39- READ_AND_ANALYZE = 2 ;
40-
41- // Firebase users have edit access to the Analytics property, but may not
42- // manage the Firebase link.
43- EDITOR_WITHOUT_LINK_MANAGEMENT = 3 ;
44-
45- // Firebase users have edit access to the Analytics property and may manage
46- // the Firebase link.
47- EDITOR_INCLUDING_LINK_MANAGEMENT = 4 ;
48- }
49-
5029// The category selected for this property, used for industry benchmarking.
5130enum IndustryCategory {
5231 // Industry category unspecified
@@ -131,6 +110,18 @@ enum IndustryCategory {
131110 SHOPPING = 26 ;
132111}
133112
113+ // Various levels of service for Google Analytics.
114+ enum ServiceLevel {
115+ // Service level not specified or invalid.
116+ SERVICE_LEVEL_UNSPECIFIED = 0 ;
117+
118+ // The standard version of Google Analytics.
119+ GOOGLE_ANALYTICS_STANDARD = 1 ;
120+
121+ // The paid, premium version of Google Analytics.
122+ GOOGLE_ANALYTICS_360 = 2 ;
123+ }
124+
134125// Different kinds of actors that can make changes to Google Analytics
135126// resources.
136127enum ActorType {
@@ -202,6 +193,9 @@ enum ChangeHistoryResourceType {
202193
203194 // CustomMetric resource
204195 CUSTOM_METRIC = 12 ;
196+
197+ // DataRetentionSettings resource
198+ DATA_RETENTION_SETTINGS = 13 ;
205199}
206200
207201// Status of the Google Signals settings (i.e., whether this feature has been
@@ -233,6 +227,51 @@ enum GoogleSignalsConsent {
233227 GOOGLE_SIGNALS_CONSENT_NOT_CONSENTED = 1 ;
234228}
235229
230+ // An indication of which product the user initiated a link proposal from.
231+ enum LinkProposalInitiatingProduct {
232+ // Unspecified product.
233+ LINK_PROPOSAL_INITIATING_PRODUCT_UNSPECIFIED = 0 ;
234+
235+ // This proposal was created by a user from Google Analytics.
236+ GOOGLE_ANALYTICS = 1 ;
237+
238+ // This proposal was created by a user from a linked product (not Google
239+ // Analytics).
240+ LINKED_PRODUCT = 2 ;
241+ }
242+
243+ // The state of a link proposal resource.
244+ enum LinkProposalState {
245+ // Unspecified state
246+ LINK_PROPOSAL_STATE_UNSPECIFIED = 0 ;
247+
248+ // This proposal is awaiting review from a Google Analytics user. This
249+ // proposal will automatically expire after some time.
250+ AWAITING_REVIEW_FROM_GOOGLE_ANALYTICS = 1 ;
251+
252+ // This proposal is awaiting review from a user of a linked product. This
253+ // proposal will automatically expire after some time.
254+ AWAITING_REVIEW_FROM_LINKED_PRODUCT = 2 ;
255+
256+ // This proposal has been withdrawn by an admin on the initiating product.
257+ // This proposal will be automatically deleted after some time.
258+ WITHDRAWN = 3 ;
259+
260+ // This proposal has been declined by an admin on the receiving product. This
261+ // proposal will be automatically deleted after some time.
262+ DECLINED = 4 ;
263+
264+ // This proposal expired due to lack of response from an admin on the
265+ // receiving product. This proposal will be automatically deleted after some
266+ // time.
267+ EXPIRED = 5 ;
268+
269+ // This proposal has become obsolete because a link was directly created to
270+ // the same external product resource that this proposal specifies. This
271+ // proposal will be automatically deleted after some time.
272+ OBSOLETE = 6 ;
273+ }
274+
236275// A resource message representing a Google Analytics account.
237276message Account {
238277 option (google.api.resource ) = {
@@ -314,6 +353,9 @@ message Property {
314353 // Examples: "USD", "EUR", "JPY"
315354 string currency_code = 8 ;
316355
356+ // Output only. The Google Analytics service level that applies to this property.
357+ ServiceLevel service_level = 10 [(google.api.field_behavior ) = OUTPUT_ONLY ];
358+
317359 // Output only. If set, the time at which this property was trashed. If not set, then this
318360 // property is not currently in the trash can.
319361 google.protobuf.Timestamp delete_time = 11 [(google.api.field_behavior ) = OUTPUT_ONLY ];
@@ -563,10 +605,6 @@ message FirebaseLink {
563605
564606 // Output only. Time when this FirebaseLink was originally created.
565607 google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
566-
567- // Maximum user access to the GA4 property allowed to admins of
568- // the linked Firebase project.
569- MaximumUserAccess maximum_user_access = 4 ;
570608}
571609
572610// Read-only resource with the tag for sending data from a website to a
@@ -610,15 +648,15 @@ message GoogleAdsLink {
610648 // If this field is not set on create/update, it will be defaulted to true.
611649 google.protobuf.BoolValue ads_personalization_enabled = 5 ;
612650
613- // Output only. Email address of the user that created the link.
614- // An empty string will be returned if the email address can't be retrieved.
615- string email_address = 6 [(google.api.field_behavior ) = OUTPUT_ONLY ];
616-
617651 // Output only. Time when this link was originally created.
618652 google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior ) = OUTPUT_ONLY ];
619653
620654 // Output only. Time when this link was last updated.
621655 google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior ) = OUTPUT_ONLY ];
656+
657+ // Output only. Email address of the user that created the link.
658+ // An empty string will be returned if the email address can't be retrieved.
659+ string creator_email_address = 9 [(google.api.field_behavior ) = OUTPUT_ONLY ];
622660}
623661
624662// A resource message representing data sharing settings of a Google Analytics
@@ -774,6 +812,14 @@ message ChangeHistoryChange {
774812 // A snapshot of a GoogleSignalsSettings resource in change history.
775813 GoogleSignalsSettings google_signals_settings = 8 ;
776814
815+ // A snapshot of a DisplayVideo360AdvertiserLink resource in change
816+ // history.
817+ DisplayVideo360AdvertiserLink display_video_360_advertiser_link = 9 ;
818+
819+ // A snapshot of a DisplayVideo360AdvertiserLinkProposal resource in
820+ // change history.
821+ DisplayVideo360AdvertiserLinkProposal display_video_360_advertiser_link_proposal = 10 ;
822+
777823 // A snapshot of a ConversionEvent resource in change history.
778824 ConversionEvent conversion_event = 11 ;
779825
@@ -785,6 +831,9 @@ message ChangeHistoryChange {
785831
786832 // A snapshot of a CustomMetric resource in change history.
787833 CustomMetric custom_metric = 14 ;
834+
835+ // A snapshot of a data retention settings resource in change history.
836+ DataRetentionSettings data_retention_settings = 15 ;
788837 }
789838 }
790839
@@ -803,6 +852,106 @@ message ChangeHistoryChange {
803852 ChangeHistoryResource resource_after_change = 4 ;
804853}
805854
855+ // A link between a GA4 property and a Display & Video 360 advertiser.
856+ message DisplayVideo360AdvertiserLink {
857+ option (google.api.resource ) = {
858+ type : "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLink"
859+ pattern : "properties/{property}/displayVideo360AdvertiserLinks/{display_video_360_advertiser_link}"
860+ };
861+
862+ // Output only. The resource name for this DisplayVideo360AdvertiserLink resource.
863+ // Format: properties/{propertyId}/displayVideo360AdvertiserLinks/{linkId}
864+ //
865+ // Note: linkId is not the Display & Video 360 Advertiser ID
866+ string name = 1 [(google.api.field_behavior ) = OUTPUT_ONLY ];
867+
868+ // Immutable. The Display & Video 360 Advertiser's advertiser ID.
869+ string advertiser_id = 2 [(google.api.field_behavior ) = IMMUTABLE ];
870+
871+ // Output only. The display name of the Display & Video 360 Advertiser.
872+ string advertiser_display_name = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
873+
874+ // Enables personalized advertising features with this integration.
875+ // If this field is not set on create/update, it will be defaulted to true.
876+ google.protobuf.BoolValue ads_personalization_enabled = 4 ;
877+
878+ // Immutable. Enables the import of campaign data from Display & Video 360 into the GA4
879+ // property. After link creation, this can only be updated from the Display &
880+ // Video 360 product.
881+ // If this field is not set on create, it will be defaulted to true.
882+ google.protobuf.BoolValue campaign_data_sharing_enabled = 5 [(google.api.field_behavior ) = IMMUTABLE ];
883+
884+ // Immutable. Enables the import of cost data from Display & Video 360 into the GA4
885+ // property. This can only be enabled if campaign_data_import_enabled is
886+ // enabled. After link creation, this can only be updated from the Display &
887+ // Video 360 product.
888+ // If this field is not set on create, it will be defaulted to true.
889+ google.protobuf.BoolValue cost_data_sharing_enabled = 6 [(google.api.field_behavior ) = IMMUTABLE ];
890+ }
891+
892+ // A proposal for a link between an GA4 property and a Display & Video 360
893+ // advertiser.
894+ //
895+ // A proposal is converted to a DisplayVideo360AdvertiserLink once approved.
896+ // Google Analytics admins approve inbound proposals while Display & Video 360
897+ // admins approve outbound proposals.
898+ message DisplayVideo360AdvertiserLinkProposal {
899+ option (google.api.resource ) = {
900+ type : "analyticsadmin.googleapis.com/DisplayVideo360AdvertiserLinkProposal"
901+ pattern : "properties/{property}/displayVideo360AdvertiserLinkProposals/{display_video_360_advertiser_link_proposal}"
902+ };
903+
904+ // Output only. The resource name for this DisplayVideo360AdvertiserLinkProposal resource.
905+ // Format:
906+ // properties/{propertyId}/displayVideo360AdvertiserLinkProposals/{proposalId}
907+ //
908+ // Note: proposalId is not the Display & Video 360 Advertiser ID
909+ string name = 1 [(google.api.field_behavior ) = OUTPUT_ONLY ];
910+
911+ // Immutable. The Display & Video 360 Advertiser's advertiser ID.
912+ string advertiser_id = 2 [(google.api.field_behavior ) = IMMUTABLE ];
913+
914+ // Output only. The status information for this link proposal.
915+ LinkProposalStatusDetails link_proposal_status_details = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
916+
917+ // Output only. The display name of the Display & Video Advertiser.
918+ // Only populated for proposals that originated from Display & Video 360.
919+ string advertiser_display_name = 4 [(google.api.field_behavior ) = OUTPUT_ONLY ];
920+
921+ // Input only. On a proposal being sent to Display & Video 360, this field must be set to
922+ // the email address of an admin on the target advertiser. This is used to
923+ // verify that the Google Analytics admin is aware of at least one admin on
924+ // the Display & Video 360 Advertiser. This does not restrict approval of the
925+ // proposal to a single user. Any admin on the Display & Video 360 Advertiser
926+ // may approve the proposal.
927+ string validation_email = 5 [(google.api.field_behavior ) = INPUT_ONLY ];
928+
929+ // Immutable. Enables personalized advertising features with this integration.
930+ // If this field is not set on create, it will be defaulted to true.
931+ google.protobuf.BoolValue ads_personalization_enabled = 6 [(google.api.field_behavior ) = IMMUTABLE ];
932+
933+ // Immutable. Enables the import of campaign data from Display & Video 360.
934+ // If this field is not set on create, it will be defaulted to true.
935+ google.protobuf.BoolValue campaign_data_sharing_enabled = 7 [(google.api.field_behavior ) = IMMUTABLE ];
936+
937+ // Immutable. Enables the import of cost data from Display & Video 360.
938+ // This can only be enabled if campaign_data_import_enabled is enabled.
939+ // If this field is not set on create, it will be defaulted to true.
940+ google.protobuf.BoolValue cost_data_sharing_enabled = 8 [(google.api.field_behavior ) = IMMUTABLE ];
941+ }
942+
943+ // Status information for a link proposal.
944+ message LinkProposalStatusDetails {
945+ // Output only. The source of this proposal.
946+ LinkProposalInitiatingProduct link_proposal_initiating_product = 1 [(google.api.field_behavior ) = OUTPUT_ONLY ];
947+
948+ // Output only. The email address of the user that proposed this linkage.
949+ string requestor_email = 2 [(google.api.field_behavior ) = OUTPUT_ONLY ];
950+
951+ // Output only. The state of this proposal.
952+ LinkProposalState link_proposal_state = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
953+ }
954+
806955// A conversion event in a Google Analytics property.
807956message ConversionEvent {
808957 option (google.api.resource ) = {
@@ -822,7 +971,15 @@ message ConversionEvent {
822971 google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior ) = OUTPUT_ONLY ];
823972
824973 // Output only. If set, this event can currently be deleted via DeleteConversionEvent.
825- bool is_deletable = 4 [(google.api.field_behavior ) = OUTPUT_ONLY ];
974+ bool deletable = 4 [(google.api.field_behavior ) = OUTPUT_ONLY ];
975+
976+ // Output only. If set to true, this conversion event refers to a custom event. If set to
977+ // false, this conversion event refers to a default event in GA. Default
978+ // events typically have special meaning in GA. Default events are usually
979+ // created for you by the GA system, but in some cases can be created by
980+ // property admins. Custom events count towards the maximum number of
981+ // custom conversion events that may be created per property.
982+ bool custom = 5 [(google.api.field_behavior ) = OUTPUT_ONLY ];
826983}
827984
828985// Settings values for Google Signals. This is a singleton resource.
@@ -986,15 +1143,55 @@ message CustomMetric {
9861143 // Max length of 150 characters.
9871144 string description = 4 [(google.api.field_behavior ) = OPTIONAL ];
9881145
989- // Required. Immutable. The type for the custom metric's value.
990- MeasurementUnit measurement_unit = 5 [
991- (google.api.field_behavior ) = REQUIRED ,
992- (google.api.field_behavior ) = IMMUTABLE
993- ];
1146+ // Required. The type for the custom metric's value.
1147+ MeasurementUnit measurement_unit = 5 [(google.api.field_behavior ) = REQUIRED ];
9941148
9951149 // Required. Immutable. The scope of this custom metric.
9961150 MetricScope scope = 6 [
9971151 (google.api.field_behavior ) = REQUIRED ,
9981152 (google.api.field_behavior ) = IMMUTABLE
9991153 ];
10001154}
1155+
1156+ // Settings values for data retention. This is a singleton resource.
1157+ message DataRetentionSettings {
1158+ option (google.api.resource ) = {
1159+ type : "analyticsadmin.googleapis.com/DataRetentionSettings"
1160+ pattern : "properties/{property}/dataRetentionSettings"
1161+ };
1162+
1163+ // Valid values for the data retention duration.
1164+ enum RetentionDuration {
1165+ // Data retention time duration is not specified.
1166+ RETENTION_DURATION_UNSPECIFIED = 0 ;
1167+
1168+ // The data retention time duration is 2 months.
1169+ TWO_MONTHS = 1 ;
1170+
1171+ // The data retention time duration is 14 months.
1172+ FOURTEEN_MONTHS = 3 ;
1173+
1174+ // The data retention time duration is 26 months.
1175+ // Available to 360 properties only.
1176+ TWENTY_SIX_MONTHS = 4 ;
1177+
1178+ // The data retention time duration is 38 months.
1179+ // Available to 360 properties only.
1180+ THIRTY_EIGHT_MONTHS = 5 ;
1181+
1182+ // The data retention time duration is 50 months.
1183+ // Available to 360 properties only.
1184+ FIFTY_MONTHS = 6 ;
1185+ }
1186+
1187+ // Output only. Resource name for this DataRetentionSetting resource.
1188+ // Format: properties/{property}/dataRetentionSettings
1189+ string name = 1 [(google.api.field_behavior ) = OUTPUT_ONLY ];
1190+
1191+ // The length of time that event-level data is retained.
1192+ RetentionDuration event_data_retention = 2 ;
1193+
1194+ // If true, reset the retention period for the user identifier with every
1195+ // event from that user.
1196+ bool reset_user_data_on_new_activity = 3 ;
1197+ }
0 commit comments