# Copyright 2015 Google Inc. # # 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. require 'date' require 'google/apis/core/base_service' require 'google/apis/core/json_representation' require 'google/apis/core/hashable' require 'google/apis/errors' module Google module Apis module AnalyticsV3 # JSON template for Analytics account entry. class Account include Google::Apis::Core::Hashable # Child link for an account entry. Points to the list of web properties for this # account. # Corresponds to the JSON property `childLink` # @return [Google::Apis::AnalyticsV3::Account::ChildLink] attr_accessor :child_link # Time the account was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Account ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics account. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Account name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Permissions the user has for this account. # Corresponds to the JSON property `permissions` # @return [Google::Apis::AnalyticsV3::Account::Permissions] attr_accessor :permissions # Link for this account. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Indicates whether this account is starred or not. # Corresponds to the JSON property `starred` # @return [Boolean] attr_accessor :starred alias_method :starred?, :starred # Time the account was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @child_link = args[:child_link] if args.key?(:child_link) @created = args[:created] if args.key?(:created) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @permissions = args[:permissions] if args.key?(:permissions) @self_link = args[:self_link] if args.key?(:self_link) @starred = args[:starred] if args.key?(:starred) @updated = args[:updated] if args.key?(:updated) end # Child link for an account entry. Points to the list of web properties for this # account. class ChildLink include Google::Apis::Core::Hashable # Link to the list of web properties for this account. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Type of the child link. Its value is "analytics#webproperties". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Permissions the user has for this account. class Permissions include Google::Apis::Core::Hashable # All the permissions that the user has for this account. These include any # implied permissions (e.g., EDIT implies VIEW). # Corresponds to the JSON property `effective` # @return [Array] attr_accessor :effective def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @effective = args[:effective] if args.key?(:effective) end end end # JSON template for a linked account. class AccountRef include Google::Apis::Core::Hashable # Link for this account. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Account ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Analytics account reference. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Account name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) end end # An AccountSummary collection lists a summary of accounts, properties and views # (profiles) to which the user has access. Each resource in the collection # corresponds to a single AccountSummary. class AccountSummaries include Google::Apis::Core::Hashable # A list of AccountSummaries. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this AccountSummary collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this AccountSummary collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for an Analytics AccountSummary. An AccountSummary is a # lightweight tree comprised of properties/profiles. class AccountSummary include Google::Apis::Core::Hashable # Account ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics AccountSummary. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Account name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Indicates whether this account is starred or not. # Corresponds to the JSON property `starred` # @return [Boolean] attr_accessor :starred alias_method :starred?, :starred # List of web properties under this account. # Corresponds to the JSON property `webProperties` # @return [Array] attr_accessor :web_properties def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @starred = args[:starred] if args.key?(:starred) @web_properties = args[:web_properties] if args.key?(:web_properties) end end # JSON template for an Analytics account ticket. The account ticket consists of # the ticket ID and the basic information for the account, property and profile. class AccountTicket include Google::Apis::Core::Hashable # JSON template for Analytics account entry. # Corresponds to the JSON property `account` # @return [Google::Apis::AnalyticsV3::Account] attr_accessor :account # Account ticket ID used to access the account ticket. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for account ticket. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # JSON template for an Analytics view (profile). # Corresponds to the JSON property `profile` # @return [Google::Apis::AnalyticsV3::Profile] attr_accessor :profile # Redirect URI where the user will be sent after accepting Terms of Service. # Must be configured in APIs console as a callback URL. # Corresponds to the JSON property `redirectUri` # @return [String] attr_accessor :redirect_uri # JSON template for an Analytics web property. # Corresponds to the JSON property `webproperty` # @return [Google::Apis::AnalyticsV3::Webproperty] attr_accessor :webproperty def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account = args[:account] if args.key?(:account) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @profile = args[:profile] if args.key?(:profile) @redirect_uri = args[:redirect_uri] if args.key?(:redirect_uri) @webproperty = args[:webproperty] if args.key?(:webproperty) end end # JSON template for an Analytics account tree requests. The account tree request # is used in the provisioning api to create an account, property, and view ( # profile). It contains the basic information required to make these fields. class AccountTreeRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `accountName` # @return [String] attr_accessor :account_name # Resource type for account ticket. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # # Corresponds to the JSON property `profileName` # @return [String] attr_accessor :profile_name # # Corresponds to the JSON property `timezone` # @return [String] attr_accessor :timezone # # Corresponds to the JSON property `webpropertyName` # @return [String] attr_accessor :webproperty_name # # Corresponds to the JSON property `websiteUrl` # @return [String] attr_accessor :website_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_name = args[:account_name] if args.key?(:account_name) @kind = args[:kind] if args.key?(:kind) @profile_name = args[:profile_name] if args.key?(:profile_name) @timezone = args[:timezone] if args.key?(:timezone) @webproperty_name = args[:webproperty_name] if args.key?(:webproperty_name) @website_url = args[:website_url] if args.key?(:website_url) end end # JSON template for an Analytics account tree response. The account tree # response is used in the provisioning api to return the result of creating an # account, property, and view (profile). class AccountTreeResponse include Google::Apis::Core::Hashable # JSON template for Analytics account entry. # Corresponds to the JSON property `account` # @return [Google::Apis::AnalyticsV3::Account] attr_accessor :account # Resource type for account ticket. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # JSON template for an Analytics view (profile). # Corresponds to the JSON property `profile` # @return [Google::Apis::AnalyticsV3::Profile] attr_accessor :profile # JSON template for an Analytics web property. # Corresponds to the JSON property `webproperty` # @return [Google::Apis::AnalyticsV3::Webproperty] attr_accessor :webproperty def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account = args[:account] if args.key?(:account) @kind = args[:kind] if args.key?(:kind) @profile = args[:profile] if args.key?(:profile) @webproperty = args[:webproperty] if args.key?(:webproperty) end end # An account collection provides a list of Analytics accounts to which a user # has access. The account collection is the entry point to all management # information. Each resource in the collection corresponds to a single Analytics # account. class Accounts include Google::Apis::Core::Hashable # A list of accounts. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of entries the response can contain, regardless of the # actual number of entries returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Next link for this account collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Previous link for this account collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the entries, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for an Google Ads account. class AdWordsAccount include Google::Apis::Core::Hashable # True if auto-tagging is enabled on the Google Ads account. Read-only after the # insert operation. # Corresponds to the JSON property `autoTaggingEnabled` # @return [Boolean] attr_accessor :auto_tagging_enabled alias_method :auto_tagging_enabled?, :auto_tagging_enabled # Customer ID. This field is required when creating a Google Ads link. # Corresponds to the JSON property `customerId` # @return [String] attr_accessor :customer_id # Resource type for Google Ads account. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @auto_tagging_enabled = args[:auto_tagging_enabled] if args.key?(:auto_tagging_enabled) @customer_id = args[:customer_id] if args.key?(:customer_id) @kind = args[:kind] if args.key?(:kind) end end # Request template for the delete upload data request. class DeleteUploadDataRequest include Google::Apis::Core::Hashable # A list of upload UIDs. # Corresponds to the JSON property `customDataImportUids` # @return [Array] attr_accessor :custom_data_import_uids def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @custom_data_import_uids = args[:custom_data_import_uids] if args.key?(:custom_data_import_uids) end end # JSON template for a metadata column. class Column include Google::Apis::Core::Hashable # Map of attribute name and value for this column. # Corresponds to the JSON property `attributes` # @return [Hash] attr_accessor :attributes # Column id. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics column. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attributes = args[:attributes] if args.key?(:attributes) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) end end # Lists columns (dimensions and metrics) for a particular report type. class Columns include Google::Apis::Core::Hashable # List of attributes names returned by columns. # Corresponds to the JSON property `attributeNames` # @return [Array] attr_accessor :attribute_names # Etag of collection. This etag can be compared with the last response etag to # check if response has changed. # Corresponds to the JSON property `etag` # @return [String] attr_accessor :etag # List of columns for a report type. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Total number of columns returned in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @attribute_names = args[:attribute_names] if args.key?(:attribute_names) @etag = args[:etag] if args.key?(:etag) @items = args[:items] if args.key?(:items) @kind = args[:kind] if args.key?(:kind) @total_results = args[:total_results] if args.key?(:total_results) end end # JSON template for an Analytics custom data source. class CustomDataSource include Google::Apis::Core::Hashable # Account ID to which this custom data source belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # # Corresponds to the JSON property `childLink` # @return [Google::Apis::AnalyticsV3::CustomDataSource::ChildLink] attr_accessor :child_link # Time this custom data source was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Description of custom data source. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Custom data source ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # # Corresponds to the JSON property `importBehavior` # @return [String] attr_accessor :import_behavior # Resource type for Analytics custom data source. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of this custom data source. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for this custom data source. Points to the web property to which # this custom data source belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::CustomDataSource::ParentLink] attr_accessor :parent_link # IDs of views (profiles) linked to the custom data source. # Corresponds to the JSON property `profilesLinked` # @return [Array] attr_accessor :profiles_linked # Collection of schema headers of the custom data source. # Corresponds to the JSON property `schema` # @return [Array] attr_accessor :schema # Link for this Analytics custom data source. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Type of the custom data source. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Time this custom data source was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Upload type of the custom data source. # Corresponds to the JSON property `uploadType` # @return [String] attr_accessor :upload_type # Web property ID of the form UA-XXXXX-YY to which this custom data source # belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @child_link = args[:child_link] if args.key?(:child_link) @created = args[:created] if args.key?(:created) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @import_behavior = args[:import_behavior] if args.key?(:import_behavior) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @profiles_linked = args[:profiles_linked] if args.key?(:profiles_linked) @schema = args[:schema] if args.key?(:schema) @self_link = args[:self_link] if args.key?(:self_link) @type = args[:type] if args.key?(:type) @updated = args[:updated] if args.key?(:updated) @upload_type = args[:upload_type] if args.key?(:upload_type) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # class ChildLink include Google::Apis::Core::Hashable # Link to the list of daily uploads for this custom data source. Link to the # list of uploads for this custom data source. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#dailyUploads". Value is "analytics#uploads". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Parent link for this custom data source. Points to the web property to which # this custom data source belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the web property to which this custom data source belongs. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#webproperty". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end end # Lists Analytics custom data sources to which the user has access. Each # resource in the collection corresponds to a single Analytics custom data # source. class CustomDataSources include Google::Apis::Core::Hashable # Collection of custom data sources. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this custom data source collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this custom data source collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for Analytics Custom Dimension. class CustomDimension include Google::Apis::Core::Hashable # Account ID. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Boolean indicating whether the custom dimension is active. # Corresponds to the JSON property `active` # @return [Boolean] attr_accessor :active alias_method :active?, :active # Time the custom dimension was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Custom dimension ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Index of the custom dimension. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # Kind value for a custom dimension. Set to "analytics#customDimension". It is a # read-only field. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the custom dimension. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for the custom dimension. Points to the property to which the # custom dimension belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::CustomDimension::ParentLink] attr_accessor :parent_link # Scope of the custom dimension: HIT, SESSION, USER or PRODUCT. # Corresponds to the JSON property `scope` # @return [String] attr_accessor :scope # Link for the custom dimension # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Time the custom dimension was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Property ID. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @active = args[:active] if args.key?(:active) @created = args[:created] if args.key?(:created) @id = args[:id] if args.key?(:id) @index = args[:index] if args.key?(:index) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @scope = args[:scope] if args.key?(:scope) @self_link = args[:self_link] if args.key?(:self_link) @updated = args[:updated] if args.key?(:updated) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # Parent link for the custom dimension. Points to the property to which the # custom dimension belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the property to which the custom dimension belongs. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Type of the parent link. Set to "analytics#webproperty". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end end # A custom dimension collection lists Analytics custom dimensions to which the # user has access. Each resource in the collection corresponds to a single # Analytics custom dimension. class CustomDimensions include Google::Apis::Core::Hashable # Collection of custom dimensions. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this custom dimension collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this custom dimension collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for Analytics Custom Metric. class CustomMetric include Google::Apis::Core::Hashable # Account ID. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Boolean indicating whether the custom metric is active. # Corresponds to the JSON property `active` # @return [Boolean] attr_accessor :active alias_method :active?, :active # Time the custom metric was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Custom metric ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Index of the custom metric. # Corresponds to the JSON property `index` # @return [Fixnum] attr_accessor :index # Kind value for a custom metric. Set to "analytics#customMetric". It is a read- # only field. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Max value of custom metric. # Corresponds to the JSON property `max_value` # @return [String] attr_accessor :max_value # Min value of custom metric. # Corresponds to the JSON property `min_value` # @return [String] attr_accessor :min_value # Name of the custom metric. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for the custom metric. Points to the property to which the custom # metric belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::CustomMetric::ParentLink] attr_accessor :parent_link # Scope of the custom metric: HIT or PRODUCT. # Corresponds to the JSON property `scope` # @return [String] attr_accessor :scope # Link for the custom metric # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Data type of custom metric. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Time the custom metric was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Property ID. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @active = args[:active] if args.key?(:active) @created = args[:created] if args.key?(:created) @id = args[:id] if args.key?(:id) @index = args[:index] if args.key?(:index) @kind = args[:kind] if args.key?(:kind) @max_value = args[:max_value] if args.key?(:max_value) @min_value = args[:min_value] if args.key?(:min_value) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @scope = args[:scope] if args.key?(:scope) @self_link = args[:self_link] if args.key?(:self_link) @type = args[:type] if args.key?(:type) @updated = args[:updated] if args.key?(:updated) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # Parent link for the custom metric. Points to the property to which the custom # metric belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the property to which the custom metric belongs. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Type of the parent link. Set to "analytics#webproperty". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end end # A custom metric collection lists Analytics custom metrics to which the user # has access. Each resource in the collection corresponds to a single Analytics # custom metric. class CustomMetrics include Google::Apis::Core::Hashable # Collection of custom metrics. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this custom metric collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this custom metric collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for Analytics Entity Google Ads Link. class EntityAdWordsLink include Google::Apis::Core::Hashable # A list of Google Ads client accounts. These cannot be MCC accounts. This field # is required when creating a Google Ads link. It cannot be empty. # Corresponds to the JSON property `adWordsAccounts` # @return [Array] attr_accessor :ad_words_accounts # Web property being linked. # Corresponds to the JSON property `entity` # @return [Google::Apis::AnalyticsV3::EntityAdWordsLink::Entity] attr_accessor :entity # Entity Google Ads link ID # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for entity Google Ads link. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of the link. This field is required when creating a Google Ads link. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # IDs of linked Views (Profiles) represented as strings. # Corresponds to the JSON property `profileIds` # @return [Array] attr_accessor :profile_ids # URL link for this Google Analytics - Google Ads link. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @ad_words_accounts = args[:ad_words_accounts] if args.key?(:ad_words_accounts) @entity = args[:entity] if args.key?(:entity) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @profile_ids = args[:profile_ids] if args.key?(:profile_ids) @self_link = args[:self_link] if args.key?(:self_link) end # Web property being linked. class Entity include Google::Apis::Core::Hashable # JSON template for a web property reference. # Corresponds to the JSON property `webPropertyRef` # @return [Google::Apis::AnalyticsV3::WebPropertyRef] attr_accessor :web_property_ref def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @web_property_ref = args[:web_property_ref] if args.key?(:web_property_ref) end end end # An entity Google Ads link collection provides a list of GA-Google Ads links # Each resource in this collection corresponds to a single link. class EntityAdWordsLinks include Google::Apis::Core::Hashable # A list of entity Google Ads links. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of entries the response can contain, regardless of the # actual number of entries returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Next link for this Google Ads link collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Previous link for this Google Ads link collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the entries, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) end end # JSON template for an Analytics Entity-User Link. Returns permissions that a # user has for an entity. class EntityUserLink include Google::Apis::Core::Hashable # Entity for this link. It can be an account, a web property, or a view (profile) # . # Corresponds to the JSON property `entity` # @return [Google::Apis::AnalyticsV3::EntityUserLink::Entity] attr_accessor :entity # Entity user link ID # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for entity user link. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Permissions the user has for this entity. # Corresponds to the JSON property `permissions` # @return [Google::Apis::AnalyticsV3::EntityUserLink::Permissions] attr_accessor :permissions # Self link for this resource. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # JSON template for a user reference. # Corresponds to the JSON property `userRef` # @return [Google::Apis::AnalyticsV3::UserRef] attr_accessor :user_ref def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @entity = args[:entity] if args.key?(:entity) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @permissions = args[:permissions] if args.key?(:permissions) @self_link = args[:self_link] if args.key?(:self_link) @user_ref = args[:user_ref] if args.key?(:user_ref) end # Entity for this link. It can be an account, a web property, or a view (profile) # . class Entity include Google::Apis::Core::Hashable # JSON template for a linked account. # Corresponds to the JSON property `accountRef` # @return [Google::Apis::AnalyticsV3::AccountRef] attr_accessor :account_ref # JSON template for a linked view (profile). # Corresponds to the JSON property `profileRef` # @return [Google::Apis::AnalyticsV3::ProfileRef] attr_accessor :profile_ref # JSON template for a web property reference. # Corresponds to the JSON property `webPropertyRef` # @return [Google::Apis::AnalyticsV3::WebPropertyRef] attr_accessor :web_property_ref def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_ref = args[:account_ref] if args.key?(:account_ref) @profile_ref = args[:profile_ref] if args.key?(:profile_ref) @web_property_ref = args[:web_property_ref] if args.key?(:web_property_ref) end end # Permissions the user has for this entity. class Permissions include Google::Apis::Core::Hashable # Effective permissions represent all the permissions that a user has for this # entity. These include any implied permissions (e.g., EDIT implies VIEW) or # inherited permissions from the parent entity. Effective permissions are read- # only. # Corresponds to the JSON property `effective` # @return [Array] attr_accessor :effective # Permissions that a user has been assigned at this very level. Does not include # any implied or inherited permissions. Local permissions are modifiable. # Corresponds to the JSON property `local` # @return [Array] attr_accessor :local def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @effective = args[:effective] if args.key?(:effective) @local = args[:local] if args.key?(:local) end end end # An entity user link collection provides a list of Analytics ACL links Each # resource in this collection corresponds to a single link. class EntityUserLinks include Google::Apis::Core::Hashable # A list of entity user links. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of entries the response can contain, regardless of the # actual number of entries returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Next link for this account collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Previous link for this account collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the entries, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) end end # JSON template for Analytics experiment resource. class Experiment include Google::Apis::Core::Hashable # Account ID to which this experiment belongs. This field is read-only. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Time the experiment was created. This field is read-only. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Notes about this experiment. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # If true, the end user will be able to edit the experiment via the Google # Analytics user interface. # Corresponds to the JSON property `editableInGaUi` # @return [Boolean] attr_accessor :editable_in_ga_ui alias_method :editable_in_ga_ui?, :editable_in_ga_ui # The ending time of the experiment (the time the status changed from RUNNING to # ENDED). This field is present only if the experiment has ended. This field is # read-only. # Corresponds to the JSON property `endTime` # @return [DateTime] attr_accessor :end_time # Boolean specifying whether to distribute traffic evenly across all variations. # If the value is False, content experiments follows the default behavior of # adjusting traffic dynamically based on variation performance. Optional -- # defaults to False. This field may not be changed for an experiment whose # status is ENDED. # Corresponds to the JSON property `equalWeighting` # @return [Boolean] attr_accessor :equal_weighting alias_method :equal_weighting?, :equal_weighting # Experiment ID. Required for patch and update. Disallowed for create. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for the web property to which this experiment belongs. This field # is read-only. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Resource type for an Analytics experiment. This field is read-only. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # An integer number in [3, 90]. Specifies the minimum length of the experiment. # Can be changed for a running experiment. This field may not be changed for an # experiments whose status is ENDED. # Corresponds to the JSON property `minimumExperimentLengthInDays` # @return [Fixnum] attr_accessor :minimum_experiment_length_in_days # Experiment name. This field may not be changed for an experiment whose status # is ENDED. This field is required when creating an experiment. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # The metric that the experiment is optimizing. Valid values: "ga:goal(n) # Completions", "ga:adsenseAdsClicks", "ga:adsenseAdsViewed", "ga:adsenseRevenue" # , "ga:bounces", "ga:pageviews", "ga:sessionDuration", "ga:transactions", "ga: # transactionRevenue". This field is required if status is "RUNNING" and # servingFramework is one of "REDIRECT" or "API". # Corresponds to the JSON property `objectiveMetric` # @return [String] attr_accessor :objective_metric # Whether the objectiveMetric should be minimized or maximized. Possible values: # "MAXIMUM", "MINIMUM". Optional--defaults to "MAXIMUM". Cannot be specified # without objectiveMetric. Cannot be modified when status is "RUNNING" or "ENDED" # . # Corresponds to the JSON property `optimizationType` # @return [String] attr_accessor :optimization_type # Parent link for an experiment. Points to the view (profile) to which this # experiment belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::Experiment::ParentLink] attr_accessor :parent_link # View (Profile) ID to which this experiment belongs. This field is read-only. # Corresponds to the JSON property `profileId` # @return [String] attr_accessor :profile_id # Why the experiment ended. Possible values: "STOPPED_BY_USER", "WINNER_FOUND", " # EXPERIMENT_EXPIRED", "ENDED_WITH_NO_WINNER", "GOAL_OBJECTIVE_CHANGED". " # ENDED_WITH_NO_WINNER" means that the experiment didn't expire but no winner # was projected to be found. If the experiment status is changed via the API to # ENDED this field is set to STOPPED_BY_USER. This field is read-only. # Corresponds to the JSON property `reasonExperimentEnded` # @return [String] attr_accessor :reason_experiment_ended # Boolean specifying whether variations URLS are rewritten to match those of the # original. This field may not be changed for an experiments whose status is # ENDED. # Corresponds to the JSON property `rewriteVariationUrlsAsOriginal` # @return [Boolean] attr_accessor :rewrite_variation_urls_as_original alias_method :rewrite_variation_urls_as_original?, :rewrite_variation_urls_as_original # Link for this experiment. This field is read-only. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The framework used to serve the experiment variations and evaluate the results. # One of: # - REDIRECT: Google Analytics redirects traffic to different variation pages, # reports the chosen variation and evaluates the results. # - API: Google Analytics chooses and reports the variation to serve and # evaluates the results; the caller is responsible for serving the selected # variation. # - EXTERNAL: The variations will be served externally and the chosen variation # reported to Google Analytics. The caller is responsible for serving the # selected variation and evaluating the results. # Corresponds to the JSON property `servingFramework` # @return [String] attr_accessor :serving_framework # The snippet of code to include on the control page(s). This field is read-only. # Corresponds to the JSON property `snippet` # @return [String] attr_accessor :snippet # The starting time of the experiment (the time the status changed from # READY_TO_RUN to RUNNING). This field is present only if the experiment has # started. This field is read-only. # Corresponds to the JSON property `startTime` # @return [DateTime] attr_accessor :start_time # Experiment status. Possible values: "DRAFT", "READY_TO_RUN", "RUNNING", "ENDED" # . Experiments can be created in the "DRAFT", "READY_TO_RUN" or "RUNNING" state. # This field is required when creating an experiment. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # A floating-point number in (0, 1]. Specifies the fraction of the traffic that # participates in the experiment. Can be changed for a running experiment. This # field may not be changed for an experiments whose status is ENDED. # Corresponds to the JSON property `trafficCoverage` # @return [Float] attr_accessor :traffic_coverage # Time the experiment was last modified. This field is read-only. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Array of variations. The first variation in the array is the original. The # number of variations may not change once an experiment is in the RUNNING state. # At least two variations are required before status can be set to RUNNING. # Corresponds to the JSON property `variations` # @return [Array] attr_accessor :variations # Web property ID to which this experiment belongs. The web property ID is of # the form UA-XXXXX-YY. This field is read-only. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id # A floating-point number in (0, 1). Specifies the necessary confidence level to # choose a winner. This field may not be changed for an experiments whose status # is ENDED. # Corresponds to the JSON property `winnerConfidenceLevel` # @return [Float] attr_accessor :winner_confidence_level # Boolean specifying whether a winner has been found for this experiment. This # field is read-only. # Corresponds to the JSON property `winnerFound` # @return [Boolean] attr_accessor :winner_found alias_method :winner_found?, :winner_found def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @created = args[:created] if args.key?(:created) @description = args[:description] if args.key?(:description) @editable_in_ga_ui = args[:editable_in_ga_ui] if args.key?(:editable_in_ga_ui) @end_time = args[:end_time] if args.key?(:end_time) @equal_weighting = args[:equal_weighting] if args.key?(:equal_weighting) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @minimum_experiment_length_in_days = args[:minimum_experiment_length_in_days] if args.key?(:minimum_experiment_length_in_days) @name = args[:name] if args.key?(:name) @objective_metric = args[:objective_metric] if args.key?(:objective_metric) @optimization_type = args[:optimization_type] if args.key?(:optimization_type) @parent_link = args[:parent_link] if args.key?(:parent_link) @profile_id = args[:profile_id] if args.key?(:profile_id) @reason_experiment_ended = args[:reason_experiment_ended] if args.key?(:reason_experiment_ended) @rewrite_variation_urls_as_original = args[:rewrite_variation_urls_as_original] if args.key?(:rewrite_variation_urls_as_original) @self_link = args[:self_link] if args.key?(:self_link) @serving_framework = args[:serving_framework] if args.key?(:serving_framework) @snippet = args[:snippet] if args.key?(:snippet) @start_time = args[:start_time] if args.key?(:start_time) @status = args[:status] if args.key?(:status) @traffic_coverage = args[:traffic_coverage] if args.key?(:traffic_coverage) @updated = args[:updated] if args.key?(:updated) @variations = args[:variations] if args.key?(:variations) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) @winner_confidence_level = args[:winner_confidence_level] if args.key?(:winner_confidence_level) @winner_found = args[:winner_found] if args.key?(:winner_found) end # Parent link for an experiment. Points to the view (profile) to which this # experiment belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the view (profile) to which this experiment belongs. This field is # read-only. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#profile". This field is read-only. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # class Variation include Google::Apis::Core::Hashable # The name of the variation. This field is required when creating an experiment. # This field may not be changed for an experiment whose status is ENDED. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Status of the variation. Possible values: "ACTIVE", "INACTIVE". INACTIVE # variations are not served. This field may not be changed for an experiment # whose status is ENDED. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # The URL of the variation. This field may not be changed for an experiment # whose status is RUNNING or ENDED. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url # Weight that this variation should receive. Only present if the experiment is # running. This field is read-only. # Corresponds to the JSON property `weight` # @return [Float] attr_accessor :weight # True if the experiment has ended and this variation performed (statistically) # significantly better than the original. This field is read-only. # Corresponds to the JSON property `won` # @return [Boolean] attr_accessor :won alias_method :won?, :won def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @status = args[:status] if args.key?(:status) @url = args[:url] if args.key?(:url) @weight = args[:weight] if args.key?(:weight) @won = args[:won] if args.key?(:won) end end end # An experiment collection lists Analytics experiments to which the user has # access. Each view (profile) can have a set of experiments. Each resource in # the Experiment collection corresponds to a single Analytics experiment. class Experiments include Google::Apis::Core::Hashable # A list of experiments. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this experiment collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this experiment collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of # resources in the result. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for an Analytics account filter. class Filter include Google::Apis::Core::Hashable # Account ID to which this filter belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Details for the filter of the type ADVANCED. # Corresponds to the JSON property `advancedDetails` # @return [Google::Apis::AnalyticsV3::Filter::AdvancedDetails] attr_accessor :advanced_details # Time this filter was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # JSON template for an Analytics filter expression. # Corresponds to the JSON property `excludeDetails` # @return [Google::Apis::AnalyticsV3::FilterExpression] attr_accessor :exclude_details # Filter ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # JSON template for an Analytics filter expression. # Corresponds to the JSON property `includeDetails` # @return [Google::Apis::AnalyticsV3::FilterExpression] attr_accessor :include_details # Resource type for Analytics filter. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Details for the filter of the type LOWER. # Corresponds to the JSON property `lowercaseDetails` # @return [Google::Apis::AnalyticsV3::Filter::LowercaseDetails] attr_accessor :lowercase_details # Name of this filter. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for this filter. Points to the account to which this filter # belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::Filter::ParentLink] attr_accessor :parent_link # Details for the filter of the type SEARCH_AND_REPLACE. # Corresponds to the JSON property `searchAndReplaceDetails` # @return [Google::Apis::AnalyticsV3::Filter::SearchAndReplaceDetails] attr_accessor :search_and_replace_details # Link for this filter. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Type of this filter. Possible values are INCLUDE, EXCLUDE, LOWERCASE, # UPPERCASE, SEARCH_AND_REPLACE and ADVANCED. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Time this filter was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Details for the filter of the type UPPER. # Corresponds to the JSON property `uppercaseDetails` # @return [Google::Apis::AnalyticsV3::Filter::UppercaseDetails] attr_accessor :uppercase_details def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @advanced_details = args[:advanced_details] if args.key?(:advanced_details) @created = args[:created] if args.key?(:created) @exclude_details = args[:exclude_details] if args.key?(:exclude_details) @id = args[:id] if args.key?(:id) @include_details = args[:include_details] if args.key?(:include_details) @kind = args[:kind] if args.key?(:kind) @lowercase_details = args[:lowercase_details] if args.key?(:lowercase_details) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @search_and_replace_details = args[:search_and_replace_details] if args.key?(:search_and_replace_details) @self_link = args[:self_link] if args.key?(:self_link) @type = args[:type] if args.key?(:type) @updated = args[:updated] if args.key?(:updated) @uppercase_details = args[:uppercase_details] if args.key?(:uppercase_details) end # Details for the filter of the type ADVANCED. class AdvancedDetails include Google::Apis::Core::Hashable # Indicates if the filter expressions are case sensitive. # Corresponds to the JSON property `caseSensitive` # @return [Boolean] attr_accessor :case_sensitive alias_method :case_sensitive?, :case_sensitive # Expression to extract from field A. # Corresponds to the JSON property `extractA` # @return [String] attr_accessor :extract_a # Expression to extract from field B. # Corresponds to the JSON property `extractB` # @return [String] attr_accessor :extract_b # Field A. # Corresponds to the JSON property `fieldA` # @return [String] attr_accessor :field_a # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. # Corresponds to the JSON property `fieldAIndex` # @return [Fixnum] attr_accessor :field_a_index # Indicates if field A is required to match. # Corresponds to the JSON property `fieldARequired` # @return [Boolean] attr_accessor :field_a_required alias_method :field_a_required?, :field_a_required # Field B. # Corresponds to the JSON property `fieldB` # @return [String] attr_accessor :field_b # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. # Corresponds to the JSON property `fieldBIndex` # @return [Fixnum] attr_accessor :field_b_index # Indicates if field B is required to match. # Corresponds to the JSON property `fieldBRequired` # @return [Boolean] attr_accessor :field_b_required alias_method :field_b_required?, :field_b_required # Expression used to construct the output value. # Corresponds to the JSON property `outputConstructor` # @return [String] attr_accessor :output_constructor # Output field. # Corresponds to the JSON property `outputToField` # @return [String] attr_accessor :output_to_field # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. # Corresponds to the JSON property `outputToFieldIndex` # @return [Fixnum] attr_accessor :output_to_field_index # Indicates if the existing value of the output field, if any, should be # overridden by the output expression. # Corresponds to the JSON property `overrideOutputField` # @return [Boolean] attr_accessor :override_output_field alias_method :override_output_field?, :override_output_field def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive) @extract_a = args[:extract_a] if args.key?(:extract_a) @extract_b = args[:extract_b] if args.key?(:extract_b) @field_a = args[:field_a] if args.key?(:field_a) @field_a_index = args[:field_a_index] if args.key?(:field_a_index) @field_a_required = args[:field_a_required] if args.key?(:field_a_required) @field_b = args[:field_b] if args.key?(:field_b) @field_b_index = args[:field_b_index] if args.key?(:field_b_index) @field_b_required = args[:field_b_required] if args.key?(:field_b_required) @output_constructor = args[:output_constructor] if args.key?(:output_constructor) @output_to_field = args[:output_to_field] if args.key?(:output_to_field) @output_to_field_index = args[:output_to_field_index] if args.key?(:output_to_field_index) @override_output_field = args[:override_output_field] if args.key?(:override_output_field) end end # Details for the filter of the type LOWER. class LowercaseDetails include Google::Apis::Core::Hashable # Field to use in the filter. # Corresponds to the JSON property `field` # @return [String] attr_accessor :field # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. # Corresponds to the JSON property `fieldIndex` # @return [Fixnum] attr_accessor :field_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @field = args[:field] if args.key?(:field) @field_index = args[:field_index] if args.key?(:field_index) end end # Parent link for this filter. Points to the account to which this filter # belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the account to which this filter belongs. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#account". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Details for the filter of the type SEARCH_AND_REPLACE. class SearchAndReplaceDetails include Google::Apis::Core::Hashable # Determines if the filter is case sensitive. # Corresponds to the JSON property `caseSensitive` # @return [Boolean] attr_accessor :case_sensitive alias_method :case_sensitive?, :case_sensitive # Field to use in the filter. # Corresponds to the JSON property `field` # @return [String] attr_accessor :field # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. # Corresponds to the JSON property `fieldIndex` # @return [Fixnum] attr_accessor :field_index # Term to replace the search term with. # Corresponds to the JSON property `replaceString` # @return [String] attr_accessor :replace_string # Term to search. # Corresponds to the JSON property `searchString` # @return [String] attr_accessor :search_string def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive) @field = args[:field] if args.key?(:field) @field_index = args[:field_index] if args.key?(:field_index) @replace_string = args[:replace_string] if args.key?(:replace_string) @search_string = args[:search_string] if args.key?(:search_string) end end # Details for the filter of the type UPPER. class UppercaseDetails include Google::Apis::Core::Hashable # Field to use in the filter. # Corresponds to the JSON property `field` # @return [String] attr_accessor :field # The Index of the custom dimension. Required if field is a CUSTOM_DIMENSION. # Corresponds to the JSON property `fieldIndex` # @return [Fixnum] attr_accessor :field_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @field = args[:field] if args.key?(:field) @field_index = args[:field_index] if args.key?(:field_index) end end end # JSON template for an Analytics filter expression. class FilterExpression include Google::Apis::Core::Hashable # Determines if the filter is case sensitive. # Corresponds to the JSON property `caseSensitive` # @return [Boolean] attr_accessor :case_sensitive alias_method :case_sensitive?, :case_sensitive # Filter expression value # Corresponds to the JSON property `expressionValue` # @return [String] attr_accessor :expression_value # Field to filter. Possible values: # - Content and Traffic # - PAGE_REQUEST_URI, # - PAGE_HOSTNAME, # - PAGE_TITLE, # - REFERRAL, # - COST_DATA_URI (Campaign target URL), # - HIT_TYPE, # - INTERNAL_SEARCH_TERM, # - INTERNAL_SEARCH_TYPE, # - SOURCE_PROPERTY_TRACKING_ID, # - Campaign or AdGroup # - CAMPAIGN_SOURCE, # - CAMPAIGN_MEDIUM, # - CAMPAIGN_NAME, # - CAMPAIGN_AD_GROUP, # - CAMPAIGN_TERM, # - CAMPAIGN_CONTENT, # - CAMPAIGN_CODE, # - CAMPAIGN_REFERRAL_PATH, # - E-Commerce # - TRANSACTION_COUNTRY, # - TRANSACTION_REGION, # - TRANSACTION_CITY, # - TRANSACTION_AFFILIATION (Store or order location), # - ITEM_NAME, # - ITEM_CODE, # - ITEM_VARIATION, # - TRANSACTION_ID, # - TRANSACTION_CURRENCY_CODE, # - PRODUCT_ACTION_TYPE, # - Audience/Users # - BROWSER, # - BROWSER_VERSION, # - BROWSER_SIZE, # - PLATFORM, # - PLATFORM_VERSION, # - LANGUAGE, # - SCREEN_RESOLUTION, # - SCREEN_COLORS, # - JAVA_ENABLED (Boolean Field), # - FLASH_VERSION, # - GEO_SPEED (Connection speed), # - VISITOR_TYPE, # - GEO_ORGANIZATION (ISP organization), # - GEO_DOMAIN, # - GEO_IP_ADDRESS, # - GEO_IP_VERSION, # - Location # - GEO_COUNTRY, # - GEO_REGION, # - GEO_CITY, # - Event # - EVENT_CATEGORY, # - EVENT_ACTION, # - EVENT_LABEL, # - Other # - CUSTOM_FIELD_1, # - CUSTOM_FIELD_2, # - USER_DEFINED_VALUE, # - Application # - APP_ID, # - APP_INSTALLER_ID, # - APP_NAME, # - APP_VERSION, # - SCREEN, # - IS_APP (Boolean Field), # - IS_FATAL_EXCEPTION (Boolean Field), # - EXCEPTION_DESCRIPTION, # - Mobile device # - IS_MOBILE (Boolean Field, Deprecated. Use DEVICE_CATEGORY=mobile), # - IS_TABLET (Boolean Field, Deprecated. Use DEVICE_CATEGORY=tablet), # - DEVICE_CATEGORY, # - MOBILE_HAS_QWERTY_KEYBOARD (Boolean Field), # - MOBILE_HAS_NFC_SUPPORT (Boolean Field), # - MOBILE_HAS_CELLULAR_RADIO (Boolean Field), # - MOBILE_HAS_WIFI_SUPPORT (Boolean Field), # - MOBILE_BRAND_NAME, # - MOBILE_MODEL_NAME, # - MOBILE_MARKETING_NAME, # - MOBILE_POINTING_METHOD, # - Social # - SOCIAL_NETWORK, # - SOCIAL_ACTION, # - SOCIAL_ACTION_TARGET, # - Custom dimension # - CUSTOM_DIMENSION (See accompanying field index), # Corresponds to the JSON property `field` # @return [String] attr_accessor :field # The Index of the custom dimension. Set only if the field is a is # CUSTOM_DIMENSION. # Corresponds to the JSON property `fieldIndex` # @return [Fixnum] attr_accessor :field_index # Kind value for filter expression # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Match type for this filter. Possible values are BEGINS_WITH, EQUAL, ENDS_WITH, # CONTAINS, or MATCHES. GEO_DOMAIN, GEO_IP_ADDRESS, PAGE_REQUEST_URI, or # PAGE_HOSTNAME filters can use any match type; all other filters must use # MATCHES. # Corresponds to the JSON property `matchType` # @return [String] attr_accessor :match_type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive) @expression_value = args[:expression_value] if args.key?(:expression_value) @field = args[:field] if args.key?(:field) @field_index = args[:field_index] if args.key?(:field_index) @kind = args[:kind] if args.key?(:kind) @match_type = args[:match_type] if args.key?(:match_type) end end # JSON template for a profile filter link. class FilterRef include Google::Apis::Core::Hashable # Account ID to which this filter belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Link for this filter. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Filter ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Kind value for filter reference. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of this filter. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @href = args[:href] if args.key?(:href) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) end end # A filter collection lists filters created by users in an Analytics account. # Each resource in the collection corresponds to a filter. class Filters include Google::Apis::Core::Hashable # A list of filters. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1,000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this filter collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this filter collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # Analytics data for a given view (profile). class GaData include Google::Apis::Core::Hashable # Column headers that list dimension names followed by the metric names. The # order of dimensions and metrics is same as specified in the request. # Corresponds to the JSON property `columnHeaders` # @return [Array] attr_accessor :column_headers # Determines if Analytics data contains samples. # Corresponds to the JSON property `containsSampledData` # @return [Boolean] attr_accessor :contains_sampled_data alias_method :contains_sampled_data?, :contains_sampled_data # The last refreshed time in seconds for Analytics data. # Corresponds to the JSON property `dataLastRefreshed` # @return [Fixnum] attr_accessor :data_last_refreshed # # Corresponds to the JSON property `dataTable` # @return [Google::Apis::AnalyticsV3::GaData::DataTable] attr_accessor :data_table # Unique ID for this data response. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The maximum number of rows the response can contain, regardless of the actual # number of rows returned. Its value ranges from 1 to 10,000 with a value of # 1000 by default, or otherwise specified by the max-results query parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Resource type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this Analytics data query. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this Analytics data query. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # Information for the view (profile), for which the Analytics data was requested. # Corresponds to the JSON property `profileInfo` # @return [Google::Apis::AnalyticsV3::GaData::ProfileInfo] attr_accessor :profile_info # Analytics data request query parameters. # Corresponds to the JSON property `query` # @return [Google::Apis::AnalyticsV3::GaData::Query] attr_accessor :query # Analytics data rows, where each row contains a list of dimension values # followed by the metric values. The order of dimensions and metrics is same as # specified in the request. # Corresponds to the JSON property `rows` # @return [Array>] attr_accessor :rows # The number of samples used to calculate the result. # Corresponds to the JSON property `sampleSize` # @return [Fixnum] attr_accessor :sample_size # Total size of the sample space from which the samples were selected. # Corresponds to the JSON property `sampleSpace` # @return [Fixnum] attr_accessor :sample_space # Link to this page. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The total number of rows for the query, regardless of the number of rows in # the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Total values for the requested metrics over all the results, not just the # results returned in this response. The order of the metric totals is same as # the metric order specified in the request. # Corresponds to the JSON property `totalsForAllResults` # @return [Hash] attr_accessor :totals_for_all_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_headers = args[:column_headers] if args.key?(:column_headers) @contains_sampled_data = args[:contains_sampled_data] if args.key?(:contains_sampled_data) @data_last_refreshed = args[:data_last_refreshed] if args.key?(:data_last_refreshed) @data_table = args[:data_table] if args.key?(:data_table) @id = args[:id] if args.key?(:id) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @profile_info = args[:profile_info] if args.key?(:profile_info) @query = args[:query] if args.key?(:query) @rows = args[:rows] if args.key?(:rows) @sample_size = args[:sample_size] if args.key?(:sample_size) @sample_space = args[:sample_space] if args.key?(:sample_space) @self_link = args[:self_link] if args.key?(:self_link) @total_results = args[:total_results] if args.key?(:total_results) @totals_for_all_results = args[:totals_for_all_results] if args.key?(:totals_for_all_results) end # class ColumnHeader include Google::Apis::Core::Hashable # Column Type. Either DIMENSION or METRIC. # Corresponds to the JSON property `columnType` # @return [String] attr_accessor :column_type # Data type. Dimension column headers have only STRING as the data type. Metric # column headers have data types for metric values such as INTEGER, DOUBLE, # CURRENCY etc. # Corresponds to the JSON property `dataType` # @return [String] attr_accessor :data_type # Column name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_type = args[:column_type] if args.key?(:column_type) @data_type = args[:data_type] if args.key?(:data_type) @name = args[:name] if args.key?(:name) end end # class DataTable include Google::Apis::Core::Hashable # # Corresponds to the JSON property `cols` # @return [Array] attr_accessor :cols # # Corresponds to the JSON property `rows` # @return [Array] attr_accessor :rows def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @cols = args[:cols] if args.key?(:cols) @rows = args[:rows] if args.key?(:rows) end # class Col include Google::Apis::Core::Hashable # # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # # Corresponds to the JSON property `label` # @return [String] attr_accessor :label # # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @label = args[:label] if args.key?(:label) @type = args[:type] if args.key?(:type) end end # class Row include Google::Apis::Core::Hashable # # Corresponds to the JSON property `c` # @return [Array] attr_accessor :c def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @c = args[:c] if args.key?(:c) end # class C include Google::Apis::Core::Hashable # # Corresponds to the JSON property `v` # @return [String] attr_accessor :v def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @v = args[:v] if args.key?(:v) end end end end # Information for the view (profile), for which the Analytics data was requested. class ProfileInfo include Google::Apis::Core::Hashable # Account ID to which this view (profile) belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Internal ID for the web property to which this view (profile) belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # View (Profile) ID. # Corresponds to the JSON property `profileId` # @return [String] attr_accessor :profile_id # View (Profile) name. # Corresponds to the JSON property `profileName` # @return [String] attr_accessor :profile_name # Table ID for view (profile). # Corresponds to the JSON property `tableId` # @return [String] attr_accessor :table_id # Web Property ID to which this view (profile) belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @profile_id = args[:profile_id] if args.key?(:profile_id) @profile_name = args[:profile_name] if args.key?(:profile_name) @table_id = args[:table_id] if args.key?(:table_id) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # Analytics data request query parameters. class Query include Google::Apis::Core::Hashable # List of analytics dimensions. # Corresponds to the JSON property `dimensions` # @return [String] attr_accessor :dimensions # End date. # Corresponds to the JSON property `end-date` # @return [String] attr_accessor :end_date # Comma-separated list of dimension or metric filters. # Corresponds to the JSON property `filters` # @return [String] attr_accessor :filters # Unique table ID. # Corresponds to the JSON property `ids` # @return [String] attr_accessor :ids # Maximum results per page. # Corresponds to the JSON property `max-results` # @return [Fixnum] attr_accessor :max_results # List of analytics metrics. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # Desired sampling level # Corresponds to the JSON property `samplingLevel` # @return [String] attr_accessor :sampling_level # Analytics advanced segment. # Corresponds to the JSON property `segment` # @return [String] attr_accessor :segment # List of dimensions or metrics based on which Analytics data is sorted. # Corresponds to the JSON property `sort` # @return [Array] attr_accessor :sort # Start date. # Corresponds to the JSON property `start-date` # @return [String] attr_accessor :start_date # Start index. # Corresponds to the JSON property `start-index` # @return [Fixnum] attr_accessor :start_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @end_date = args[:end_date] if args.key?(:end_date) @filters = args[:filters] if args.key?(:filters) @ids = args[:ids] if args.key?(:ids) @max_results = args[:max_results] if args.key?(:max_results) @metrics = args[:metrics] if args.key?(:metrics) @sampling_level = args[:sampling_level] if args.key?(:sampling_level) @segment = args[:segment] if args.key?(:segment) @sort = args[:sort] if args.key?(:sort) @start_date = args[:start_date] if args.key?(:start_date) @start_index = args[:start_index] if args.key?(:start_index) end end end # JSON template for Analytics goal resource. class Goal include Google::Apis::Core::Hashable # Account ID to which this goal belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Determines whether this goal is active. # Corresponds to the JSON property `active` # @return [Boolean] attr_accessor :active alias_method :active?, :active # Time this goal was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Details for the goal of the type EVENT. # Corresponds to the JSON property `eventDetails` # @return [Google::Apis::AnalyticsV3::Goal::EventDetails] attr_accessor :event_details # Goal ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for the web property to which this goal belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Resource type for an Analytics goal. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Goal name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for a goal. Points to the view (profile) to which this goal # belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::Goal::ParentLink] attr_accessor :parent_link # View (Profile) ID to which this goal belongs. # Corresponds to the JSON property `profileId` # @return [String] attr_accessor :profile_id # Link for this goal. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Goal type. Possible values are URL_DESTINATION, VISIT_TIME_ON_SITE, # VISIT_NUM_PAGES, AND EVENT. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Time this goal was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Details for the goal of the type URL_DESTINATION. # Corresponds to the JSON property `urlDestinationDetails` # @return [Google::Apis::AnalyticsV3::Goal::UrlDestinationDetails] attr_accessor :url_destination_details # Goal value. # Corresponds to the JSON property `value` # @return [Float] attr_accessor :value # Details for the goal of the type VISIT_NUM_PAGES. # Corresponds to the JSON property `visitNumPagesDetails` # @return [Google::Apis::AnalyticsV3::Goal::VisitNumPagesDetails] attr_accessor :visit_num_pages_details # Details for the goal of the type VISIT_TIME_ON_SITE. # Corresponds to the JSON property `visitTimeOnSiteDetails` # @return [Google::Apis::AnalyticsV3::Goal::VisitTimeOnSiteDetails] attr_accessor :visit_time_on_site_details # Web property ID to which this goal belongs. The web property ID is of the form # UA-XXXXX-YY. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @active = args[:active] if args.key?(:active) @created = args[:created] if args.key?(:created) @event_details = args[:event_details] if args.key?(:event_details) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @profile_id = args[:profile_id] if args.key?(:profile_id) @self_link = args[:self_link] if args.key?(:self_link) @type = args[:type] if args.key?(:type) @updated = args[:updated] if args.key?(:updated) @url_destination_details = args[:url_destination_details] if args.key?(:url_destination_details) @value = args[:value] if args.key?(:value) @visit_num_pages_details = args[:visit_num_pages_details] if args.key?(:visit_num_pages_details) @visit_time_on_site_details = args[:visit_time_on_site_details] if args.key?(:visit_time_on_site_details) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # Details for the goal of the type EVENT. class EventDetails include Google::Apis::Core::Hashable # List of event conditions. # Corresponds to the JSON property `eventConditions` # @return [Array] attr_accessor :event_conditions # Determines if the event value should be used as the value for this goal. # Corresponds to the JSON property `useEventValue` # @return [Boolean] attr_accessor :use_event_value alias_method :use_event_value?, :use_event_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @event_conditions = args[:event_conditions] if args.key?(:event_conditions) @use_event_value = args[:use_event_value] if args.key?(:use_event_value) end # class EventCondition include Google::Apis::Core::Hashable # Type of comparison. Possible values are LESS_THAN, GREATER_THAN or EQUAL. # Corresponds to the JSON property `comparisonType` # @return [String] attr_accessor :comparison_type # Value used for this comparison. # Corresponds to the JSON property `comparisonValue` # @return [Fixnum] attr_accessor :comparison_value # Expression used for this match. # Corresponds to the JSON property `expression` # @return [String] attr_accessor :expression # Type of the match to be performed. Possible values are REGEXP, BEGINS_WITH, or # EXACT. # Corresponds to the JSON property `matchType` # @return [String] attr_accessor :match_type # Type of this event condition. Possible values are CATEGORY, ACTION, LABEL, or # VALUE. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @comparison_type = args[:comparison_type] if args.key?(:comparison_type) @comparison_value = args[:comparison_value] if args.key?(:comparison_value) @expression = args[:expression] if args.key?(:expression) @match_type = args[:match_type] if args.key?(:match_type) @type = args[:type] if args.key?(:type) end end end # Parent link for a goal. Points to the view (profile) to which this goal # belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the view (profile) to which this goal belongs. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#profile". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Details for the goal of the type URL_DESTINATION. class UrlDestinationDetails include Google::Apis::Core::Hashable # Determines if the goal URL must exactly match the capitalization of visited # URLs. # Corresponds to the JSON property `caseSensitive` # @return [Boolean] attr_accessor :case_sensitive alias_method :case_sensitive?, :case_sensitive # Determines if the first step in this goal is required. # Corresponds to the JSON property `firstStepRequired` # @return [Boolean] attr_accessor :first_step_required alias_method :first_step_required?, :first_step_required # Match type for the goal URL. Possible values are HEAD, EXACT, or REGEX. # Corresponds to the JSON property `matchType` # @return [String] attr_accessor :match_type # List of steps configured for this goal funnel. # Corresponds to the JSON property `steps` # @return [Array] attr_accessor :steps # URL for this goal. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @case_sensitive = args[:case_sensitive] if args.key?(:case_sensitive) @first_step_required = args[:first_step_required] if args.key?(:first_step_required) @match_type = args[:match_type] if args.key?(:match_type) @steps = args[:steps] if args.key?(:steps) @url = args[:url] if args.key?(:url) end # class Step include Google::Apis::Core::Hashable # Step name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Step number. # Corresponds to the JSON property `number` # @return [Fixnum] attr_accessor :number # URL for this step. # Corresponds to the JSON property `url` # @return [String] attr_accessor :url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @name = args[:name] if args.key?(:name) @number = args[:number] if args.key?(:number) @url = args[:url] if args.key?(:url) end end end # Details for the goal of the type VISIT_NUM_PAGES. class VisitNumPagesDetails include Google::Apis::Core::Hashable # Type of comparison. Possible values are LESS_THAN, GREATER_THAN, or EQUAL. # Corresponds to the JSON property `comparisonType` # @return [String] attr_accessor :comparison_type # Value used for this comparison. # Corresponds to the JSON property `comparisonValue` # @return [Fixnum] attr_accessor :comparison_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @comparison_type = args[:comparison_type] if args.key?(:comparison_type) @comparison_value = args[:comparison_value] if args.key?(:comparison_value) end end # Details for the goal of the type VISIT_TIME_ON_SITE. class VisitTimeOnSiteDetails include Google::Apis::Core::Hashable # Type of comparison. Possible values are LESS_THAN or GREATER_THAN. # Corresponds to the JSON property `comparisonType` # @return [String] attr_accessor :comparison_type # Value used for this comparison. # Corresponds to the JSON property `comparisonValue` # @return [Fixnum] attr_accessor :comparison_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @comparison_type = args[:comparison_type] if args.key?(:comparison_type) @comparison_value = args[:comparison_value] if args.key?(:comparison_value) end end end # A goal collection lists Analytics goals to which the user has access. Each # view (profile) can have a set of goals. Each resource in the Goal collection # corresponds to a single Analytics goal. class Goals include Google::Apis::Core::Hashable # A list of goals. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this goal collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this goal collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of # resources in the result. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for a hash Client Id request resource. class HashClientIdRequest include Google::Apis::Core::Hashable # # Corresponds to the JSON property `clientId` # @return [String] attr_accessor :client_id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @client_id = args[:client_id] if args.key?(:client_id) @kind = args[:kind] if args.key?(:kind) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # JSON template for a hash Client Id response resource. class HashClientIdResponse include Google::Apis::Core::Hashable # # Corresponds to the JSON property `clientId` # @return [String] attr_accessor :client_id # # Corresponds to the JSON property `hashedClientId` # @return [String] attr_accessor :hashed_client_id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @client_id = args[:client_id] if args.key?(:client_id) @hashed_client_id = args[:hashed_client_id] if args.key?(:hashed_client_id) @kind = args[:kind] if args.key?(:kind) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # JSON template for an Analytics Remarketing Include Conditions. class IncludeConditions include Google::Apis::Core::Hashable # The look-back window lets you specify a time frame for evaluating the behavior # that qualifies users for your audience. For example, if your filters include # users from Central Asia, and Transactions Greater than 2, and you set the look- # back window to 14 days, then any user from Central Asia whose cumulative # transactions exceed 2 during the last 14 days is added to the audience. # Corresponds to the JSON property `daysToLookBack` # @return [Fixnum] attr_accessor :days_to_look_back # Boolean indicating whether this segment is a smart list. https://support. # google.com/analytics/answer/4628577 # Corresponds to the JSON property `isSmartList` # @return [Boolean] attr_accessor :is_smart_list alias_method :is_smart_list?, :is_smart_list # Resource type for include conditions. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Number of days (in the range 1 to 540) a user remains in the audience. # Corresponds to the JSON property `membershipDurationDays` # @return [Fixnum] attr_accessor :membership_duration_days # The segment condition that will cause a user to be added to an audience. # Corresponds to the JSON property `segment` # @return [String] attr_accessor :segment def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @days_to_look_back = args[:days_to_look_back] if args.key?(:days_to_look_back) @is_smart_list = args[:is_smart_list] if args.key?(:is_smart_list) @kind = args[:kind] if args.key?(:kind) @membership_duration_days = args[:membership_duration_days] if args.key?(:membership_duration_days) @segment = args[:segment] if args.key?(:segment) end end # JSON template for an Analytics Remarketing Audience Foreign Link. class LinkedForeignAccount include Google::Apis::Core::Hashable # Account ID to which this linked foreign account belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Boolean indicating whether this is eligible for search. # Corresponds to the JSON property `eligibleForSearch` # @return [Boolean] attr_accessor :eligible_for_search alias_method :eligible_for_search?, :eligible_for_search # Entity ad account link ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for the web property to which this linked foreign account belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Resource type for linked foreign account. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The foreign account ID. For example the an Google Ads `linkedAccountId` has # the following format XXX-XXX-XXXX. # Corresponds to the JSON property `linkedAccountId` # @return [String] attr_accessor :linked_account_id # Remarketing audience ID to which this linked foreign account belongs. # Corresponds to the JSON property `remarketingAudienceId` # @return [String] attr_accessor :remarketing_audience_id # The status of this foreign account link. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # The type of the foreign account. For example, `ADWORDS_LINKS`, `DBM_LINKS`, ` # MCC_LINKS` or `OPTIMIZE`. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Web property ID of the form UA-XXXXX-YY to which this linked foreign account # belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @eligible_for_search = args[:eligible_for_search] if args.key?(:eligible_for_search) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @linked_account_id = args[:linked_account_id] if args.key?(:linked_account_id) @remarketing_audience_id = args[:remarketing_audience_id] if args.key?(:remarketing_audience_id) @status = args[:status] if args.key?(:status) @type = args[:type] if args.key?(:type) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # Multi-Channel Funnels data for a given view (profile). class McfData include Google::Apis::Core::Hashable # Column headers that list dimension names followed by the metric names. The # order of dimensions and metrics is same as specified in the request. # Corresponds to the JSON property `columnHeaders` # @return [Array] attr_accessor :column_headers # Determines if the Analytics data contains sampled data. # Corresponds to the JSON property `containsSampledData` # @return [Boolean] attr_accessor :contains_sampled_data alias_method :contains_sampled_data?, :contains_sampled_data # Unique ID for this data response. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The maximum number of rows the response can contain, regardless of the actual # number of rows returned. Its value ranges from 1 to 10,000 with a value of # 1000 by default, or otherwise specified by the max-results query parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Resource type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this Analytics data query. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this Analytics data query. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # Information for the view (profile), for which the Analytics data was requested. # Corresponds to the JSON property `profileInfo` # @return [Google::Apis::AnalyticsV3::McfData::ProfileInfo] attr_accessor :profile_info # Analytics data request query parameters. # Corresponds to the JSON property `query` # @return [Google::Apis::AnalyticsV3::McfData::Query] attr_accessor :query # Analytics data rows, where each row contains a list of dimension values # followed by the metric values. The order of dimensions and metrics is same as # specified in the request. # Corresponds to the JSON property `rows` # @return [Array>] attr_accessor :rows # The number of samples used to calculate the result. # Corresponds to the JSON property `sampleSize` # @return [Fixnum] attr_accessor :sample_size # Total size of the sample space from which the samples were selected. # Corresponds to the JSON property `sampleSpace` # @return [Fixnum] attr_accessor :sample_space # Link to this page. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The total number of rows for the query, regardless of the number of rows in # the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Total values for the requested metrics over all the results, not just the # results returned in this response. The order of the metric totals is same as # the metric order specified in the request. # Corresponds to the JSON property `totalsForAllResults` # @return [Hash] attr_accessor :totals_for_all_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_headers = args[:column_headers] if args.key?(:column_headers) @contains_sampled_data = args[:contains_sampled_data] if args.key?(:contains_sampled_data) @id = args[:id] if args.key?(:id) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @profile_info = args[:profile_info] if args.key?(:profile_info) @query = args[:query] if args.key?(:query) @rows = args[:rows] if args.key?(:rows) @sample_size = args[:sample_size] if args.key?(:sample_size) @sample_space = args[:sample_space] if args.key?(:sample_space) @self_link = args[:self_link] if args.key?(:self_link) @total_results = args[:total_results] if args.key?(:total_results) @totals_for_all_results = args[:totals_for_all_results] if args.key?(:totals_for_all_results) end # class ColumnHeader include Google::Apis::Core::Hashable # Column Type. Either DIMENSION or METRIC. # Corresponds to the JSON property `columnType` # @return [String] attr_accessor :column_type # Data type. Dimension and metric values data types such as INTEGER, DOUBLE, # CURRENCY, MCF_SEQUENCE etc. # Corresponds to the JSON property `dataType` # @return [String] attr_accessor :data_type # Column name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_type = args[:column_type] if args.key?(:column_type) @data_type = args[:data_type] if args.key?(:data_type) @name = args[:name] if args.key?(:name) end end # Information for the view (profile), for which the Analytics data was requested. class ProfileInfo include Google::Apis::Core::Hashable # Account ID to which this view (profile) belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Internal ID for the web property to which this view (profile) belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # View (Profile) ID. # Corresponds to the JSON property `profileId` # @return [String] attr_accessor :profile_id # View (Profile) name. # Corresponds to the JSON property `profileName` # @return [String] attr_accessor :profile_name # Table ID for view (profile). # Corresponds to the JSON property `tableId` # @return [String] attr_accessor :table_id # Web Property ID to which this view (profile) belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @profile_id = args[:profile_id] if args.key?(:profile_id) @profile_name = args[:profile_name] if args.key?(:profile_name) @table_id = args[:table_id] if args.key?(:table_id) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # Analytics data request query parameters. class Query include Google::Apis::Core::Hashable # List of analytics dimensions. # Corresponds to the JSON property `dimensions` # @return [String] attr_accessor :dimensions # End date. # Corresponds to the JSON property `end-date` # @return [String] attr_accessor :end_date # Comma-separated list of dimension or metric filters. # Corresponds to the JSON property `filters` # @return [String] attr_accessor :filters # Unique table ID. # Corresponds to the JSON property `ids` # @return [String] attr_accessor :ids # Maximum results per page. # Corresponds to the JSON property `max-results` # @return [Fixnum] attr_accessor :max_results # List of analytics metrics. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # Desired sampling level # Corresponds to the JSON property `samplingLevel` # @return [String] attr_accessor :sampling_level # Analytics advanced segment. # Corresponds to the JSON property `segment` # @return [String] attr_accessor :segment # List of dimensions or metrics based on which Analytics data is sorted. # Corresponds to the JSON property `sort` # @return [Array] attr_accessor :sort # Start date. # Corresponds to the JSON property `start-date` # @return [String] attr_accessor :start_date # Start index. # Corresponds to the JSON property `start-index` # @return [Fixnum] attr_accessor :start_index def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @end_date = args[:end_date] if args.key?(:end_date) @filters = args[:filters] if args.key?(:filters) @ids = args[:ids] if args.key?(:ids) @max_results = args[:max_results] if args.key?(:max_results) @metrics = args[:metrics] if args.key?(:metrics) @sampling_level = args[:sampling_level] if args.key?(:sampling_level) @segment = args[:segment] if args.key?(:segment) @sort = args[:sort] if args.key?(:sort) @start_date = args[:start_date] if args.key?(:start_date) @start_index = args[:start_index] if args.key?(:start_index) end end # A union object representing a dimension or metric value. Only one of " # primitiveValue" or "conversionPathValue" attribute will be populated. class Row include Google::Apis::Core::Hashable # A conversion path dimension value, containing a list of interactions with # their attributes. # Corresponds to the JSON property `conversionPathValue` # @return [Array] attr_accessor :conversion_path_value # A primitive dimension value. A primitive metric value. # Corresponds to the JSON property `primitiveValue` # @return [String] attr_accessor :primitive_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @conversion_path_value = args[:conversion_path_value] if args.key?(:conversion_path_value) @primitive_value = args[:primitive_value] if args.key?(:primitive_value) end # class ConversionPathValue include Google::Apis::Core::Hashable # Type of an interaction on conversion path. Such as CLICK, IMPRESSION etc. # Corresponds to the JSON property `interactionType` # @return [String] attr_accessor :interaction_type # Node value of an interaction on conversion path. Such as source, medium etc. # Corresponds to the JSON property `nodeValue` # @return [String] attr_accessor :node_value def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @interaction_type = args[:interaction_type] if args.key?(:interaction_type) @node_value = args[:node_value] if args.key?(:node_value) end end end end # JSON template for an Analytics view (profile). class Profile include Google::Apis::Core::Hashable # Account ID to which this view (profile) belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Indicates whether bot filtering is enabled for this view (profile). # Corresponds to the JSON property `botFilteringEnabled` # @return [Boolean] attr_accessor :bot_filtering_enabled alias_method :bot_filtering_enabled?, :bot_filtering_enabled # Child link for this view (profile). Points to the list of goals for this view ( # profile). # Corresponds to the JSON property `childLink` # @return [Google::Apis::AnalyticsV3::Profile::ChildLink] attr_accessor :child_link # Time this view (profile) was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # The currency type associated with this view (profile), defaults to USD. The # supported values are: # USD, JPY, EUR, GBP, AUD, KRW, BRL, CNY, DKK, RUB, SEK, NOK, PLN, TRY, TWD, HKD, # THB, IDR, ARS, MXN, VND, PHP, INR, CHF, CAD, CZK, NZD, HUF, BGN, LTL, ZAR, # UAH, AED, BOB, CLP, COP, EGP, HRK, ILS, MAD, MYR, PEN, PKR, RON, RSD, SAR, SGD, # VEF, LVL # Corresponds to the JSON property `currency` # @return [String] attr_accessor :currency # Default page for this view (profile). # Corresponds to the JSON property `defaultPage` # @return [String] attr_accessor :default_page # Indicates whether ecommerce tracking is enabled for this view (profile). # Corresponds to the JSON property `eCommerceTracking` # @return [Boolean] attr_accessor :e_commerce_tracking alias_method :e_commerce_tracking?, :e_commerce_tracking # Indicates whether enhanced ecommerce tracking is enabled for this view ( # profile). This property can only be enabled if ecommerce tracking is enabled. # Corresponds to the JSON property `enhancedECommerceTracking` # @return [Boolean] attr_accessor :enhanced_e_commerce_tracking alias_method :enhanced_e_commerce_tracking?, :enhanced_e_commerce_tracking # The query parameters that are excluded from this view (profile). # Corresponds to the JSON property `excludeQueryParameters` # @return [String] attr_accessor :exclude_query_parameters # View (Profile) ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for the web property to which this view (profile) belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Resource type for Analytics view (profile). # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of this view (profile). # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for this view (profile). Points to the web property to which this # view (profile) belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::Profile::ParentLink] attr_accessor :parent_link # Permissions the user has for this view (profile). # Corresponds to the JSON property `permissions` # @return [Google::Apis::AnalyticsV3::Profile::Permissions] attr_accessor :permissions # Link for this view (profile). # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Site search category parameters for this view (profile). # Corresponds to the JSON property `siteSearchCategoryParameters` # @return [String] attr_accessor :site_search_category_parameters # The site search query parameters for this view (profile). # Corresponds to the JSON property `siteSearchQueryParameters` # @return [String] attr_accessor :site_search_query_parameters # Indicates whether this view (profile) is starred or not. # Corresponds to the JSON property `starred` # @return [Boolean] attr_accessor :starred alias_method :starred?, :starred # Whether or not Analytics will strip search category parameters from the URLs # in your reports. # Corresponds to the JSON property `stripSiteSearchCategoryParameters` # @return [Boolean] attr_accessor :strip_site_search_category_parameters alias_method :strip_site_search_category_parameters?, :strip_site_search_category_parameters # Whether or not Analytics will strip search query parameters from the URLs in # your reports. # Corresponds to the JSON property `stripSiteSearchQueryParameters` # @return [Boolean] attr_accessor :strip_site_search_query_parameters alias_method :strip_site_search_query_parameters?, :strip_site_search_query_parameters # Time zone for which this view (profile) has been configured. Time zones are # identified by strings from the TZ database. # Corresponds to the JSON property `timezone` # @return [String] attr_accessor :timezone # View (Profile) type. Supported types: WEB or APP. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Time this view (profile) was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id # Website URL for this view (profile). # Corresponds to the JSON property `websiteUrl` # @return [String] attr_accessor :website_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @bot_filtering_enabled = args[:bot_filtering_enabled] if args.key?(:bot_filtering_enabled) @child_link = args[:child_link] if args.key?(:child_link) @created = args[:created] if args.key?(:created) @currency = args[:currency] if args.key?(:currency) @default_page = args[:default_page] if args.key?(:default_page) @e_commerce_tracking = args[:e_commerce_tracking] if args.key?(:e_commerce_tracking) @enhanced_e_commerce_tracking = args[:enhanced_e_commerce_tracking] if args.key?(:enhanced_e_commerce_tracking) @exclude_query_parameters = args[:exclude_query_parameters] if args.key?(:exclude_query_parameters) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @permissions = args[:permissions] if args.key?(:permissions) @self_link = args[:self_link] if args.key?(:self_link) @site_search_category_parameters = args[:site_search_category_parameters] if args.key?(:site_search_category_parameters) @site_search_query_parameters = args[:site_search_query_parameters] if args.key?(:site_search_query_parameters) @starred = args[:starred] if args.key?(:starred) @strip_site_search_category_parameters = args[:strip_site_search_category_parameters] if args.key?(:strip_site_search_category_parameters) @strip_site_search_query_parameters = args[:strip_site_search_query_parameters] if args.key?(:strip_site_search_query_parameters) @timezone = args[:timezone] if args.key?(:timezone) @type = args[:type] if args.key?(:type) @updated = args[:updated] if args.key?(:updated) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) @website_url = args[:website_url] if args.key?(:website_url) end # Child link for this view (profile). Points to the list of goals for this view ( # profile). class ChildLink include Google::Apis::Core::Hashable # Link to the list of goals for this view (profile). # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#goals". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Parent link for this view (profile). Points to the web property to which this # view (profile) belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the web property to which this view (profile) belongs. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Value is "analytics#webproperty". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Permissions the user has for this view (profile). class Permissions include Google::Apis::Core::Hashable # All the permissions that the user has for this view (profile). These include # any implied permissions (e.g., EDIT implies VIEW) or inherited permissions # from the parent web property. # Corresponds to the JSON property `effective` # @return [Array] attr_accessor :effective def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @effective = args[:effective] if args.key?(:effective) end end end # JSON template for an Analytics profile filter link. class ProfileFilterLink include Google::Apis::Core::Hashable # JSON template for a profile filter link. # Corresponds to the JSON property `filterRef` # @return [Google::Apis::AnalyticsV3::FilterRef] attr_accessor :filter_ref # Profile filter link ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics filter. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # JSON template for a linked view (profile). # Corresponds to the JSON property `profileRef` # @return [Google::Apis::AnalyticsV3::ProfileRef] attr_accessor :profile_ref # The rank of this profile filter link relative to the other filters linked to # the same profile. # For readonly (i.e., list and get) operations, the rank always starts at 1. # For write (i.e., create, update, or delete) operations, you may specify a # value between 0 and 255 inclusively, [0, 255]. In order to insert a link at # the end of the list, either don't specify a rank or set a rank to a number # greater than the largest rank in the list. In order to insert a link to the # beginning of the list specify a rank that is less than or equal to 1. The new # link will move all existing filters with the same or lower rank down the list. # After the link is inserted/updated/deleted all profile filter links will be # renumbered starting at 1. # Corresponds to the JSON property `rank` # @return [Fixnum] attr_accessor :rank # Link for this profile filter link. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @filter_ref = args[:filter_ref] if args.key?(:filter_ref) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @profile_ref = args[:profile_ref] if args.key?(:profile_ref) @rank = args[:rank] if args.key?(:rank) @self_link = args[:self_link] if args.key?(:self_link) end end # A profile filter link collection lists profile filter links between profiles # and filters. Each resource in the collection corresponds to a profile filter # link. class ProfileFilterLinks include Google::Apis::Core::Hashable # A list of profile filter links. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1,000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this profile filter link collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this profile filter link collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for a linked view (profile). class ProfileRef include Google::Apis::Core::Hashable # Account ID to which this view (profile) belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Link for this view (profile). # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # View (Profile) ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for the web property to which this view (profile) belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Analytics view (profile) reference. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of this view (profile). # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Web property ID of the form UA-XXXXX-YY to which this view (profile) belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @href = args[:href] if args.key?(:href) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # JSON template for an Analytics ProfileSummary. ProfileSummary returns basic # information (i.e., summary) for a profile. class ProfileSummary include Google::Apis::Core::Hashable # View (profile) ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics ProfileSummary. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # View (profile) name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Indicates whether this view (profile) is starred or not. # Corresponds to the JSON property `starred` # @return [Boolean] attr_accessor :starred alias_method :starred?, :starred # View (Profile) type. Supported types: WEB or APP. # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @starred = args[:starred] if args.key?(:starred) @type = args[:type] if args.key?(:type) end end # A view (profile) collection lists Analytics views (profiles) to which the user # has access. Each resource in the collection corresponds to a single Analytics # view (profile). class Profiles include Google::Apis::Core::Hashable # A list of views (profiles). # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this view (profile) collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this view (profile) collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # Real time data for a given view (profile). class RealtimeData include Google::Apis::Core::Hashable # Column headers that list dimension names followed by the metric names. The # order of dimensions and metrics is same as specified in the request. # Corresponds to the JSON property `columnHeaders` # @return [Array] attr_accessor :column_headers # Unique ID for this data response. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Information for the view (profile), for which the real time data was requested. # Corresponds to the JSON property `profileInfo` # @return [Google::Apis::AnalyticsV3::RealtimeData::ProfileInfo] attr_accessor :profile_info # Real time data request query parameters. # Corresponds to the JSON property `query` # @return [Google::Apis::AnalyticsV3::RealtimeData::Query] attr_accessor :query # Real time data rows, where each row contains a list of dimension values # followed by the metric values. The order of dimensions and metrics is same as # specified in the request. # Corresponds to the JSON property `rows` # @return [Array>] attr_accessor :rows # Link to this page. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The total number of rows for the query, regardless of the number of rows in # the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Total values for the requested metrics over all the results, not just the # results returned in this response. The order of the metric totals is same as # the metric order specified in the request. # Corresponds to the JSON property `totalsForAllResults` # @return [Hash] attr_accessor :totals_for_all_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_headers = args[:column_headers] if args.key?(:column_headers) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @profile_info = args[:profile_info] if args.key?(:profile_info) @query = args[:query] if args.key?(:query) @rows = args[:rows] if args.key?(:rows) @self_link = args[:self_link] if args.key?(:self_link) @total_results = args[:total_results] if args.key?(:total_results) @totals_for_all_results = args[:totals_for_all_results] if args.key?(:totals_for_all_results) end # class ColumnHeader include Google::Apis::Core::Hashable # Column Type. Either DIMENSION or METRIC. # Corresponds to the JSON property `columnType` # @return [String] attr_accessor :column_type # Data type. Dimension column headers have only STRING as the data type. Metric # column headers have data types for metric values such as INTEGER, DOUBLE, # CURRENCY etc. # Corresponds to the JSON property `dataType` # @return [String] attr_accessor :data_type # Column name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @column_type = args[:column_type] if args.key?(:column_type) @data_type = args[:data_type] if args.key?(:data_type) @name = args[:name] if args.key?(:name) end end # Information for the view (profile), for which the real time data was requested. class ProfileInfo include Google::Apis::Core::Hashable # Account ID to which this view (profile) belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Internal ID for the web property to which this view (profile) belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # View (Profile) ID. # Corresponds to the JSON property `profileId` # @return [String] attr_accessor :profile_id # View (Profile) name. # Corresponds to the JSON property `profileName` # @return [String] attr_accessor :profile_name # Table ID for view (profile). # Corresponds to the JSON property `tableId` # @return [String] attr_accessor :table_id # Web Property ID to which this view (profile) belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @profile_id = args[:profile_id] if args.key?(:profile_id) @profile_name = args[:profile_name] if args.key?(:profile_name) @table_id = args[:table_id] if args.key?(:table_id) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end end # Real time data request query parameters. class Query include Google::Apis::Core::Hashable # List of real time dimensions. # Corresponds to the JSON property `dimensions` # @return [String] attr_accessor :dimensions # Comma-separated list of dimension or metric filters. # Corresponds to the JSON property `filters` # @return [String] attr_accessor :filters # Unique table ID. # Corresponds to the JSON property `ids` # @return [String] attr_accessor :ids # Maximum results per page. # Corresponds to the JSON property `max-results` # @return [Fixnum] attr_accessor :max_results # List of real time metrics. # Corresponds to the JSON property `metrics` # @return [Array] attr_accessor :metrics # List of dimensions or metrics based on which real time data is sorted. # Corresponds to the JSON property `sort` # @return [Array] attr_accessor :sort def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @dimensions = args[:dimensions] if args.key?(:dimensions) @filters = args[:filters] if args.key?(:filters) @ids = args[:ids] if args.key?(:ids) @max_results = args[:max_results] if args.key?(:max_results) @metrics = args[:metrics] if args.key?(:metrics) @sort = args[:sort] if args.key?(:sort) end end end # JSON template for an Analytics remarketing audience. class RemarketingAudience include Google::Apis::Core::Hashable # Account ID to which this remarketing audience belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # The simple audience definition that will cause a user to be added to an # audience. # Corresponds to the JSON property `audienceDefinition` # @return [Google::Apis::AnalyticsV3::RemarketingAudience::AudienceDefinition] attr_accessor :audience_definition # The type of audience, either SIMPLE or STATE_BASED. # Corresponds to the JSON property `audienceType` # @return [String] attr_accessor :audience_type # Time this remarketing audience was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # The description of this remarketing audience. # Corresponds to the JSON property `description` # @return [String] attr_accessor :description # Remarketing Audience ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for the web property to which this remarketing audience belongs. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The linked ad accounts associated with this remarketing audience. A # remarketing audience can have only one linkedAdAccount currently. # Corresponds to the JSON property `linkedAdAccounts` # @return [Array] attr_accessor :linked_ad_accounts # The views (profiles) that this remarketing audience is linked to. # Corresponds to the JSON property `linkedViews` # @return [Array] attr_accessor :linked_views # The name of this remarketing audience. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # A state based audience definition that will cause a user to be added or # removed from an audience. # Corresponds to the JSON property `stateBasedAudienceDefinition` # @return [Google::Apis::AnalyticsV3::RemarketingAudience::StateBasedAudienceDefinition] attr_accessor :state_based_audience_definition # Time this remarketing audience was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Web property ID of the form UA-XXXXX-YY to which this remarketing audience # belongs. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @audience_definition = args[:audience_definition] if args.key?(:audience_definition) @audience_type = args[:audience_type] if args.key?(:audience_type) @created = args[:created] if args.key?(:created) @description = args[:description] if args.key?(:description) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @linked_ad_accounts = args[:linked_ad_accounts] if args.key?(:linked_ad_accounts) @linked_views = args[:linked_views] if args.key?(:linked_views) @name = args[:name] if args.key?(:name) @state_based_audience_definition = args[:state_based_audience_definition] if args.key?(:state_based_audience_definition) @updated = args[:updated] if args.key?(:updated) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # The simple audience definition that will cause a user to be added to an # audience. class AudienceDefinition include Google::Apis::Core::Hashable # JSON template for an Analytics Remarketing Include Conditions. # Corresponds to the JSON property `includeConditions` # @return [Google::Apis::AnalyticsV3::IncludeConditions] attr_accessor :include_conditions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @include_conditions = args[:include_conditions] if args.key?(:include_conditions) end end # A state based audience definition that will cause a user to be added or # removed from an audience. class StateBasedAudienceDefinition include Google::Apis::Core::Hashable # Defines the conditions to exclude users from the audience. # Corresponds to the JSON property `excludeConditions` # @return [Google::Apis::AnalyticsV3::RemarketingAudience::StateBasedAudienceDefinition::ExcludeConditions] attr_accessor :exclude_conditions # JSON template for an Analytics Remarketing Include Conditions. # Corresponds to the JSON property `includeConditions` # @return [Google::Apis::AnalyticsV3::IncludeConditions] attr_accessor :include_conditions def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exclude_conditions = args[:exclude_conditions] if args.key?(:exclude_conditions) @include_conditions = args[:include_conditions] if args.key?(:include_conditions) end # Defines the conditions to exclude users from the audience. class ExcludeConditions include Google::Apis::Core::Hashable # Whether to make the exclusion TEMPORARY or PERMANENT. # Corresponds to the JSON property `exclusionDuration` # @return [String] attr_accessor :exclusion_duration # The segment condition that will cause a user to be removed from an audience. # Corresponds to the JSON property `segment` # @return [String] attr_accessor :segment def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @exclusion_duration = args[:exclusion_duration] if args.key?(:exclusion_duration) @segment = args[:segment] if args.key?(:segment) end end end end # A remarketing audience collection lists Analytics remarketing audiences to # which the user has access. Each resource in the collection corresponds to a # single Analytics remarketing audience. class RemarketingAudiences include Google::Apis::Core::Hashable # A list of remarketing audiences. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this remarketing audience collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this view (profile) collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for an Analytics segment. class Segment include Google::Apis::Core::Hashable # Time the segment was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Segment definition. # Corresponds to the JSON property `definition` # @return [String] attr_accessor :definition # Segment ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics segment. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Segment name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Segment ID. Can be used with the 'segment' parameter in Core Reporting API. # Corresponds to the JSON property `segmentId` # @return [String] attr_accessor :segment_id # Link for this segment. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Type for a segment. Possible values are "BUILT_IN" or "CUSTOM". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # Time the segment was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @created = args[:created] if args.key?(:created) @definition = args[:definition] if args.key?(:definition) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) @segment_id = args[:segment_id] if args.key?(:segment_id) @self_link = args[:self_link] if args.key?(:self_link) @type = args[:type] if args.key?(:type) @updated = args[:updated] if args.key?(:updated) end end # An segment collection lists Analytics segments that the user has access to. # Each resource in the collection corresponds to a single Analytics segment. class Segments include Google::Apis::Core::Hashable # A list of segments. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type for segments. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this segment collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this segment collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for Analytics unsampled report resource. class UnsampledReport include Google::Apis::Core::Hashable # Account ID to which this unsampled report belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Download details for a file stored in Google Cloud Storage. # Corresponds to the JSON property `cloudStorageDownloadDetails` # @return [Google::Apis::AnalyticsV3::UnsampledReport::CloudStorageDownloadDetails] attr_accessor :cloud_storage_download_details # Time this unsampled report was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # The dimensions for the unsampled report. # Corresponds to the JSON property `dimensions` # @return [String] attr_accessor :dimensions # The type of download you need to use for the report data file. Possible values # include `GOOGLE_DRIVE` and `GOOGLE_CLOUD_STORAGE`. If the value is ` # GOOGLE_DRIVE`, see the `driveDownloadDetails` field. If the value is ` # GOOGLE_CLOUD_STORAGE`, see the `cloudStorageDownloadDetails` field. # Corresponds to the JSON property `downloadType` # @return [String] attr_accessor :download_type # Download details for a file stored in Google Drive. # Corresponds to the JSON property `driveDownloadDetails` # @return [Google::Apis::AnalyticsV3::UnsampledReport::DriveDownloadDetails] attr_accessor :drive_download_details # The end date for the unsampled report. # Corresponds to the JSON property `end-date` # @return [String] attr_accessor :end_date # The filters for the unsampled report. # Corresponds to the JSON property `filters` # @return [String] attr_accessor :filters # Unsampled report ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for an Analytics unsampled report. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # The metrics for the unsampled report. # Corresponds to the JSON property `metrics` # @return [String] attr_accessor :metrics # View (Profile) ID to which this unsampled report belongs. # Corresponds to the JSON property `profileId` # @return [String] attr_accessor :profile_id # The segment for the unsampled report. # Corresponds to the JSON property `segment` # @return [String] attr_accessor :segment # Link for this unsampled report. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # The start date for the unsampled report. # Corresponds to the JSON property `start-date` # @return [String] attr_accessor :start_date # Status of this unsampled report. Possible values are PENDING, COMPLETED, or # FAILED. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Title of the unsampled report. # Corresponds to the JSON property `title` # @return [String] attr_accessor :title # Time this unsampled report was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Web property ID to which this unsampled report belongs. The web property ID is # of the form UA-XXXXX-YY. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @cloud_storage_download_details = args[:cloud_storage_download_details] if args.key?(:cloud_storage_download_details) @created = args[:created] if args.key?(:created) @dimensions = args[:dimensions] if args.key?(:dimensions) @download_type = args[:download_type] if args.key?(:download_type) @drive_download_details = args[:drive_download_details] if args.key?(:drive_download_details) @end_date = args[:end_date] if args.key?(:end_date) @filters = args[:filters] if args.key?(:filters) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @metrics = args[:metrics] if args.key?(:metrics) @profile_id = args[:profile_id] if args.key?(:profile_id) @segment = args[:segment] if args.key?(:segment) @self_link = args[:self_link] if args.key?(:self_link) @start_date = args[:start_date] if args.key?(:start_date) @status = args[:status] if args.key?(:status) @title = args[:title] if args.key?(:title) @updated = args[:updated] if args.key?(:updated) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # Download details for a file stored in Google Cloud Storage. class CloudStorageDownloadDetails include Google::Apis::Core::Hashable # Id of the bucket the file object is stored in. # Corresponds to the JSON property `bucketId` # @return [String] attr_accessor :bucket_id # Id of the file object containing the report data. # Corresponds to the JSON property `objectId` # @return [String] attr_accessor :obj_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @bucket_id = args[:bucket_id] if args.key?(:bucket_id) @obj_id = args[:obj_id] if args.key?(:obj_id) end end # Download details for a file stored in Google Drive. class DriveDownloadDetails include Google::Apis::Core::Hashable # Id of the document/file containing the report data. # Corresponds to the JSON property `documentId` # @return [String] attr_accessor :document_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @document_id = args[:document_id] if args.key?(:document_id) end end end # An unsampled report collection lists Analytics unsampled reports to which the # user has access. Each view (profile) can have a set of unsampled reports. Each # resource in the unsampled report collection corresponds to a single Analytics # unsampled report. class UnsampledReports include Google::Apis::Core::Hashable # A list of unsampled reports. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this unsampled report collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this unsampled report collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of # resources in the result. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # Metadata returned for an upload operation. class Upload include Google::Apis::Core::Hashable # Account Id to which this upload belongs. # Corresponds to the JSON property `accountId` # @return [Fixnum] attr_accessor :account_id # Custom data source Id to which this data import belongs. # Corresponds to the JSON property `customDataSourceId` # @return [String] attr_accessor :custom_data_source_id # Data import errors collection. # Corresponds to the JSON property `errors` # @return [Array] attr_accessor :errors # A unique ID for this upload. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Resource type for Analytics upload. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Upload status. Possible values: PENDING, COMPLETED, FAILED, DELETING, DELETED. # Corresponds to the JSON property `status` # @return [String] attr_accessor :status # Time this file is uploaded. # Corresponds to the JSON property `uploadTime` # @return [DateTime] attr_accessor :upload_time def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @custom_data_source_id = args[:custom_data_source_id] if args.key?(:custom_data_source_id) @errors = args[:errors] if args.key?(:errors) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @status = args[:status] if args.key?(:status) @upload_time = args[:upload_time] if args.key?(:upload_time) end end # Upload collection lists Analytics uploads to which the user has access. Each # custom data source can have a set of uploads. Each resource in the upload # collection corresponds to a single Analytics data upload. class Uploads include Google::Apis::Core::Hashable # A list of uploads. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this upload collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this upload collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of # resources in the result. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) end end # JSON template for a user deletion request resource. class UserDeletionRequest include Google::Apis::Core::Hashable # This marks the point in time for which all user data before should be deleted # Corresponds to the JSON property `deletionRequestTime` # @return [DateTime] attr_accessor :deletion_request_time # Firebase Project Id # Corresponds to the JSON property `firebaseProjectId` # @return [String] attr_accessor :firebase_project_id # User ID. # Corresponds to the JSON property `id` # @return [Google::Apis::AnalyticsV3::UserDeletionRequest::Id] attr_accessor :id # Value is "analytics#userDeletionRequest". # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Property ID # Corresponds to the JSON property `propertyId` # @return [String] attr_accessor :property_id # Web property ID of the form UA-XXXXX-YY. # Corresponds to the JSON property `webPropertyId` # @return [String] attr_accessor :web_property_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @deletion_request_time = args[:deletion_request_time] if args.key?(:deletion_request_time) @firebase_project_id = args[:firebase_project_id] if args.key?(:firebase_project_id) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) @property_id = args[:property_id] if args.key?(:property_id) @web_property_id = args[:web_property_id] if args.key?(:web_property_id) end # User ID. class Id include Google::Apis::Core::Hashable # Type of user # Corresponds to the JSON property `type` # @return [String] attr_accessor :type # The User's id # Corresponds to the JSON property `userId` # @return [String] attr_accessor :user_id def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @type = args[:type] if args.key?(:type) @user_id = args[:user_id] if args.key?(:user_id) end end end # JSON template for a user reference. class UserRef include Google::Apis::Core::Hashable # Email ID of this user. # Corresponds to the JSON property `email` # @return [String] attr_accessor :email # User ID. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @email = args[:email] if args.key?(:email) @id = args[:id] if args.key?(:id) @kind = args[:kind] if args.key?(:kind) end end # JSON template for a web property reference. class WebPropertyRef include Google::Apis::Core::Hashable # Account ID to which this web property belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Link for this web property. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Web property ID of the form UA-XXXXX-YY. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for this web property. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Analytics web property reference. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Name of this web property. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @href = args[:href] if args.key?(:href) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @name = args[:name] if args.key?(:name) end end # JSON template for an Analytics WebPropertySummary. WebPropertySummary returns # basic information (i.e., summary) for a web property. class WebPropertySummary include Google::Apis::Core::Hashable # Web property ID of the form UA-XXXXX-YY. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # Internal ID for this web property. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Resource type for Analytics WebPropertySummary. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Level for this web property. Possible values are STANDARD or PREMIUM. # Corresponds to the JSON property `level` # @return [String] attr_accessor :level # Web property name. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # List of profiles under this web property. # Corresponds to the JSON property `profiles` # @return [Array] attr_accessor :profiles # Indicates whether this web property is starred or not. # Corresponds to the JSON property `starred` # @return [Boolean] attr_accessor :starred alias_method :starred?, :starred # Website url for this web property. # Corresponds to the JSON property `websiteUrl` # @return [String] attr_accessor :website_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @id = args[:id] if args.key?(:id) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @level = args[:level] if args.key?(:level) @name = args[:name] if args.key?(:name) @profiles = args[:profiles] if args.key?(:profiles) @starred = args[:starred] if args.key?(:starred) @website_url = args[:website_url] if args.key?(:website_url) end end # A web property collection lists Analytics web properties to which the user has # access. Each resource in the collection corresponds to a single Analytics web # property. class Webproperties include Google::Apis::Core::Hashable # A list of web properties. # Corresponds to the JSON property `items` # @return [Array] attr_accessor :items # The maximum number of resources the response can contain, regardless of the # actual number of resources returned. Its value ranges from 1 to 1000 with a # value of 1000 by default, or otherwise specified by the max-results query # parameter. # Corresponds to the JSON property `itemsPerPage` # @return [Fixnum] attr_accessor :items_per_page # Collection type. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Link to next page for this web property collection. # Corresponds to the JSON property `nextLink` # @return [String] attr_accessor :next_link # Link to previous page for this web property collection. # Corresponds to the JSON property `previousLink` # @return [String] attr_accessor :previous_link # The starting index of the resources, which is 1 by default or otherwise # specified by the start-index query parameter. # Corresponds to the JSON property `startIndex` # @return [Fixnum] attr_accessor :start_index # The total number of results for the query, regardless of the number of results # in the response. # Corresponds to the JSON property `totalResults` # @return [Fixnum] attr_accessor :total_results # Email ID of the authenticated user # Corresponds to the JSON property `username` # @return [String] attr_accessor :username def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @items = args[:items] if args.key?(:items) @items_per_page = args[:items_per_page] if args.key?(:items_per_page) @kind = args[:kind] if args.key?(:kind) @next_link = args[:next_link] if args.key?(:next_link) @previous_link = args[:previous_link] if args.key?(:previous_link) @start_index = args[:start_index] if args.key?(:start_index) @total_results = args[:total_results] if args.key?(:total_results) @username = args[:username] if args.key?(:username) end end # JSON template for an Analytics web property. class Webproperty include Google::Apis::Core::Hashable # Account ID to which this web property belongs. # Corresponds to the JSON property `accountId` # @return [String] attr_accessor :account_id # Child link for this web property. Points to the list of views (profiles) for # this web property. # Corresponds to the JSON property `childLink` # @return [Google::Apis::AnalyticsV3::Webproperty::ChildLink] attr_accessor :child_link # Time this web property was created. # Corresponds to the JSON property `created` # @return [DateTime] attr_accessor :created # Set to true to reset the retention period of the user identifier with each new # event from that user (thus setting the expiration date to current time plus # retention period). # Set to false to delete data associated with the user identifier automatically # after the rentention period. # This property cannot be set on insert. # Corresponds to the JSON property `dataRetentionResetOnNewActivity` # @return [Boolean] attr_accessor :data_retention_reset_on_new_activity alias_method :data_retention_reset_on_new_activity?, :data_retention_reset_on_new_activity # The length of time for which user and event data is retained. # This property cannot be set on insert. # Corresponds to the JSON property `dataRetentionTtl` # @return [String] attr_accessor :data_retention_ttl # Default view (profile) ID. # Corresponds to the JSON property `defaultProfileId` # @return [Fixnum] attr_accessor :default_profile_id # Web property ID of the form UA-XXXXX-YY. # Corresponds to the JSON property `id` # @return [String] attr_accessor :id # The industry vertical/category selected for this web property. # Corresponds to the JSON property `industryVertical` # @return [String] attr_accessor :industry_vertical # Internal ID for this web property. # Corresponds to the JSON property `internalWebPropertyId` # @return [String] attr_accessor :internal_web_property_id # Resource type for Analytics WebProperty. # Corresponds to the JSON property `kind` # @return [String] attr_accessor :kind # Level for this web property. Possible values are STANDARD or PREMIUM. # Corresponds to the JSON property `level` # @return [String] attr_accessor :level # Name of this web property. # Corresponds to the JSON property `name` # @return [String] attr_accessor :name # Parent link for this web property. Points to the account to which this web # property belongs. # Corresponds to the JSON property `parentLink` # @return [Google::Apis::AnalyticsV3::Webproperty::ParentLink] attr_accessor :parent_link # Permissions the user has for this web property. # Corresponds to the JSON property `permissions` # @return [Google::Apis::AnalyticsV3::Webproperty::Permissions] attr_accessor :permissions # View (Profile) count for this web property. # Corresponds to the JSON property `profileCount` # @return [Fixnum] attr_accessor :profile_count # Link for this web property. # Corresponds to the JSON property `selfLink` # @return [String] attr_accessor :self_link # Indicates whether this web property is starred or not. # Corresponds to the JSON property `starred` # @return [Boolean] attr_accessor :starred alias_method :starred?, :starred # Time this web property was last modified. # Corresponds to the JSON property `updated` # @return [DateTime] attr_accessor :updated # Website url for this web property. # Corresponds to the JSON property `websiteUrl` # @return [String] attr_accessor :website_url def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @account_id = args[:account_id] if args.key?(:account_id) @child_link = args[:child_link] if args.key?(:child_link) @created = args[:created] if args.key?(:created) @data_retention_reset_on_new_activity = args[:data_retention_reset_on_new_activity] if args.key?(:data_retention_reset_on_new_activity) @data_retention_ttl = args[:data_retention_ttl] if args.key?(:data_retention_ttl) @default_profile_id = args[:default_profile_id] if args.key?(:default_profile_id) @id = args[:id] if args.key?(:id) @industry_vertical = args[:industry_vertical] if args.key?(:industry_vertical) @internal_web_property_id = args[:internal_web_property_id] if args.key?(:internal_web_property_id) @kind = args[:kind] if args.key?(:kind) @level = args[:level] if args.key?(:level) @name = args[:name] if args.key?(:name) @parent_link = args[:parent_link] if args.key?(:parent_link) @permissions = args[:permissions] if args.key?(:permissions) @profile_count = args[:profile_count] if args.key?(:profile_count) @self_link = args[:self_link] if args.key?(:self_link) @starred = args[:starred] if args.key?(:starred) @updated = args[:updated] if args.key?(:updated) @website_url = args[:website_url] if args.key?(:website_url) end # Child link for this web property. Points to the list of views (profiles) for # this web property. class ChildLink include Google::Apis::Core::Hashable # Link to the list of views (profiles) for this web property. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Type of the parent link. Its value is "analytics#profiles". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Parent link for this web property. Points to the account to which this web # property belongs. class ParentLink include Google::Apis::Core::Hashable # Link to the account for this web property. # Corresponds to the JSON property `href` # @return [String] attr_accessor :href # Type of the parent link. Its value is "analytics#account". # Corresponds to the JSON property `type` # @return [String] attr_accessor :type def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @href = args[:href] if args.key?(:href) @type = args[:type] if args.key?(:type) end end # Permissions the user has for this web property. class Permissions include Google::Apis::Core::Hashable # All the permissions that the user has for this web property. These include any # implied permissions (e.g., EDIT implies VIEW) or inherited permissions from # the parent account. # Corresponds to the JSON property `effective` # @return [Array] attr_accessor :effective def initialize(**args) update!(**args) end # Update properties of this object def update!(**args) @effective = args[:effective] if args.key?(:effective) end end end end end end