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

Inherits:
Object
  • Object
show all
Includes:
Core::Hashable, Core::JsonObjectSupport
Defined in:
lib/google/apis/analytics_v3/classes.rb,
lib/google/apis/analytics_v3/representations.rb,
lib/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

Constructor Details

#initialize(**args) ⇒ Experiment

Returns a new instance of Experiment.



1743
1744
1745
# File 'lib/google/apis/analytics_v3/classes.rb', line 1743

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)


1556
1557
1558
# File 'lib/google/apis/analytics_v3/classes.rb', line 1556

def 
  @account_id
end

#createdDateTime

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

Returns:

  • (DateTime)


1561
1562
1563
# File 'lib/google/apis/analytics_v3/classes.rb', line 1561

def created
  @created
end

#descriptionString

Notes about this experiment. Corresponds to the JSON property description

Returns:

  • (String)


1566
1567
1568
# File 'lib/google/apis/analytics_v3/classes.rb', line 1566

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)


1572
1573
1574
# File 'lib/google/apis/analytics_v3/classes.rb', line 1572

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)


1580
1581
1582
# File 'lib/google/apis/analytics_v3/classes.rb', line 1580

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)


1589
1590
1591
# File 'lib/google/apis/analytics_v3/classes.rb', line 1589

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)


1595
1596
1597
# File 'lib/google/apis/analytics_v3/classes.rb', line 1595

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)


1601
1602
1603
# File 'lib/google/apis/analytics_v3/classes.rb', line 1601

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)


1606
1607
1608
# File 'lib/google/apis/analytics_v3/classes.rb', line 1606

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)


1613
1614
1615
# File 'lib/google/apis/analytics_v3/classes.rb', line 1613

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)


1619
1620
1621
# File 'lib/google/apis/analytics_v3/classes.rb', line 1619

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)


1628
1629
1630
# File 'lib/google/apis/analytics_v3/classes.rb', line 1628

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)


1636
1637
1638
# File 'lib/google/apis/analytics_v3/classes.rb', line 1636

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



1642
1643
1644
# File 'lib/google/apis/analytics_v3/classes.rb', line 1642

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)


1647
1648
1649
# File 'lib/google/apis/analytics_v3/classes.rb', line 1647

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)


1656
1657
1658
# File 'lib/google/apis/analytics_v3/classes.rb', line 1656

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)


1663
1664
1665
# File 'lib/google/apis/analytics_v3/classes.rb', line 1663

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)


1669
1670
1671
# File 'lib/google/apis/analytics_v3/classes.rb', line 1669

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)


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

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)


1688
1689
1690
# File 'lib/google/apis/analytics_v3/classes.rb', line 1688

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)


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

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)


1702
1703
1704
# File 'lib/google/apis/analytics_v3/classes.rb', line 1702

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)


1709
1710
1711
# File 'lib/google/apis/analytics_v3/classes.rb', line 1709

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)


1714
1715
1716
# File 'lib/google/apis/analytics_v3/classes.rb', line 1714

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



1721
1722
1723
# File 'lib/google/apis/analytics_v3/classes.rb', line 1721

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)


1727
1728
1729
# File 'lib/google/apis/analytics_v3/classes.rb', line 1727

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)


1734
1735
1736
# File 'lib/google/apis/analytics_v3/classes.rb', line 1734

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)


1740
1741
1742
# File 'lib/google/apis/analytics_v3/classes.rb', line 1740

def winner_found
  @winner_found
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object



1748
1749
1750
1751
1752
1753
1754
1755
1756
1757
1758
1759
1760
1761
1762
1763
1764
1765
1766
1767
1768
1769
1770
1771
1772
1773
1774
1775
1776
1777
# File 'lib/google/apis/analytics_v3/classes.rb', line 1748

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