Class: Google::Apis::AnalyticsV3::Experiment

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
generated/google/apis/analytics_v3/classes.rb,
generated/google/apis/analytics_v3/representations.rb,
generated/google/apis/analytics_v3/representations.rb

Overview

JSON template for Analytics experiment resource.

Defined Under Namespace

Classes: ParentLink, Variation

Instance Attribute Summary collapse

Instance Method Summary collapse

Methods included from Core::JsonObjectSupport

#to_json

Methods included from Core::Hashable

process_value, #to_h

Constructor Details

#initialize(**args) ⇒ Experiment

Returns a new instance of Experiment



1837
1838
1839
# File 'generated/google/apis/analytics_v3/classes.rb', line 1837

def initialize(**args)
   update!(**args)
end

Instance Attribute Details

#account_idString

Account ID to which this experiment belongs. This field is read-only. Corresponds to the JSON property accountId

Returns:

  • (String)


1650
1651
1652
# File 'generated/google/apis/analytics_v3/classes.rb', line 1650

def 
  @account_id
end

#createdDateTime

Time the experiment was created. This field is read-only. Corresponds to the JSON property created

Returns:

  • (DateTime)


1655
1656
1657
# File 'generated/google/apis/analytics_v3/classes.rb', line 1655

def created
  @created
end

#descriptionString

Notes about this experiment. Corresponds to the JSON property description

Returns:

  • (String)


1660
1661
1662
# File 'generated/google/apis/analytics_v3/classes.rb', line 1660

def description
  @description
end

#editable_in_ga_uiBoolean Also known as: editable_in_ga_ui?

If true, the end user will be able to edit the experiment via the Google Analytics user interface. Corresponds to the JSON property editableInGaUi

Returns:

  • (Boolean)


1666
1667
1668
# File 'generated/google/apis/analytics_v3/classes.rb', line 1666

def editable_in_ga_ui
  @editable_in_ga_ui
end

#end_timeDateTime

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

Returns:

  • (DateTime)


1674
1675
1676
# File 'generated/google/apis/analytics_v3/classes.rb', line 1674

def end_time
  @end_time
end

#equal_weightingBoolean Also known as: equal_weighting?

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

Returns:

  • (Boolean)


1683
1684
1685
# File 'generated/google/apis/analytics_v3/classes.rb', line 1683

def equal_weighting
  @equal_weighting
end

#idString

Experiment ID. Required for patch and update. Disallowed for create. Corresponds to the JSON property id

Returns:

  • (String)


1689
1690
1691
# File 'generated/google/apis/analytics_v3/classes.rb', line 1689

def id
  @id
end

#internal_web_property_idString

Internal ID for the web property to which this experiment belongs. This field is read-only. Corresponds to the JSON property internalWebPropertyId

Returns:

  • (String)


1695
1696
1697
# File 'generated/google/apis/analytics_v3/classes.rb', line 1695

def internal_web_property_id
  @internal_web_property_id
end

#kindString

Resource type for an Analytics experiment. This field is read-only. Corresponds to the JSON property kind

Returns:

  • (String)


1700
1701
1702
# File 'generated/google/apis/analytics_v3/classes.rb', line 1700

def kind
  @kind
end

#minimum_experiment_length_in_daysFixnum

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

Returns:

  • (Fixnum)


1707
1708
1709
# File 'generated/google/apis/analytics_v3/classes.rb', line 1707

def minimum_experiment_length_in_days
  @minimum_experiment_length_in_days
end

#nameString

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

Returns:

  • (String)


1713
1714
1715
# File 'generated/google/apis/analytics_v3/classes.rb', line 1713

def name
  @name
end

#objective_metricString

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

Returns:

  • (String)


1722
1723
1724
# File 'generated/google/apis/analytics_v3/classes.rb', line 1722

def objective_metric
  @objective_metric
end

#optimization_typeString

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

Returns:

  • (String)


1730
1731
1732
# File 'generated/google/apis/analytics_v3/classes.rb', line 1730

