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.


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

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)

1460
1461
1462
# File 'generated/google/apis/analytics_v3/classes.rb', line 1460

def 
  @account_id
end

#createdDateTime

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

Returns:

  • (DateTime)

1465
1466
1467
# File 'generated/google/apis/analytics_v3/classes.rb', line 1465

def created
  @created
end

#descriptionString

Notes about this experiment. Corresponds to the JSON property description

Returns:

  • (String)

1470
1471
1472
# File 'generated/google/apis/analytics_v3/classes.rb', line 1470

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)

1476
1477
1478
# File 'generated/google/apis/analytics_v3/classes.rb', line 1476

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)

1484
1485
1486
# File 'generated/google/apis/analytics_v3/classes.rb', line 1484

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)

1493
1494
1495
# File 'generated/google/apis/analytics_v3/classes.rb', line 1493

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)

1499
1500
1501
# File 'generated/google/apis/analytics_v3/classes.rb', line 1499

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)

1505
1506
1507
# File 'generated/google/apis/analytics_v3/classes.rb', line 1505

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)

1510
1511
1512
# File 'generated/google/apis/analytics_v3/classes.rb', line 1510

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)

1517
1518
1519
# File 'generated/google/apis/analytics_v3/classes.rb', line 1517

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)

1523
1524
1525
# File 'generated/google/apis/analytics_v3/classes.rb', line 1523

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)

1532
1533
1534
# File 'generated/google/apis/analytics_v3/classes.rb', line 1532

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)

1540
1541
1542
# File 'generated/google/apis/analytics_v3/classes.rb', line 1540

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


1546
1547
1548
# File 'generated/google/apis/analytics_v3/classes.rb', line 1546

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)

1551
1552
1553
# File 'generated/google/apis/analytics_v3/classes.rb', line 1551

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)

1560
1561
1562
# File 'generated/google/apis/analytics_v3/classes.rb', line 1560

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)

1567
1568
1569
# File 'generated/google/apis/analytics_v3/classes.rb', line 1567

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)

1573
1574
1575
# File 'generated/google/apis/analytics_v3/classes.rb', line 1573

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)

1587
1588
1589
# File 'generated/google/apis/analytics_v3/classes.rb', line 1587

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)

1592
1593
1594
# File 'generated/google/apis/analytics_v3/classes.rb', line 1592

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)

1599
1600
1601
# File 'generated/google/apis/analytics_v3/classes.rb', line 1599

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)

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

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)

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

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)

1618
1619
1620
# File 'generated/google/apis/analytics_v3/classes.rb', line 1618

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


1625
1626
1627
# File 'generated/google/apis/analytics_v3/classes.rb', line 1625

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)

1631
1632
1633
# File 'generated/google/apis/analytics_v3/classes.rb', line 1631

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)

1638
1639
1640
# File 'generated/google/apis/analytics_v3/classes.rb', line 1638

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)

1644
1645
1646
# File 'generated/google/apis/analytics_v3/classes.rb', line 1644

def winner_found
  @winner_found
end

Instance Method Details

#update!(**args) ⇒ Object

Update properties of this object


1652
1653
1654
1655
1656
1657
1658
1659
1660
1661
1662
1663
1664
1665
1666
1667
1668
1669
1670
1671
1672
1673
1674
1675
1676
1677
1678
1679
1680
1681
# File 'generated/google/apis/analytics_v3/classes.rb', line 1652

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