def optimization_type
  @optimization_type
end

Parent link for an experiment. Points to the view (profile) to which this experiment belongs. Corresponds to the JSON property parentLink



1736
1737
1738
# File 'generated/google/apis/analytics_v3/classes.rb', line 1736

def parent_link
  @parent_link
end

#profile_idString

View (Profile) ID to which this experiment belongs. This field is read-only. Corresponds to the JSON property profileId

Returns:

  • (String)


1741
1742
1743
# File 'generated/google/apis/analytics_v3/classes.rb', line 1741

def profile_id
  @profile_id
end

#reason_experiment_endedString

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

Returns:

  • (String)


1750
1751
1752
# File 'generated/google/apis/analytics_v3/classes.rb', line 1750

def reason_experiment_ended
  @reason_experiment_ended
end

#rewrite_variation_urls_as_originalBoolean Also known as: rewrite_variation_urls_as_original?

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

Returns:

  • (Boolean)


1757
1758
1759
# File 'generated/google/apis/analytics_v3/classes.rb', line 1757

def rewrite_variation_urls_as_original
  @rewrite_variation_urls_as_original
end

Link for this experiment. This field is read-only. Corresponds to the JSON property selfLink

Returns:

  • (String)


1763
1764
1765
# File 'generated/google/apis/analytics_v3/classes.rb', line 1763

def self_link
  @self_link
end

#serving_frameworkString

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

Returns:

  • (String)


1777
1778
1779
# File 'generated/google/apis/analytics_v3/classes.rb', line 1777

def serving_framework
  @serving_framework
end

#snippetString

The snippet of code to include on the control page(s). This field is read-only. Corresponds to the JSON property snippet

Returns:

  • (String)


1782
1783
1784
# File 'generated/google/apis/analytics_v3/classes.rb', line 1782

def snippet
  @snippet
end

#start_timeDateTime

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

Returns:

  • (DateTime)


1789
1790
1791
# File 'generated/google/apis/analytics_v3/classes.rb', line 1789

def start_time
  @start_time
end

#statusString

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

Returns:

  • (String)


1796
1797
1798
# File 'generated/google/apis/analytics_v3/classes.rb', line 1796

def status
  @status
end

#traffic_coverageFloat

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

Returns:

  • (Float)


1803
1804
1805
# File 'generated/google/apis/analytics_v3/classes.rb', line 1803

def traffic_coverage
  @traffic_coverage
end

#updatedDateTime

Time the experiment was last modified. This field is read-only. Corresponds to the JSON property updated

Returns:

  • (DateTime)


1808
1809
1810
# File 'generated/google/apis/analytics_v3/classes.rb', line 1808

def updated
  @updated
end

#variationsArray<Google::Apis::AnalyticsV3::Experiment::Variation>

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



1815
1816
1817
# File 'generated/google/apis/analytics_v3/classes.rb', line 1815

def variations
  @variations
end

#web_property_idString

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

Returns:

  • (String)


1821
1822
1823
# File 'generated/google/apis/analytics_v3/classes.rb', line 1821

def web_property_id
  @web_property_id
end

#winner_confidence_levelFloat

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

Returns:

  • (Float)


1828
1829
1830
# File 'generated/google/apis/analytics_v3/classes.rb', line 1828

def winner_confidence_level
  @winner_confidence_level
end

#winner_foundBoolean Also known as: winner_found?

Boolean specifying whether a winner has been found for this experiment. This field is read-only. Corresponds to the JSON property winnerFound

Returns:

  • (Boolean)


1834
1835
1836
# File 'generated/google/apis/analytics_v3/classes.rb', line 1834

def winner_found
  @winner_found
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1842
1843
1844
1845
1846
1847
1848
1849
1850
1851
1852
1853
1854
1855
1856
1857
1858
1859
1860
1861
1862
1863
1864
1865
1866
1867
1868
1869
1870
1871
# File 'generated/google/apis/analytics_v3/classes.rb', line 1842

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