<?php
# Generated by the protocol buffer compiler.  DO NOT EDIT!
# source: google/ads/googleads/v11/common/metrics.proto

namespace Google\Ads\GoogleAds\V11\Common;

use Google\Protobuf\Internal\GPBType;
use Google\Protobuf\Internal\RepeatedField;
use Google\Protobuf\Internal\GPBUtil;

/**
 * Metrics data.
 *
 * Generated from protobuf message <code>google.ads.googleads.v11.common.Metrics</code>
 */
class Metrics extends \Google\Protobuf\Internal\Message
{
    /**
     * The percent of your ad impressions that are shown as the very first ad
     * above the organic search results.
     *
     * Generated from protobuf field <code>optional double absolute_top_impression_percentage = 183;</code>
     */
    protected $absolute_top_impression_percentage = null;
    /**
     * Average cost of viewable impressions (`active_view_impressions`).
     *
     * Generated from protobuf field <code>optional double active_view_cpm = 184;</code>
     */
    protected $active_view_cpm = null;
    /**
     * Active view measurable clicks divided by active view viewable impressions.
     * This metric is reported only for display network.
     *
     * Generated from protobuf field <code>optional double active_view_ctr = 185;</code>
     */
    protected $active_view_ctr = null;
    /**
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     *
     * Generated from protobuf field <code>optional int64 active_view_impressions = 186;</code>
     */
    protected $active_view_impressions = null;
    /**
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     *
     * Generated from protobuf field <code>optional double active_view_measurability = 187;</code>
     */
    protected $active_view_measurability = null;
    /**
     * The cost of the impressions you received that were measurable by Active
     * View.
     *
     * Generated from protobuf field <code>optional int64 active_view_measurable_cost_micros = 188;</code>
     */
    protected $active_view_measurable_cost_micros = null;
    /**
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     *
     * Generated from protobuf field <code>optional int64 active_view_measurable_impressions = 189;</code>
     */
    protected $active_view_measurable_impressions = null;
    /**
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     *
     * Generated from protobuf field <code>optional double active_view_viewability = 190;</code>
     */
    protected $active_view_viewability = null;
    /**
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_interactions_rate = 191;</code>
     */
    protected $all_conversions_from_interactions_rate = null;
    /**
     * The value of all conversions.
     *
     * Generated from protobuf field <code>optional double all_conversions_value = 192;</code>
     */
    protected $all_conversions_value = null;
    /**
     * The value of all conversions. When this column is selected with date, the
     * values in date column means the conversion date. Details for the
     * by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double all_conversions_value_by_conversion_date = 240;</code>
     */
    protected $all_conversions_value_by_conversion_date = 0.0;
    /**
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     *
     * Generated from protobuf field <code>optional double all_conversions = 193;</code>
     */
    protected $all_conversions = null;
    /**
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric. When this column is selected
     * with date, the values in date column means the conversion date. Details for
     * the by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double all_conversions_by_conversion_date = 241;</code>
     */
    protected $all_conversions_by_conversion_date = 0.0;
    /**
     * The value of all conversions divided by the total cost of ad interactions
     * (such as clicks for text ads or views for video ads).
     *
     * Generated from protobuf field <code>optional double all_conversions_value_per_cost = 194;</code>
     */
    protected $all_conversions_value_per_cost = null;
    /**
     * The number of times people clicked the "Call" button to call a store during
     * or after clicking an ad. This number doesn't include whether or not calls
     * were connected, or the duration of any calls.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_click_to_call = 195;</code>
     */
    protected $all_conversions_from_click_to_call = null;
    /**
     * The number of times people clicked a "Get directions" button to navigate to
     * a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_directions = 196;</code>
     */
    protected $all_conversions_from_directions = null;
    /**
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_interactions_value_per_interaction = 197;</code>
     */
    protected $all_conversions_from_interactions_value_per_interaction = null;
    /**
     * The number of times people clicked a link to view a store's menu after
     * clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_menu = 198;</code>
     */
    protected $all_conversions_from_menu = null;
    /**
     * The number of times people placed an order at a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_order = 199;</code>
     */
    protected $all_conversions_from_order = null;
    /**
     * The number of other conversions (for example, posting a review or saving a
     * location for a store) that occurred after people clicked an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_other_engagement = 200;</code>
     */
    protected $all_conversions_from_other_engagement = null;
    /**
     * Estimated number of times people visited a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_store_visit = 201;</code>
     */
    protected $all_conversions_from_store_visit = null;
    /**
     * The number of times that people were taken to a store's URL after clicking
     * an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_store_website = 202;</code>
     */
    protected $all_conversions_from_store_website = null;
    /**
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed as the very first ad above the
     * organic search results.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_absolute_top_impression_percentage = 258;</code>
     */
    protected $auction_insight_search_absolute_top_impression_percentage = null;
    /**
     * This metric is part of the Auction Insights report, and tells the
     * percentage of impressions that another participant obtained, over the total
     * number of impressions that your ads were eligible for.
     * Any value below 0.1 is reported as 0.0999.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_impression_share = 259;</code>
     */
    protected $auction_insight_search_impression_share = null;
    /**
     * This metric is part of the Auction Insights report, and tells the
     * percentage of impressions that your ads outranked (showed above)
     * another participant in the auction, compared to the total number of
     * impressions that your ads were eligible for.
     * Any value below 0.1 is reported as 0.0999.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_outranking_share = 260;</code>
     */
    protected $auction_insight_search_outranking_share = null;
    /**
     * This metric is part of the Auction Insights report, and tells how often
     * another participant's ad received an impression when your ad also received
     * an impression.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_overlap_rate = 261;</code>
     */
    protected $auction_insight_search_overlap_rate = null;
    /**
     * This metric is part of the Auction Insights report, and tells how often
     * another participant's ad was shown in a higher position than yours, when
     * both of your ads were shown at the same page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_position_above_rate = 262;</code>
     */
    protected $auction_insight_search_position_above_rate = null;
    /**
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed above the organic search results.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_top_impression_percentage = 263;</code>
     */
    protected $auction_insight_search_top_impression_percentage = null;
    /**
     * The average amount you pay per interaction. This amount is the total cost
     * of your ads divided by the total number of interactions.
     *
     * Generated from protobuf field <code>optional double average_cost = 203;</code>
     */
    protected $average_cost = null;
    /**
     * The total cost of all clicks divided by the total number of clicks
     * received.
     *
     * Generated from protobuf field <code>optional double average_cpc = 204;</code>
     */
    protected $average_cpc = null;
    /**
     * The average amount that you've been charged for an ad engagement. This
     * amount is the total cost of all ad engagements divided by the total number
     * of ad engagements.
     *
     * Generated from protobuf field <code>optional double average_cpe = 205;</code>
     */
    protected $average_cpe = null;
    /**
     * Average cost-per-thousand impressions (CPM).
     *
     * Generated from protobuf field <code>optional double average_cpm = 206;</code>
     */
    protected $average_cpm = null;
    /**
     * The average amount you pay each time someone views your ad.
     * The average CPV is defined by the total cost of all ad views divided by
     * the number of views.
     *
     * Generated from protobuf field <code>optional double average_cpv = 207;</code>
     */
    protected $average_cpv = null;
    /**
     * Average number of pages viewed per session.
     *
     * Generated from protobuf field <code>optional double average_page_views = 208;</code>
     */
    protected $average_page_views = null;
    /**
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     *
     * Generated from protobuf field <code>optional double average_time_on_site = 209;</code>
     */
    protected $average_time_on_site = null;
    /**
     * An indication of how other advertisers are bidding on similar products.
     *
     * Generated from protobuf field <code>optional double benchmark_average_max_cpc = 210;</code>
     */
    protected $benchmark_average_max_cpc = null;
    /**
     * Number of app installs.
     *
     * Generated from protobuf field <code>optional double biddable_app_install_conversions = 254;</code>
     */
    protected $biddable_app_install_conversions = null;
    /**
     * Number of in-app actions.
     *
     * Generated from protobuf field <code>optional double biddable_app_post_install_conversions = 255;</code>
     */
    protected $biddable_app_post_install_conversions = null;
    /**
     * An indication on how other advertisers' Shopping ads for similar products
     * are performing based on how often people who see their ad click on it.
     *
     * Generated from protobuf field <code>optional double benchmark_ctr = 211;</code>
     */
    protected $benchmark_ctr = null;
    /**
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     *
     * Generated from protobuf field <code>optional double bounce_rate = 212;</code>
     */
    protected $bounce_rate = null;
    /**
     * The number of clicks.
     *
     * Generated from protobuf field <code>optional int64 clicks = 131;</code>
     */
    protected $clicks = null;
    /**
     * The number of times your ad or your site's listing in the unpaid
     * results was clicked. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 combined_clicks = 156;</code>
     */
    protected $combined_clicks = null;
    /**
     * The number of times your ad or your site's listing in the unpaid
     * results was clicked (combined_clicks) divided by combined_queries. See the
     * help page at https://support.google.com/google-ads/answer/3097241 for
     * details.
     *
     * Generated from protobuf field <code>optional double combined_clicks_per_query = 157;</code>
     */
    protected $combined_clicks_per_query = null;
    /**
     * The number of searches that returned pages from your site in the unpaid
     * results or showed one of your text ads. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 combined_queries = 158;</code>
     */
    protected $combined_queries = null;
    /**
     * The estimated percent of times that your ad was eligible to show
     * on the Display Network but didn't because your budget was too low.
     * Note: Content budget lost impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double content_budget_lost_impression_share = 159;</code>
     */
    protected $content_budget_lost_impression_share = null;
    /**
     * The impressions you've received on the Display Network divided
     * by the estimated number of impressions you were eligible to receive.
     * Note: Content impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double content_impression_share = 160;</code>
     */
    protected $content_impression_share = null;
    /**
     * The last date/time a conversion tag for this conversion action successfully
     * fired and was seen by Google Ads. This firing event may not have been the
     * result of an attributable conversion (e.g. because the tag was fired from a
     * browser that did not previously click an ad from an appropriate
     * advertiser). The date/time is in the customer's time zone.
     *
     * Generated from protobuf field <code>optional string conversion_last_received_request_date_time = 161;</code>
     */
    protected $conversion_last_received_request_date_time = null;
    /**
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     *
     * Generated from protobuf field <code>optional string conversion_last_conversion_date = 162;</code>
     */
    protected $conversion_last_conversion_date = null;
    /**
     * The estimated percentage of impressions on the Display Network
     * that your ads didn't receive due to poor Ad Rank.
     * Note: Content rank lost impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double content_rank_lost_impression_share = 163;</code>
     */
    protected $content_rank_lost_impression_share = null;
    /**
     * Conversions from interactions divided by the number of ad interactions
     * (such as clicks for text ads or views for video ads). This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double conversions_from_interactions_rate = 164;</code>
     */
    protected $conversions_from_interactions_rate = null;
    /**
     * The value of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions_value = 165;</code>
     */
    protected $conversions_value = null;
    /**
     * The value of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions. When this column is selected with date, the values in date
     * column means the conversion date. Details for the by_conversion_date
     * columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double conversions_value_by_conversion_date = 242;</code>
     */
    protected $conversions_value_by_conversion_date = 0.0;
    /**
     * The value of conversions divided by the cost of ad interactions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double conversions_value_per_cost = 166;</code>
     */
    protected $conversions_value_per_cost = null;
    /**
     * The value of conversions from interactions divided by the number of ad
     * interactions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions_from_interactions_value_per_interaction = 167;</code>
     */
    protected $conversions_from_interactions_value_per_interaction = null;
    /**
     * The number of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions = 168;</code>
     */
    protected $conversions = null;
    /**
     * The number of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions. When this column is selected with date, the values in date
     * column means the conversion date. Details for the by_conversion_date
     * columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double conversions_by_conversion_date = 243;</code>
     */
    protected $conversions_by_conversion_date = 0.0;
    /**
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     *
     * Generated from protobuf field <code>optional int64 cost_micros = 169;</code>
     */
    protected $cost_micros = null;
    /**
     * The cost of ad interactions divided by all conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_all_conversions = 170;</code>
     */
    protected $cost_per_all_conversions = null;
    /**
     * The cost of ad interactions divided by conversions. This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_conversion = 171;</code>
     */
    protected $cost_per_conversion = null;
    /**
     * The cost of ad interactions divided by current model attributed
     * conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_current_model_attributed_conversion = 172;</code>
     */
    protected $cost_per_current_model_attributed_conversion = null;
    /**
     * Conversions from when a customer clicks on a Google Ads ad on one device,
     * then converts on a different device or browser.
     * Cross-device conversions are already included in all_conversions.
     *
     * Generated from protobuf field <code>optional double cross_device_conversions = 173;</code>
     */
    protected $cross_device_conversions = null;
    /**
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     *
     * Generated from protobuf field <code>optional double ctr = 174;</code>
     */
    protected $ctr = null;
    /**
     * Shows how your historic conversions data would look under the attribution
     * model you've currently selected. This only includes conversion actions
     * which include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions = 175;</code>
     */
    protected $current_model_attributed_conversions = null;
    /**
     * Current model attributed conversions from interactions divided by the
     * number of ad interactions (such as clicks for text ads or views for video
     * ads). This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_from_interactions_rate = 176;</code>
     */
    protected $current_model_attributed_conversions_from_interactions_rate = null;
    /**
     * The value of current model attributed conversions from interactions divided
     * by the number of ad interactions. This only includes conversion actions
     * which include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177;</code>
     */
    protected $current_model_attributed_conversions_from_interactions_value_per_interaction = null;
    /**
     * The value of current model attributed conversions. This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_value = 178;</code>
     */
    protected $current_model_attributed_conversions_value = null;
    /**
     * The value of current model attributed conversions divided by the cost of ad
     * interactions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_value_per_cost = 179;</code>
     */
    protected $current_model_attributed_conversions_value_per_cost = null;
    /**
     * How often people engage with your ad after it's shown to them. This is the
     * number of ad expansions divided by the number of times your ad is shown.
     *
     * Generated from protobuf field <code>optional double engagement_rate = 180;</code>
     */
    protected $engagement_rate = null;
    /**
     * The number of engagements.
     * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
     * future, other ad types may support engagement metrics.
     *
     * Generated from protobuf field <code>optional int64 engagements = 181;</code>
     */
    protected $engagements = null;
    /**
     * Average lead value based on clicks.
     *
     * Generated from protobuf field <code>optional double hotel_average_lead_value_micros = 213;</code>
     */
    protected $hotel_average_lead_value_micros = null;
    /**
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     *
     * Generated from protobuf field <code>optional int64 hotel_commission_rate_micros = 256;</code>
     */
    protected $hotel_commission_rate_micros = null;
    /**
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     *
     * Generated from protobuf field <code>optional double hotel_expected_commission_cost = 257;</code>
     */
    protected $hotel_expected_commission_cost = null;
    /**
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     *
     * Generated from protobuf field <code>optional double hotel_price_difference_percentage = 214;</code>
     */
    protected $hotel_price_difference_percentage = null;
    /**
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     *
     * Generated from protobuf field <code>optional int64 hotel_eligible_impressions = 215;</code>
     */
    protected $hotel_eligible_impressions = null;
    /**
     * The creative historical quality score.
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80;</code>
     */
    protected $historical_creative_quality_score = 0;
    /**
     * The quality of historical landing page experience.
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81;</code>
     */
    protected $historical_landing_page_quality_score = 0;
    /**
     * The historical quality score.
     *
     * Generated from protobuf field <code>optional int64 historical_quality_score = 216;</code>
     */
    protected $historical_quality_score = null;
    /**
     * The historical search predicted click through rate (CTR).
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83;</code>
     */
    protected $historical_search_predicted_ctr = 0;
    /**
     * The number of times the ad was forwarded to someone else as a message.
     *
     * Generated from protobuf field <code>optional int64 gmail_forwards = 217;</code>
     */
    protected $gmail_forwards = null;
    /**
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     *
     * Generated from protobuf field <code>optional int64 gmail_saves = 218;</code>
     */
    protected $gmail_saves = null;
    /**
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     *
     * Generated from protobuf field <code>optional int64 gmail_secondary_clicks = 219;</code>
     */
    protected $gmail_secondary_clicks = null;
    /**
     * The number of times a store's location-based ad was shown.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional int64 impressions_from_store_reach = 220;</code>
     */
    protected $impressions_from_store_reach = null;
    /**
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     *
     * Generated from protobuf field <code>optional int64 impressions = 221;</code>
     */
    protected $impressions = null;
    /**
     * How often people interact with your ad after it is shown to them.
     * This is the number of interactions divided by the number of times your ad
     * is shown.
     *
     * Generated from protobuf field <code>optional double interaction_rate = 222;</code>
     */
    protected $interaction_rate = null;
    /**
     * The number of interactions.
     * An interaction is the main user action associated with an ad format-clicks
     * for text and shopping ads, views for video ads, and so on.
     *
     * Generated from protobuf field <code>optional int64 interactions = 223;</code>
     */
    protected $interactions = null;
    /**
     * The types of payable and free interactions.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v11.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100;</code>
     */
    private $interaction_event_types;
    /**
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     *
     * Generated from protobuf field <code>optional double invalid_click_rate = 224;</code>
     */
    protected $invalid_click_rate = null;
    /**
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     *
     * Generated from protobuf field <code>optional int64 invalid_clicks = 225;</code>
     */
    protected $invalid_clicks = null;
    /**
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     *
     * Generated from protobuf field <code>optional int64 message_chats = 226;</code>
     */
    protected $message_chats = null;
    /**
     * Number of Click To Message impressions that were message tracking eligible.
     *
     * Generated from protobuf field <code>optional int64 message_impressions = 227;</code>
     */
    protected $message_impressions = null;
    /**
     * Number of message chats initiated (message_chats) divided by the number
     * of message impressions (message_impressions).
     * Rate at which a user initiates a message chat from an ad impression with
     * a messaging option and message tracking enabled.
     * Note that this rate can be more than 1.0 for a given message impression.
     *
     * Generated from protobuf field <code>optional double message_chat_rate = 228;</code>
     */
    protected $message_chat_rate = null;
    /**
     * The percentage of mobile clicks that go to a mobile-friendly page.
     *
     * Generated from protobuf field <code>optional double mobile_friendly_clicks_percentage = 229;</code>
     */
    protected $mobile_friendly_clicks_percentage = null;
    /**
     * Total optimization score uplift of all recommendations.
     *
     * Generated from protobuf field <code>optional double optimization_score_uplift = 247;</code>
     */
    protected $optimization_score_uplift = null;
    /**
     * URL for the optimization score page in the Google Ads web interface.
     * This metric can be selected from `customer` or `campaign`, and can be
     * segmented by `segments.recommendation_type`. For example, `SELECT
     * metrics.optimization_score_url, segments.recommendation_type FROM
     * customer` will return a URL for each unique (customer, recommendation_type)
     * combination.
     *
     * Generated from protobuf field <code>optional string optimization_score_url = 248;</code>
     */
    protected $optimization_score_url = null;
    /**
     * The number of times someone clicked your site's listing in the unpaid
     * results for a particular query. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 organic_clicks = 230;</code>
     */
    protected $organic_clicks = null;
    /**
     * The number of times someone clicked your site's listing in the unpaid
     * results (organic_clicks) divided by the total number of searches that
     * returned pages from your site (organic_queries). See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional double organic_clicks_per_query = 231;</code>
     */
    protected $organic_clicks_per_query = null;
    /**
     * The number of listings for your site in the unpaid search results. See the
     * help page at https://support.google.com/google-ads/answer/3097241 for
     * details.
     *
     * Generated from protobuf field <code>optional int64 organic_impressions = 232;</code>
     */
    protected $organic_impressions = null;
    /**
     * The number of times a page from your site was listed in the unpaid search
     * results (organic_impressions) divided by the number of searches returning
     * your site's listing in the unpaid results (organic_queries). See the help
     * page at https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional double organic_impressions_per_query = 233;</code>
     */
    protected $organic_impressions_per_query = null;
    /**
     * The total number of searches that returned your site's listing in the
     * unpaid results. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 organic_queries = 234;</code>
     */
    protected $organic_queries = null;
    /**
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     *
     * Generated from protobuf field <code>optional double percent_new_visitors = 235;</code>
     */
    protected $percent_new_visitors = null;
    /**
     * Number of offline phone calls.
     *
     * Generated from protobuf field <code>optional int64 phone_calls = 236;</code>
     */
    protected $phone_calls = null;
    /**
     * Number of offline phone impressions.
     *
     * Generated from protobuf field <code>optional int64 phone_impressions = 237;</code>
     */
    protected $phone_impressions = null;
    /**
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     *
     * Generated from protobuf field <code>optional double phone_through_rate = 238;</code>
     */
    protected $phone_through_rate = null;
    /**
     * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
     * all advertisers on the websites that show your ads. Measures how your ads
     * perform on Display Network sites compared to other ads on the same sites.
     *
     * Generated from protobuf field <code>optional double relative_ctr = 239;</code>
     */
    protected $relative_ctr = null;
    /**
     * The percentage of the customer's Shopping or Search ad impressions that are
     * shown in the most prominent Shopping position. See
     * https://support.google.com/google-ads/answer/7501826
     * for details. Any value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_absolute_top_impression_share = 136;</code>
     */
    protected $search_absolute_top_impression_share = null;
    /**
     * The number estimating how often your ad wasn't the very first ad above the
     * organic search results due to a low budget. Note: Search
     * budget lost absolute top impression share is reported in the range of 0 to
     * 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_absolute_top_impression_share = 137;</code>
     */
    protected $search_budget_lost_absolute_top_impression_share = null;
    /**
     * The estimated percent of times that your ad was eligible to show on the
     * Search Network but didn't because your budget was too low. Note: Search
     * budget lost impression share is reported in the range of 0 to 0.9. Any
     * value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_impression_share = 138;</code>
     */
    protected $search_budget_lost_impression_share = null;
    /**
     * The number estimating how often your ad didn't show anywhere above the
     * organic search results due to a low budget. Note: Search
     * budget lost top impression share is reported in the range of 0 to 0.9. Any
     * value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_top_impression_share = 139;</code>
     */
    protected $search_budget_lost_top_impression_share = null;
    /**
     * The number of clicks you've received on the Search Network
     * divided by the estimated number of clicks you were eligible to receive.
     * Note: Search click share is reported in the range of 0.1 to 1. Any value
     * below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_click_share = 140;</code>
     */
    protected $search_click_share = null;
    /**
     * The impressions you've received divided by the estimated number of
     * impressions you were eligible to receive on the Search Network for search
     * terms that matched your keywords exactly (or were close variants of your
     * keyword), regardless of your keyword match types. Note: Search exact match
     * impression share is reported in the range of 0.1 to 1. Any value below 0.1
     * is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_exact_match_impression_share = 141;</code>
     */
    protected $search_exact_match_impression_share = null;
    /**
     * The impressions you've received on the Search Network divided
     * by the estimated number of impressions you were eligible to receive.
     * Note: Search impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_impression_share = 142;</code>
     */
    protected $search_impression_share = null;
    /**
     * The number estimating how often your ad wasn't the very first ad above the
     * organic search results due to poor Ad Rank.
     * Note: Search rank lost absolute top impression share is reported in the
     * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_absolute_top_impression_share = 143;</code>
     */
    protected $search_rank_lost_absolute_top_impression_share = null;
    /**
     * The estimated percentage of impressions on the Search Network
     * that your ads didn't receive due to poor Ad Rank.
     * Note: Search rank lost impression share is reported in the range of 0 to
     * 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_impression_share = 144;</code>
     */
    protected $search_rank_lost_impression_share = null;
    /**
     * The number estimating how often your ad didn't show anywhere above the
     * organic search results due to poor Ad Rank.
     * Note: Search rank lost top impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_top_impression_share = 145;</code>
     */
    protected $search_rank_lost_top_impression_share = null;
    /**
     * The impressions you've received in the top location (anywhere above the
     * organic search results) compared to the estimated number of impressions you
     * were eligible to receive in the top location.
     * Note: Search top impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_top_impression_share = 146;</code>
     */
    protected $search_top_impression_share = null;
    /**
     * A measure of how quickly your page loads after clicks on your mobile ads.
     * The score is a range from 1 to 10, 10 being the fastest.
     *
     * Generated from protobuf field <code>optional int64 speed_score = 147;</code>
     */
    protected $speed_score = null;
    /**
     * The percent of your ad impressions that are shown anywhere above the
     * organic search results.
     *
     * Generated from protobuf field <code>optional double top_impression_percentage = 148;</code>
     */
    protected $top_impression_percentage = null;
    /**
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     *
     * Generated from protobuf field <code>optional double valid_accelerated_mobile_pages_clicks_percentage = 149;</code>
     */
    protected $valid_accelerated_mobile_pages_clicks_percentage = null;
    /**
     * The value of all conversions divided by the number of all conversions.
     *
     * Generated from protobuf field <code>optional double value_per_all_conversions = 150;</code>
     */
    protected $value_per_all_conversions = null;
    /**
     * The value of all conversions divided by the number of all conversions. When
     * this column is selected with date, the values in date column means the
     * conversion date. Details for the by_conversion_date columns are available
     * at https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>optional double value_per_all_conversions_by_conversion_date = 244;</code>
     */
    protected $value_per_all_conversions_by_conversion_date = null;
    /**
     * The value of conversions divided by the number of conversions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double value_per_conversion = 151;</code>
     */
    protected $value_per_conversion = null;
    /**
     * The value of conversions divided by the number of conversions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions. When this column is selected with
     * date, the values in date column means the conversion date. Details for the
     * by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>optional double value_per_conversions_by_conversion_date = 245;</code>
     */
    protected $value_per_conversions_by_conversion_date = null;
    /**
     * The value of current model attributed conversions divided by the number of
     * the conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double value_per_current_model_attributed_conversion = 152;</code>
     */
    protected $value_per_current_model_attributed_conversion = null;
    /**
     * Percentage of impressions where the viewer watched all of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p100_rate = 132;</code>
     */
    protected $video_quartile_p100_rate = null;
    /**
     * Percentage of impressions where the viewer watched 25% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p25_rate = 133;</code>
     */
    protected $video_quartile_p25_rate = null;
    /**
     * Percentage of impressions where the viewer watched 50% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p50_rate = 134;</code>
     */
    protected $video_quartile_p50_rate = null;
    /**
     * Percentage of impressions where the viewer watched 75% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p75_rate = 135;</code>
     */
    protected $video_quartile_p75_rate = null;
    /**
     * The number of views your TrueView video ad receives divided by its number
     * of impressions, including thumbnail impressions for TrueView in-display
     * ads.
     *
     * Generated from protobuf field <code>optional double video_view_rate = 153;</code>
     */
    protected $video_view_rate = null;
    /**
     * The number of times your video ads were viewed.
     *
     * Generated from protobuf field <code>optional int64 video_views = 154;</code>
     */
    protected $video_views = null;
    /**
     * The total number of view-through conversions.
     * These happen when a customer sees an image or rich media ad, then later
     * completes a conversion on your site without interacting with (e.g.,
     * clicking on) another ad.
     *
     * Generated from protobuf field <code>optional int64 view_through_conversions = 155;</code>
     */
    protected $view_through_conversions = null;
    /**
     * The number of iOS Store Kit Ad Network conversions.
     *
     * Generated from protobuf field <code>int64 sk_ad_network_conversions = 246;</code>
     */
    protected $sk_ad_network_conversions = 0;

    /**
     * Constructor.
     *
     * @param array $data {
     *     Optional. Data for populating the Message object.
     *
     *     @type float $absolute_top_impression_percentage
     *           The percent of your ad impressions that are shown as the very first ad
     *           above the organic search results.
     *     @type float $active_view_cpm
     *           Average cost of viewable impressions (`active_view_impressions`).
     *     @type float $active_view_ctr
     *           Active view measurable clicks divided by active view viewable impressions.
     *           This metric is reported only for display network.
     *     @type int|string $active_view_impressions
     *           A measurement of how often your ad has become viewable on a Display
     *           Network site.
     *     @type float $active_view_measurability
     *           The ratio of impressions that could be measured by Active View over the
     *           number of served impressions.
     *     @type int|string $active_view_measurable_cost_micros
     *           The cost of the impressions you received that were measurable by Active
     *           View.
     *     @type int|string $active_view_measurable_impressions
     *           The number of times your ads are appearing on placements in positions
     *           where they can be seen.
     *     @type float $active_view_viewability
     *           The percentage of time when your ad appeared on an Active View enabled site
     *           (measurable impressions) and was viewable (viewable impressions).
     *     @type float $all_conversions_from_interactions_rate
     *           All conversions from interactions (as oppose to view through conversions)
     *           divided by the number of ad interactions.
     *     @type float $all_conversions_value
     *           The value of all conversions.
     *     @type float $all_conversions_value_by_conversion_date
     *           The value of all conversions. When this column is selected with date, the
     *           values in date column means the conversion date. Details for the
     *           by_conversion_date columns are available at
     *           https://support.google.com/google-ads/answer/9549009.
     *     @type float $all_conversions
     *           The total number of conversions. This includes all conversions regardless
     *           of the value of include_in_conversions_metric.
     *     @type float $all_conversions_by_conversion_date
     *           The total number of conversions. This includes all conversions regardless
     *           of the value of include_in_conversions_metric. When this column is selected
     *           with date, the values in date column means the conversion date. Details for
     *           the by_conversion_date columns are available at
     *           https://support.google.com/google-ads/answer/9549009.
     *     @type float $all_conversions_value_per_cost
     *           The value of all conversions divided by the total cost of ad interactions
     *           (such as clicks for text ads or views for video ads).
     *     @type float $all_conversions_from_click_to_call
     *           The number of times people clicked the "Call" button to call a store during
     *           or after clicking an ad. This number doesn't include whether or not calls
     *           were connected, or the duration of any calls.
     *           This metric applies to feed items only.
     *     @type float $all_conversions_from_directions
     *           The number of times people clicked a "Get directions" button to navigate to
     *           a store after clicking an ad.
     *           This metric applies to feed items only.
     *     @type float $all_conversions_from_interactions_value_per_interaction
     *           The value of all conversions from interactions divided by the total number
     *           of interactions.
     *     @type float $all_conversions_from_menu
     *           The number of times people clicked a link to view a store's menu after
     *           clicking an ad.
     *           This metric applies to feed items only.
     *     @type float $all_conversions_from_order
     *           The number of times people placed an order at a store after clicking an ad.
     *           This metric applies to feed items only.
     *     @type float $all_conversions_from_other_engagement
     *           The number of other conversions (for example, posting a review or saving a
     *           location for a store) that occurred after people clicked an ad.
     *           This metric applies to feed items only.
     *     @type float $all_conversions_from_store_visit
     *           Estimated number of times people visited a store after clicking an ad.
     *           This metric applies to feed items only.
     *     @type float $all_conversions_from_store_website
     *           The number of times that people were taken to a store's URL after clicking
     *           an ad.
     *           This metric applies to feed items only.
     *     @type float $auction_insight_search_absolute_top_impression_percentage
     *           This metric is part of the Auction Insights report, and tells how often
     *           the ads of another participant showed as the very first ad above the
     *           organic search results.
     *           This percentage is computed only over the auctions that you appeared in
     *           the page.
     *           This metric is not publicly available.
     *     @type float $auction_insight_search_impression_share
     *           This metric is part of the Auction Insights report, and tells the
     *           percentage of impressions that another participant obtained, over the total
     *           number of impressions that your ads were eligible for.
     *           Any value below 0.1 is reported as 0.0999.
     *           This metric is not publicly available.
     *     @type float $auction_insight_search_outranking_share
     *           This metric is part of the Auction Insights report, and tells the
     *           percentage of impressions that your ads outranked (showed above)
     *           another participant in the auction, compared to the total number of
     *           impressions that your ads were eligible for.
     *           Any value below 0.1 is reported as 0.0999.
     *           This metric is not publicly available.
     *     @type float $auction_insight_search_overlap_rate
     *           This metric is part of the Auction Insights report, and tells how often
     *           another participant's ad received an impression when your ad also received
     *           an impression.
     *           This metric is not publicly available.
     *     @type float $auction_insight_search_position_above_rate
     *           This metric is part of the Auction Insights report, and tells how often
     *           another participant's ad was shown in a higher position than yours, when
     *           both of your ads were shown at the same page.
     *           This metric is not publicly available.
     *     @type float $auction_insight_search_top_impression_percentage
     *           This metric is part of the Auction Insights report, and tells how often
     *           the ads of another participant showed above the organic search results.
     *           This percentage is computed only over the auctions that you appeared in
     *           the page.
     *           This metric is not publicly available.
     *     @type float $average_cost
     *           The average amount you pay per interaction. This amount is the total cost
     *           of your ads divided by the total number of interactions.
     *     @type float $average_cpc
     *           The total cost of all clicks divided by the total number of clicks
     *           received.
     *     @type float $average_cpe
     *           The average amount that you've been charged for an ad engagement. This
     *           amount is the total cost of all ad engagements divided by the total number
     *           of ad engagements.
     *     @type float $average_cpm
     *           Average cost-per-thousand impressions (CPM).
     *     @type float $average_cpv
     *           The average amount you pay each time someone views your ad.
     *           The average CPV is defined by the total cost of all ad views divided by
     *           the number of views.
     *     @type float $average_page_views
     *           Average number of pages viewed per session.
     *     @type float $average_time_on_site
     *           Total duration of all sessions (in seconds) / number of sessions. Imported
     *           from Google Analytics.
     *     @type float $benchmark_average_max_cpc
     *           An indication of how other advertisers are bidding on similar products.
     *     @type float $biddable_app_install_conversions
     *           Number of app installs.
     *     @type float $biddable_app_post_install_conversions
     *           Number of in-app actions.
     *     @type float $benchmark_ctr
     *           An indication on how other advertisers' Shopping ads for similar products
     *           are performing based on how often people who see their ad click on it.
     *     @type float $bounce_rate
     *           Percentage of clicks where the user only visited a single page on your
     *           site. Imported from Google Analytics.
     *     @type int|string $clicks
     *           The number of clicks.
     *     @type int|string $combined_clicks
     *           The number of times your ad or your site's listing in the unpaid
     *           results was clicked. See the help page at
     *           https://support.google.com/google-ads/answer/3097241 for details.
     *     @type float $combined_clicks_per_query
     *           The number of times your ad or your site's listing in the unpaid
     *           results was clicked (combined_clicks) divided by combined_queries. See the
     *           help page at https://support.google.com/google-ads/answer/3097241 for
     *           details.
     *     @type int|string $combined_queries
     *           The number of searches that returned pages from your site in the unpaid
     *           results or showed one of your text ads. See the help page at
     *           https://support.google.com/google-ads/answer/3097241 for details.
     *     @type float $content_budget_lost_impression_share
     *           The estimated percent of times that your ad was eligible to show
     *           on the Display Network but didn't because your budget was too low.
     *           Note: Content budget lost impression share is reported in the range of 0
     *           to 0.9. Any value above 0.9 is reported as 0.9001.
     *     @type float $content_impression_share
     *           The impressions you've received on the Display Network divided
     *           by the estimated number of impressions you were eligible to receive.
     *           Note: Content impression share is reported in the range of 0.1 to 1. Any
     *           value below 0.1 is reported as 0.0999.
     *     @type string $conversion_last_received_request_date_time
     *           The last date/time a conversion tag for this conversion action successfully
     *           fired and was seen by Google Ads. This firing event may not have been the
     *           result of an attributable conversion (e.g. because the tag was fired from a
     *           browser that did not previously click an ad from an appropriate
     *           advertiser). The date/time is in the customer's time zone.
     *     @type string $conversion_last_conversion_date
     *           The date of the most recent conversion for this conversion action. The date
     *           is in the customer's time zone.
     *     @type float $content_rank_lost_impression_share
     *           The estimated percentage of impressions on the Display Network
     *           that your ads didn't receive due to poor Ad Rank.
     *           Note: Content rank lost impression share is reported in the range of 0
     *           to 0.9. Any value above 0.9 is reported as 0.9001.
     *     @type float $conversions_from_interactions_rate
     *           Conversions from interactions divided by the number of ad interactions
     *           (such as clicks for text ads or views for video ads). This only includes
     *           conversion actions which include_in_conversions_metric attribute is set to
     *           true. If you use conversion-based bidding, your bid strategies will
     *           optimize for these conversions.
     *     @type float $conversions_value
     *           The value of conversions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $conversions_value_by_conversion_date
     *           The value of conversions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions. When this column is selected with date, the values in date
     *           column means the conversion date. Details for the by_conversion_date
     *           columns are available at
     *           https://support.google.com/google-ads/answer/9549009.
     *     @type float $conversions_value_per_cost
     *           The value of conversions divided by the cost of ad interactions. This only
     *           includes conversion actions which include_in_conversions_metric attribute
     *           is set to true. If you use conversion-based bidding, your bid strategies
     *           will optimize for these conversions.
     *     @type float $conversions_from_interactions_value_per_interaction
     *           The value of conversions from interactions divided by the number of ad
     *           interactions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $conversions
     *           The number of conversions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $conversions_by_conversion_date
     *           The number of conversions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions. When this column is selected with date, the values in date
     *           column means the conversion date. Details for the by_conversion_date
     *           columns are available at
     *           https://support.google.com/google-ads/answer/9549009.
     *     @type int|string $cost_micros
     *           The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     *           (CPM) costs during this period.
     *     @type float $cost_per_all_conversions
     *           The cost of ad interactions divided by all conversions.
     *     @type float $cost_per_conversion
     *           The cost of ad interactions divided by conversions. This only includes
     *           conversion actions which include_in_conversions_metric attribute is set to
     *           true. If you use conversion-based bidding, your bid strategies will
     *           optimize for these conversions.
     *     @type float $cost_per_current_model_attributed_conversion
     *           The cost of ad interactions divided by current model attributed
     *           conversions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $cross_device_conversions
     *           Conversions from when a customer clicks on a Google Ads ad on one device,
     *           then converts on a different device or browser.
     *           Cross-device conversions are already included in all_conversions.
     *     @type float $ctr
     *           The number of clicks your ad receives (Clicks) divided by the number
     *           of times your ad is shown (Impressions).
     *     @type float $current_model_attributed_conversions
     *           Shows how your historic conversions data would look under the attribution
     *           model you've currently selected. This only includes conversion actions
     *           which include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $current_model_attributed_conversions_from_interactions_rate
     *           Current model attributed conversions from interactions divided by the
     *           number of ad interactions (such as clicks for text ads or views for video
     *           ads). This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $current_model_attributed_conversions_from_interactions_value_per_interaction
     *           The value of current model attributed conversions from interactions divided
     *           by the number of ad interactions. This only includes conversion actions
     *           which include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $current_model_attributed_conversions_value
     *           The value of current model attributed conversions. This only includes
     *           conversion actions which include_in_conversions_metric attribute is set to
     *           true. If you use conversion-based bidding, your bid strategies will
     *           optimize for these conversions.
     *     @type float $current_model_attributed_conversions_value_per_cost
     *           The value of current model attributed conversions divided by the cost of ad
     *           interactions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $engagement_rate
     *           How often people engage with your ad after it's shown to them. This is the
     *           number of ad expansions divided by the number of times your ad is shown.
     *     @type int|string $engagements
     *           The number of engagements.
     *           An engagement occurs when a viewer expands your Lightbox ad. Also, in the
     *           future, other ad types may support engagement metrics.
     *     @type float $hotel_average_lead_value_micros
     *           Average lead value based on clicks.
     *     @type int|string $hotel_commission_rate_micros
     *           Commission bid rate in micros. A 20% commission is represented as
     *           200,000.
     *     @type float $hotel_expected_commission_cost
     *           Expected commission cost. The result of multiplying the commission value
     *           times the hotel_commission_rate in advertiser currency.
     *     @type float $hotel_price_difference_percentage
     *           The average price difference between the price offered by reporting hotel
     *           advertiser and the cheapest price offered by the competing advertiser.
     *     @type int|string $hotel_eligible_impressions
     *           The number of impressions that hotel partners could have had given their
     *           feed performance.
     *     @type int $historical_creative_quality_score
     *           The creative historical quality score.
     *     @type int $historical_landing_page_quality_score
     *           The quality of historical landing page experience.
     *     @type int|string $historical_quality_score
     *           The historical quality score.
     *     @type int $historical_search_predicted_ctr
     *           The historical search predicted click through rate (CTR).
     *     @type int|string $gmail_forwards
     *           The number of times the ad was forwarded to someone else as a message.
     *     @type int|string $gmail_saves
     *           The number of times someone has saved your Gmail ad to their inbox as a
     *           message.
     *     @type int|string $gmail_secondary_clicks
     *           The number of clicks to the landing page on the expanded state of Gmail
     *           ads.
     *     @type int|string $impressions_from_store_reach
     *           The number of times a store's location-based ad was shown.
     *           This metric applies to feed items only.
     *     @type int|string $impressions
     *           Count of how often your ad has appeared on a search results page or
     *           website on the Google Network.
     *     @type float $interaction_rate
     *           How often people interact with your ad after it is shown to them.
     *           This is the number of interactions divided by the number of times your ad
     *           is shown.
     *     @type int|string $interactions
     *           The number of interactions.
     *           An interaction is the main user action associated with an ad format-clicks
     *           for text and shopping ads, views for video ads, and so on.
     *     @type int[]|\Google\Protobuf\Internal\RepeatedField $interaction_event_types
     *           The types of payable and free interactions.
     *     @type float $invalid_click_rate
     *           The percentage of clicks filtered out of your total number of clicks
     *           (filtered + non-filtered clicks) during the reporting period.
     *     @type int|string $invalid_clicks
     *           Number of clicks Google considers illegitimate and doesn't charge you for.
     *     @type int|string $message_chats
     *           Number of message chats initiated for Click To Message impressions that
     *           were message tracking eligible.
     *     @type int|string $message_impressions
     *           Number of Click To Message impressions that were message tracking eligible.
     *     @type float $message_chat_rate
     *           Number of message chats initiated (message_chats) divided by the number
     *           of message impressions (message_impressions).
     *           Rate at which a user initiates a message chat from an ad impression with
     *           a messaging option and message tracking enabled.
     *           Note that this rate can be more than 1.0 for a given message impression.
     *     @type float $mobile_friendly_clicks_percentage
     *           The percentage of mobile clicks that go to a mobile-friendly page.
     *     @type float $optimization_score_uplift
     *           Total optimization score uplift of all recommendations.
     *     @type string $optimization_score_url
     *           URL for the optimization score page in the Google Ads web interface.
     *           This metric can be selected from `customer` or `campaign`, and can be
     *           segmented by `segments.recommendation_type`. For example, `SELECT
     *           metrics.optimization_score_url, segments.recommendation_type FROM
     *           customer` will return a URL for each unique (customer, recommendation_type)
     *           combination.
     *     @type int|string $organic_clicks
     *           The number of times someone clicked your site's listing in the unpaid
     *           results for a particular query. See the help page at
     *           https://support.google.com/google-ads/answer/3097241 for details.
     *     @type float $organic_clicks_per_query
     *           The number of times someone clicked your site's listing in the unpaid
     *           results (organic_clicks) divided by the total number of searches that
     *           returned pages from your site (organic_queries). See the help page at
     *           https://support.google.com/google-ads/answer/3097241 for details.
     *     @type int|string $organic_impressions
     *           The number of listings for your site in the unpaid search results. See the
     *           help page at https://support.google.com/google-ads/answer/3097241 for
     *           details.
     *     @type float $organic_impressions_per_query
     *           The number of times a page from your site was listed in the unpaid search
     *           results (organic_impressions) divided by the number of searches returning
     *           your site's listing in the unpaid results (organic_queries). See the help
     *           page at https://support.google.com/google-ads/answer/3097241 for details.
     *     @type int|string $organic_queries
     *           The total number of searches that returned your site's listing in the
     *           unpaid results. See the help page at
     *           https://support.google.com/google-ads/answer/3097241 for details.
     *     @type float $percent_new_visitors
     *           Percentage of first-time sessions (from people who had never visited your
     *           site before). Imported from Google Analytics.
     *     @type int|string $phone_calls
     *           Number of offline phone calls.
     *     @type int|string $phone_impressions
     *           Number of offline phone impressions.
     *     @type float $phone_through_rate
     *           Number of phone calls received (phone_calls) divided by the number of
     *           times your phone number is shown (phone_impressions).
     *     @type float $relative_ctr
     *           Your clickthrough rate (Ctr) divided by the average clickthrough rate of
     *           all advertisers on the websites that show your ads. Measures how your ads
     *           perform on Display Network sites compared to other ads on the same sites.
     *     @type float $search_absolute_top_impression_share
     *           The percentage of the customer's Shopping or Search ad impressions that are
     *           shown in the most prominent Shopping position. See
     *           https://support.google.com/google-ads/answer/7501826
     *           for details. Any value below 0.1 is reported as 0.0999.
     *     @type float $search_budget_lost_absolute_top_impression_share
     *           The number estimating how often your ad wasn't the very first ad above the
     *           organic search results due to a low budget. Note: Search
     *           budget lost absolute top impression share is reported in the range of 0 to
     *           0.9. Any value above 0.9 is reported as 0.9001.
     *     @type float $search_budget_lost_impression_share
     *           The estimated percent of times that your ad was eligible to show on the
     *           Search Network but didn't because your budget was too low. Note: Search
     *           budget lost impression share is reported in the range of 0 to 0.9. Any
     *           value above 0.9 is reported as 0.9001.
     *     @type float $search_budget_lost_top_impression_share
     *           The number estimating how often your ad didn't show anywhere above the
     *           organic search results due to a low budget. Note: Search
     *           budget lost top impression share is reported in the range of 0 to 0.9. Any
     *           value above 0.9 is reported as 0.9001.
     *     @type float $search_click_share
     *           The number of clicks you've received on the Search Network
     *           divided by the estimated number of clicks you were eligible to receive.
     *           Note: Search click share is reported in the range of 0.1 to 1. Any value
     *           below 0.1 is reported as 0.0999.
     *     @type float $search_exact_match_impression_share
     *           The impressions you've received divided by the estimated number of
     *           impressions you were eligible to receive on the Search Network for search
     *           terms that matched your keywords exactly (or were close variants of your
     *           keyword), regardless of your keyword match types. Note: Search exact match
     *           impression share is reported in the range of 0.1 to 1. Any value below 0.1
     *           is reported as 0.0999.
     *     @type float $search_impression_share
     *           The impressions you've received on the Search Network divided
     *           by the estimated number of impressions you were eligible to receive.
     *           Note: Search impression share is reported in the range of 0.1 to 1. Any
     *           value below 0.1 is reported as 0.0999.
     *     @type float $search_rank_lost_absolute_top_impression_share
     *           The number estimating how often your ad wasn't the very first ad above the
     *           organic search results due to poor Ad Rank.
     *           Note: Search rank lost absolute top impression share is reported in the
     *           range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
     *     @type float $search_rank_lost_impression_share
     *           The estimated percentage of impressions on the Search Network
     *           that your ads didn't receive due to poor Ad Rank.
     *           Note: Search rank lost impression share is reported in the range of 0 to
     *           0.9. Any value above 0.9 is reported as 0.9001.
     *     @type float $search_rank_lost_top_impression_share
     *           The number estimating how often your ad didn't show anywhere above the
     *           organic search results due to poor Ad Rank.
     *           Note: Search rank lost top impression share is reported in the range of 0
     *           to 0.9. Any value above 0.9 is reported as 0.9001.
     *     @type float $search_top_impression_share
     *           The impressions you've received in the top location (anywhere above the
     *           organic search results) compared to the estimated number of impressions you
     *           were eligible to receive in the top location.
     *           Note: Search top impression share is reported in the range of 0.1 to 1. Any
     *           value below 0.1 is reported as 0.0999.
     *     @type int|string $speed_score
     *           A measure of how quickly your page loads after clicks on your mobile ads.
     *           The score is a range from 1 to 10, 10 being the fastest.
     *     @type float $top_impression_percentage
     *           The percent of your ad impressions that are shown anywhere above the
     *           organic search results.
     *     @type float $valid_accelerated_mobile_pages_clicks_percentage
     *           The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     *           that reach a valid AMP page.
     *     @type float $value_per_all_conversions
     *           The value of all conversions divided by the number of all conversions.
     *     @type float $value_per_all_conversions_by_conversion_date
     *           The value of all conversions divided by the number of all conversions. When
     *           this column is selected with date, the values in date column means the
     *           conversion date. Details for the by_conversion_date columns are available
     *           at https://support.google.com/google-ads/answer/9549009.
     *     @type float $value_per_conversion
     *           The value of conversions divided by the number of conversions. This only
     *           includes conversion actions which include_in_conversions_metric attribute
     *           is set to true. If you use conversion-based bidding, your bid strategies
     *           will optimize for these conversions.
     *     @type float $value_per_conversions_by_conversion_date
     *           The value of conversions divided by the number of conversions. This only
     *           includes conversion actions which include_in_conversions_metric attribute
     *           is set to true. If you use conversion-based bidding, your bid strategies
     *           will optimize for these conversions. When this column is selected with
     *           date, the values in date column means the conversion date. Details for the
     *           by_conversion_date columns are available at
     *           https://support.google.com/google-ads/answer/9549009.
     *     @type float $value_per_current_model_attributed_conversion
     *           The value of current model attributed conversions divided by the number of
     *           the conversions. This only includes conversion actions which
     *           include_in_conversions_metric attribute is set to true. If you use
     *           conversion-based bidding, your bid strategies will optimize for these
     *           conversions.
     *     @type float $video_quartile_p100_rate
     *           Percentage of impressions where the viewer watched all of your video.
     *     @type float $video_quartile_p25_rate
     *           Percentage of impressions where the viewer watched 25% of your video.
     *     @type float $video_quartile_p50_rate
     *           Percentage of impressions where the viewer watched 50% of your video.
     *     @type float $video_quartile_p75_rate
     *           Percentage of impressions where the viewer watched 75% of your video.
     *     @type float $video_view_rate
     *           The number of views your TrueView video ad receives divided by its number
     *           of impressions, including thumbnail impressions for TrueView in-display
     *           ads.
     *     @type int|string $video_views
     *           The number of times your video ads were viewed.
     *     @type int|string $view_through_conversions
     *           The total number of view-through conversions.
     *           These happen when a customer sees an image or rich media ad, then later
     *           completes a conversion on your site without interacting with (e.g.,
     *           clicking on) another ad.
     *     @type int|string $sk_ad_network_conversions
     *           The number of iOS Store Kit Ad Network conversions.
     * }
     */
    public function __construct($data = NULL) {
        \GPBMetadata\Google\Ads\GoogleAds\V11\Common\Metrics::initOnce();
        parent::__construct($data);
    }

    /**
     * The percent of your ad impressions that are shown as the very first ad
     * above the organic search results.
     *
     * Generated from protobuf field <code>optional double absolute_top_impression_percentage = 183;</code>
     * @return float
     */
    public function getAbsoluteTopImpressionPercentage()
    {
        return isset($this->absolute_top_impression_percentage) ? $this->absolute_top_impression_percentage : 0.0;
    }

    public function hasAbsoluteTopImpressionPercentage()
    {
        return isset($this->absolute_top_impression_percentage);
    }

    public function clearAbsoluteTopImpressionPercentage()
    {
        unset($this->absolute_top_impression_percentage);
    }

    /**
     * The percent of your ad impressions that are shown as the very first ad
     * above the organic search results.
     *
     * Generated from protobuf field <code>optional double absolute_top_impression_percentage = 183;</code>
     * @param float $var
     * @return $this
     */
    public function setAbsoluteTopImpressionPercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->absolute_top_impression_percentage = $var;

        return $this;
    }

    /**
     * Average cost of viewable impressions (`active_view_impressions`).
     *
     * Generated from protobuf field <code>optional double active_view_cpm = 184;</code>
     * @return float
     */
    public function getActiveViewCpm()
    {
        return isset($this->active_view_cpm) ? $this->active_view_cpm : 0.0;
    }

    public function hasActiveViewCpm()
    {
        return isset($this->active_view_cpm);
    }

    public function clearActiveViewCpm()
    {
        unset($this->active_view_cpm);
    }

    /**
     * Average cost of viewable impressions (`active_view_impressions`).
     *
     * Generated from protobuf field <code>optional double active_view_cpm = 184;</code>
     * @param float $var
     * @return $this
     */
    public function setActiveViewCpm($var)
    {
        GPBUtil::checkDouble($var);
        $this->active_view_cpm = $var;

        return $this;
    }

    /**
     * Active view measurable clicks divided by active view viewable impressions.
     * This metric is reported only for display network.
     *
     * Generated from protobuf field <code>optional double active_view_ctr = 185;</code>
     * @return float
     */
    public function getActiveViewCtr()
    {
        return isset($this->active_view_ctr) ? $this->active_view_ctr : 0.0;
    }

    public function hasActiveViewCtr()
    {
        return isset($this->active_view_ctr);
    }

    public function clearActiveViewCtr()
    {
        unset($this->active_view_ctr);
    }

    /**
     * Active view measurable clicks divided by active view viewable impressions.
     * This metric is reported only for display network.
     *
     * Generated from protobuf field <code>optional double active_view_ctr = 185;</code>
     * @param float $var
     * @return $this
     */
    public function setActiveViewCtr($var)
    {
        GPBUtil::checkDouble($var);
        $this->active_view_ctr = $var;

        return $this;
    }

    /**
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     *
     * Generated from protobuf field <code>optional int64 active_view_impressions = 186;</code>
     * @return int|string
     */
    public function getActiveViewImpressions()
    {
        return isset($this->active_view_impressions) ? $this->active_view_impressions : 0;
    }

    public function hasActiveViewImpressions()
    {
        return isset($this->active_view_impressions);
    }

    public function clearActiveViewImpressions()
    {
        unset($this->active_view_impressions);
    }

    /**
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     *
     * Generated from protobuf field <code>optional int64 active_view_impressions = 186;</code>
     * @param int|string $var
     * @return $this
     */
    public function setActiveViewImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->active_view_impressions = $var;

        return $this;
    }

    /**
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     *
     * Generated from protobuf field <code>optional double active_view_measurability = 187;</code>
     * @return float
     */
    public function getActiveViewMeasurability()
    {
        return isset($this->active_view_measurability) ? $this->active_view_measurability : 0.0;
    }

    public function hasActiveViewMeasurability()
    {
        return isset($this->active_view_measurability);
    }

    public function clearActiveViewMeasurability()
    {
        unset($this->active_view_measurability);
    }

    /**
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     *
     * Generated from protobuf field <code>optional double active_view_measurability = 187;</code>
     * @param float $var
     * @return $this
     */
    public function setActiveViewMeasurability($var)
    {
        GPBUtil::checkDouble($var);
        $this->active_view_measurability = $var;

        return $this;
    }

    /**
     * The cost of the impressions you received that were measurable by Active
     * View.
     *
     * Generated from protobuf field <code>optional int64 active_view_measurable_cost_micros = 188;</code>
     * @return int|string
     */
    public function getActiveViewMeasurableCostMicros()
    {
        return isset($this->active_view_measurable_cost_micros) ? $this->active_view_measurable_cost_micros : 0;
    }

    public function hasActiveViewMeasurableCostMicros()
    {
        return isset($this->active_view_measurable_cost_micros);
    }

    public function clearActiveViewMeasurableCostMicros()
    {
        unset($this->active_view_measurable_cost_micros);
    }

    /**
     * The cost of the impressions you received that were measurable by Active
     * View.
     *
     * Generated from protobuf field <code>optional int64 active_view_measurable_cost_micros = 188;</code>
     * @param int|string $var
     * @return $this
     */
    public function setActiveViewMeasurableCostMicros($var)
    {
        GPBUtil::checkInt64($var);
        $this->active_view_measurable_cost_micros = $var;

        return $this;
    }

    /**
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     *
     * Generated from protobuf field <code>optional int64 active_view_measurable_impressions = 189;</code>
     * @return int|string
     */
    public function getActiveViewMeasurableImpressions()
    {
        return isset($this->active_view_measurable_impressions) ? $this->active_view_measurable_impressions : 0;
    }

    public function hasActiveViewMeasurableImpressions()
    {
        return isset($this->active_view_measurable_impressions);
    }

    public function clearActiveViewMeasurableImpressions()
    {
        unset($this->active_view_measurable_impressions);
    }

    /**
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     *
     * Generated from protobuf field <code>optional int64 active_view_measurable_impressions = 189;</code>
     * @param int|string $var
     * @return $this
     */
    public function setActiveViewMeasurableImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->active_view_measurable_impressions = $var;

        return $this;
    }

    /**
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     *
     * Generated from protobuf field <code>optional double active_view_viewability = 190;</code>
     * @return float
     */
    public function getActiveViewViewability()
    {
        return isset($this->active_view_viewability) ? $this->active_view_viewability : 0.0;
    }

    public function hasActiveViewViewability()
    {
        return isset($this->active_view_viewability);
    }

    public function clearActiveViewViewability()
    {
        unset($this->active_view_viewability);
    }

    /**
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     *
     * Generated from protobuf field <code>optional double active_view_viewability = 190;</code>
     * @param float $var
     * @return $this
     */
    public function setActiveViewViewability($var)
    {
        GPBUtil::checkDouble($var);
        $this->active_view_viewability = $var;

        return $this;
    }

    /**
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_interactions_rate = 191;</code>
     * @return float
     */
    public function getAllConversionsFromInteractionsRate()
    {
        return isset($this->all_conversions_from_interactions_rate) ? $this->all_conversions_from_interactions_rate : 0.0;
    }

    public function hasAllConversionsFromInteractionsRate()
    {
        return isset($this->all_conversions_from_interactions_rate);
    }

    public function clearAllConversionsFromInteractionsRate()
    {
        unset($this->all_conversions_from_interactions_rate);
    }

    /**
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_interactions_rate = 191;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromInteractionsRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_interactions_rate = $var;

        return $this;
    }

    /**
     * The value of all conversions.
     *
     * Generated from protobuf field <code>optional double all_conversions_value = 192;</code>
     * @return float
     */
    public function getAllConversionsValue()
    {
        return isset($this->all_conversions_value) ? $this->all_conversions_value : 0.0;
    }

    public function hasAllConversionsValue()
    {
        return isset($this->all_conversions_value);
    }

    public function clearAllConversionsValue()
    {
        unset($this->all_conversions_value);
    }

    /**
     * The value of all conversions.
     *
     * Generated from protobuf field <code>optional double all_conversions_value = 192;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsValue($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_value = $var;

        return $this;
    }

    /**
     * The value of all conversions. When this column is selected with date, the
     * values in date column means the conversion date. Details for the
     * by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double all_conversions_value_by_conversion_date = 240;</code>
     * @return float
     */
    public function getAllConversionsValueByConversionDate()
    {
        return $this->all_conversions_value_by_conversion_date;
    }

    /**
     * The value of all conversions. When this column is selected with date, the
     * values in date column means the conversion date. Details for the
     * by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double all_conversions_value_by_conversion_date = 240;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsValueByConversionDate($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_value_by_conversion_date = $var;

        return $this;
    }

    /**
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     *
     * Generated from protobuf field <code>optional double all_conversions = 193;</code>
     * @return float
     */
    public function getAllConversions()
    {
        return isset($this->all_conversions) ? $this->all_conversions : 0.0;
    }

    public function hasAllConversions()
    {
        return isset($this->all_conversions);
    }

    public function clearAllConversions()
    {
        unset($this->all_conversions);
    }

    /**
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     *
     * Generated from protobuf field <code>optional double all_conversions = 193;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions = $var;

        return $this;
    }

    /**
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric. When this column is selected
     * with date, the values in date column means the conversion date. Details for
     * the by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double all_conversions_by_conversion_date = 241;</code>
     * @return float
     */
    public function getAllConversionsByConversionDate()
    {
        return $this->all_conversions_by_conversion_date;
    }

    /**
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric. When this column is selected
     * with date, the values in date column means the conversion date. Details for
     * the by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double all_conversions_by_conversion_date = 241;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsByConversionDate($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_by_conversion_date = $var;

        return $this;
    }

    /**
     * The value of all conversions divided by the total cost of ad interactions
     * (such as clicks for text ads or views for video ads).
     *
     * Generated from protobuf field <code>optional double all_conversions_value_per_cost = 194;</code>
     * @return float
     */
    public function getAllConversionsValuePerCost()
    {
        return isset($this->all_conversions_value_per_cost) ? $this->all_conversions_value_per_cost : 0.0;
    }

    public function hasAllConversionsValuePerCost()
    {
        return isset($this->all_conversions_value_per_cost);
    }

    public function clearAllConversionsValuePerCost()
    {
        unset($this->all_conversions_value_per_cost);
    }

    /**
     * The value of all conversions divided by the total cost of ad interactions
     * (such as clicks for text ads or views for video ads).
     *
     * Generated from protobuf field <code>optional double all_conversions_value_per_cost = 194;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsValuePerCost($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_value_per_cost = $var;

        return $this;
    }

    /**
     * The number of times people clicked the "Call" button to call a store during
     * or after clicking an ad. This number doesn't include whether or not calls
     * were connected, or the duration of any calls.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_click_to_call = 195;</code>
     * @return float
     */
    public function getAllConversionsFromClickToCall()
    {
        return isset($this->all_conversions_from_click_to_call) ? $this->all_conversions_from_click_to_call : 0.0;
    }

    public function hasAllConversionsFromClickToCall()
    {
        return isset($this->all_conversions_from_click_to_call);
    }

    public function clearAllConversionsFromClickToCall()
    {
        unset($this->all_conversions_from_click_to_call);
    }

    /**
     * The number of times people clicked the "Call" button to call a store during
     * or after clicking an ad. This number doesn't include whether or not calls
     * were connected, or the duration of any calls.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_click_to_call = 195;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromClickToCall($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_click_to_call = $var;

        return $this;
    }

    /**
     * The number of times people clicked a "Get directions" button to navigate to
     * a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_directions = 196;</code>
     * @return float
     */
    public function getAllConversionsFromDirections()
    {
        return isset($this->all_conversions_from_directions) ? $this->all_conversions_from_directions : 0.0;
    }

    public function hasAllConversionsFromDirections()
    {
        return isset($this->all_conversions_from_directions);
    }

    public function clearAllConversionsFromDirections()
    {
        unset($this->all_conversions_from_directions);
    }

    /**
     * The number of times people clicked a "Get directions" button to navigate to
     * a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_directions = 196;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromDirections($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_directions = $var;

        return $this;
    }

    /**
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_interactions_value_per_interaction = 197;</code>
     * @return float
     */
    public function getAllConversionsFromInteractionsValuePerInteraction()
    {
        return isset($this->all_conversions_from_interactions_value_per_interaction) ? $this->all_conversions_from_interactions_value_per_interaction : 0.0;
    }

    public function hasAllConversionsFromInteractionsValuePerInteraction()
    {
        return isset($this->all_conversions_from_interactions_value_per_interaction);
    }

    public function clearAllConversionsFromInteractionsValuePerInteraction()
    {
        unset($this->all_conversions_from_interactions_value_per_interaction);
    }

    /**
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_interactions_value_per_interaction = 197;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromInteractionsValuePerInteraction($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_interactions_value_per_interaction = $var;

        return $this;
    }

    /**
     * The number of times people clicked a link to view a store's menu after
     * clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_menu = 198;</code>
     * @return float
     */
    public function getAllConversionsFromMenu()
    {
        return isset($this->all_conversions_from_menu) ? $this->all_conversions_from_menu : 0.0;
    }

    public function hasAllConversionsFromMenu()
    {
        return isset($this->all_conversions_from_menu);
    }

    public function clearAllConversionsFromMenu()
    {
        unset($this->all_conversions_from_menu);
    }

    /**
     * The number of times people clicked a link to view a store's menu after
     * clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_menu = 198;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromMenu($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_menu = $var;

        return $this;
    }

    /**
     * The number of times people placed an order at a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_order = 199;</code>
     * @return float
     */
    public function getAllConversionsFromOrder()
    {
        return isset($this->all_conversions_from_order) ? $this->all_conversions_from_order : 0.0;
    }

    public function hasAllConversionsFromOrder()
    {
        return isset($this->all_conversions_from_order);
    }

    public function clearAllConversionsFromOrder()
    {
        unset($this->all_conversions_from_order);
    }

    /**
     * The number of times people placed an order at a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_order = 199;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromOrder($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_order = $var;

        return $this;
    }

    /**
     * The number of other conversions (for example, posting a review or saving a
     * location for a store) that occurred after people clicked an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_other_engagement = 200;</code>
     * @return float
     */
    public function getAllConversionsFromOtherEngagement()
    {
        return isset($this->all_conversions_from_other_engagement) ? $this->all_conversions_from_other_engagement : 0.0;
    }

    public function hasAllConversionsFromOtherEngagement()
    {
        return isset($this->all_conversions_from_other_engagement);
    }

    public function clearAllConversionsFromOtherEngagement()
    {
        unset($this->all_conversions_from_other_engagement);
    }

    /**
     * The number of other conversions (for example, posting a review or saving a
     * location for a store) that occurred after people clicked an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_other_engagement = 200;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromOtherEngagement($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_other_engagement = $var;

        return $this;
    }

    /**
     * Estimated number of times people visited a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_store_visit = 201;</code>
     * @return float
     */
    public function getAllConversionsFromStoreVisit()
    {
        return isset($this->all_conversions_from_store_visit) ? $this->all_conversions_from_store_visit : 0.0;
    }

    public function hasAllConversionsFromStoreVisit()
    {
        return isset($this->all_conversions_from_store_visit);
    }

    public function clearAllConversionsFromStoreVisit()
    {
        unset($this->all_conversions_from_store_visit);
    }

    /**
     * Estimated number of times people visited a store after clicking an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_store_visit = 201;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromStoreVisit($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_store_visit = $var;

        return $this;
    }

    /**
     * The number of times that people were taken to a store's URL after clicking
     * an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_store_website = 202;</code>
     * @return float
     */
    public function getAllConversionsFromStoreWebsite()
    {
        return isset($this->all_conversions_from_store_website) ? $this->all_conversions_from_store_website : 0.0;
    }

    public function hasAllConversionsFromStoreWebsite()
    {
        return isset($this->all_conversions_from_store_website);
    }

    public function clearAllConversionsFromStoreWebsite()
    {
        unset($this->all_conversions_from_store_website);
    }

    /**
     * The number of times that people were taken to a store's URL after clicking
     * an ad.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional double all_conversions_from_store_website = 202;</code>
     * @param float $var
     * @return $this
     */
    public function setAllConversionsFromStoreWebsite($var)
    {
        GPBUtil::checkDouble($var);
        $this->all_conversions_from_store_website = $var;

        return $this;
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed as the very first ad above the
     * organic search results.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_absolute_top_impression_percentage = 258;</code>
     * @return float
     */
    public function getAuctionInsightSearchAbsoluteTopImpressionPercentage()
    {
        return isset($this->auction_insight_search_absolute_top_impression_percentage) ? $this->auction_insight_search_absolute_top_impression_percentage : 0.0;
    }

    public function hasAuctionInsightSearchAbsoluteTopImpressionPercentage()
    {
        return isset($this->auction_insight_search_absolute_top_impression_percentage);
    }

    public function clearAuctionInsightSearchAbsoluteTopImpressionPercentage()
    {
        unset($this->auction_insight_search_absolute_top_impression_percentage);
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed as the very first ad above the
     * organic search results.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_absolute_top_impression_percentage = 258;</code>
     * @param float $var
     * @return $this
     */
    public function setAuctionInsightSearchAbsoluteTopImpressionPercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->auction_insight_search_absolute_top_impression_percentage = $var;

        return $this;
    }

    /**
     * This metric is part of the Auction Insights report, and tells the
     * percentage of impressions that another participant obtained, over the total
     * number of impressions that your ads were eligible for.
     * Any value below 0.1 is reported as 0.0999.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_impression_share = 259;</code>
     * @return float
     */
    public function getAuctionInsightSearchImpressionShare()
    {
        return isset($this->auction_insight_search_impression_share) ? $this->auction_insight_search_impression_share : 0.0;
    }

    public function hasAuctionInsightSearchImpressionShare()
    {
        return isset($this->auction_insight_search_impression_share);
    }

    public function clearAuctionInsightSearchImpressionShare()
    {
        unset($this->auction_insight_search_impression_share);
    }

    /**
     * This metric is part of the Auction Insights report, and tells the
     * percentage of impressions that another participant obtained, over the total
     * number of impressions that your ads were eligible for.
     * Any value below 0.1 is reported as 0.0999.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_impression_share = 259;</code>
     * @param float $var
     * @return $this
     */
    public function setAuctionInsightSearchImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->auction_insight_search_impression_share = $var;

        return $this;
    }

    /**
     * This metric is part of the Auction Insights report, and tells the
     * percentage of impressions that your ads outranked (showed above)
     * another participant in the auction, compared to the total number of
     * impressions that your ads were eligible for.
     * Any value below 0.1 is reported as 0.0999.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_outranking_share = 260;</code>
     * @return float
     */
    public function getAuctionInsightSearchOutrankingShare()
    {
        return isset($this->auction_insight_search_outranking_share) ? $this->auction_insight_search_outranking_share : 0.0;
    }

    public function hasAuctionInsightSearchOutrankingShare()
    {
        return isset($this->auction_insight_search_outranking_share);
    }

    public function clearAuctionInsightSearchOutrankingShare()
    {
        unset($this->auction_insight_search_outranking_share);
    }

    /**
     * This metric is part of the Auction Insights report, and tells the
     * percentage of impressions that your ads outranked (showed above)
     * another participant in the auction, compared to the total number of
     * impressions that your ads were eligible for.
     * Any value below 0.1 is reported as 0.0999.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_outranking_share = 260;</code>
     * @param float $var
     * @return $this
     */
    public function setAuctionInsightSearchOutrankingShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->auction_insight_search_outranking_share = $var;

        return $this;
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * another participant's ad received an impression when your ad also received
     * an impression.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_overlap_rate = 261;</code>
     * @return float
     */
    public function getAuctionInsightSearchOverlapRate()
    {
        return isset($this->auction_insight_search_overlap_rate) ? $this->auction_insight_search_overlap_rate : 0.0;
    }

    public function hasAuctionInsightSearchOverlapRate()
    {
        return isset($this->auction_insight_search_overlap_rate);
    }

    public function clearAuctionInsightSearchOverlapRate()
    {
        unset($this->auction_insight_search_overlap_rate);
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * another participant's ad received an impression when your ad also received
     * an impression.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_overlap_rate = 261;</code>
     * @param float $var
     * @return $this
     */
    public function setAuctionInsightSearchOverlapRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->auction_insight_search_overlap_rate = $var;

        return $this;
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * another participant's ad was shown in a higher position than yours, when
     * both of your ads were shown at the same page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_position_above_rate = 262;</code>
     * @return float
     */
    public function getAuctionInsightSearchPositionAboveRate()
    {
        return isset($this->auction_insight_search_position_above_rate) ? $this->auction_insight_search_position_above_rate : 0.0;
    }

    public function hasAuctionInsightSearchPositionAboveRate()
    {
        return isset($this->auction_insight_search_position_above_rate);
    }

    public function clearAuctionInsightSearchPositionAboveRate()
    {
        unset($this->auction_insight_search_position_above_rate);
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * another participant's ad was shown in a higher position than yours, when
     * both of your ads were shown at the same page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_position_above_rate = 262;</code>
     * @param float $var
     * @return $this
     */
    public function setAuctionInsightSearchPositionAboveRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->auction_insight_search_position_above_rate = $var;

        return $this;
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed above the organic search results.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_top_impression_percentage = 263;</code>
     * @return float
     */
    public function getAuctionInsightSearchTopImpressionPercentage()
    {
        return isset($this->auction_insight_search_top_impression_percentage) ? $this->auction_insight_search_top_impression_percentage : 0.0;
    }

    public function hasAuctionInsightSearchTopImpressionPercentage()
    {
        return isset($this->auction_insight_search_top_impression_percentage);
    }

    public function clearAuctionInsightSearchTopImpressionPercentage()
    {
        unset($this->auction_insight_search_top_impression_percentage);
    }

    /**
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed above the organic search results.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     * This metric is not publicly available.
     *
     * Generated from protobuf field <code>optional double auction_insight_search_top_impression_percentage = 263;</code>
     * @param float $var
     * @return $this
     */
    public function setAuctionInsightSearchTopImpressionPercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->auction_insight_search_top_impression_percentage = $var;

        return $this;
    }

    /**
     * The average amount you pay per interaction. This amount is the total cost
     * of your ads divided by the total number of interactions.
     *
     * Generated from protobuf field <code>optional double average_cost = 203;</code>
     * @return float
     */
    public function getAverageCost()
    {
        return isset($this->average_cost) ? $this->average_cost : 0.0;
    }

    public function hasAverageCost()
    {
        return isset($this->average_cost);
    }

    public function clearAverageCost()
    {
        unset($this->average_cost);
    }

    /**
     * The average amount you pay per interaction. This amount is the total cost
     * of your ads divided by the total number of interactions.
     *
     * Generated from protobuf field <code>optional double average_cost = 203;</code>
     * @param float $var
     * @return $this
     */
    public function setAverageCost($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_cost = $var;

        return $this;
    }

    /**
     * The total cost of all clicks divided by the total number of clicks
     * received.
     *
     * Generated from protobuf field <code>optional double average_cpc = 204;</code>
     * @return float
     */
    public function getAverageCpc()
    {
        return isset($this->average_cpc) ? $this->average_cpc : 0.0;
    }

    public function hasAverageCpc()
    {
        return isset($this->average_cpc);
    }

    public function clearAverageCpc()
    {
        unset($this->average_cpc);
    }

    /**
     * The total cost of all clicks divided by the total number of clicks
     * received.
     *
     * Generated from protobuf field <code>optional double average_cpc = 204;</code>
     * @param float $var
     * @return $this
     */
    public function setAverageCpc($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_cpc = $var;

        return $this;
    }

    /**
     * The average amount that you've been charged for an ad engagement. This
     * amount is the total cost of all ad engagements divided by the total number
     * of ad engagements.
     *
     * Generated from protobuf field <code>optional double average_cpe = 205;</code>
     * @return float
     */
    public function getAverageCpe()
    {
        return isset($this->average_cpe) ? $this->average_cpe : 0.0;
    }

    public function hasAverageCpe()
    {
        return isset($this->average_cpe);
    }

    public function clearAverageCpe()
    {
        unset($this->average_cpe);
    }

    /**
     * The average amount that you've been charged for an ad engagement. This
     * amount is the total cost of all ad engagements divided by the total number
     * of ad engagements.
     *
     * Generated from protobuf field <code>optional double average_cpe = 205;</code>
     * @param float $var
     * @return $this
     */
    public function setAverageCpe($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_cpe = $var;

        return $this;
    }

    /**
     * Average cost-per-thousand impressions (CPM).
     *
     * Generated from protobuf field <code>optional double average_cpm = 206;</code>
     * @return float
     */
    public function getAverageCpm()
    {
        return isset($this->average_cpm) ? $this->average_cpm : 0.0;
    }

    public function hasAverageCpm()
    {
        return isset($this->average_cpm);
    }

    public function clearAverageCpm()
    {
        unset($this->average_cpm);
    }

    /**
     * Average cost-per-thousand impressions (CPM).
     *
     * Generated from protobuf field <code>optional double average_cpm = 206;</code>
     * @param float $var
     * @return $this
     */
    public function setAverageCpm($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_cpm = $var;

        return $this;
    }

    /**
     * The average amount you pay each time someone views your ad.
     * The average CPV is defined by the total cost of all ad views divided by
     * the number of views.
     *
     * Generated from protobuf field <code>optional double average_cpv = 207;</code>
     * @return float
     */
    public function getAverageCpv()
    {
        return isset($this->average_cpv) ? $this->average_cpv : 0.0;
    }

    public function hasAverageCpv()
    {
        return isset($this->average_cpv);
    }

    public function clearAverageCpv()
    {
        unset($this->average_cpv);
    }

    /**
     * The average amount you pay each time someone views your ad.
     * The average CPV is defined by the total cost of all ad views divided by
     * the number of views.
     *
     * Generated from protobuf field <code>optional double average_cpv = 207;</code>
     * @param float $var
     * @return $this
     */
    public function setAverageCpv($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_cpv = $var;

        return $this;
    }

    /**
     * Average number of pages viewed per session.
     *
     * Generated from protobuf field <code>optional double average_page_views = 208;</code>
     * @return float
     */
    public function getAveragePageViews()
    {
        return isset($this->average_page_views) ? $this->average_page_views : 0.0;
    }

    public function hasAveragePageViews()
    {
        return isset($this->average_page_views);
    }

    public function clearAveragePageViews()
    {
        unset($this->average_page_views);
    }

    /**
     * Average number of pages viewed per session.
     *
     * Generated from protobuf field <code>optional double average_page_views = 208;</code>
     * @param float $var
     * @return $this
     */
    public function setAveragePageViews($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_page_views = $var;

        return $this;
    }

    /**
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     *
     * Generated from protobuf field <code>optional double average_time_on_site = 209;</code>
     * @return float
     */
    public function getAverageTimeOnSite()
    {
        return isset($this->average_time_on_site) ? $this->average_time_on_site : 0.0;
    }

    public function hasAverageTimeOnSite()
    {
        return isset($this->average_time_on_site);
    }

    public function clearAverageTimeOnSite()
    {
        unset($this->average_time_on_site);
    }

    /**
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     *
     * Generated from protobuf field <code>optional double average_time_on_site = 209;</code>
     * @param float $var
     * @return $this
     */
    public function setAverageTimeOnSite($var)
    {
        GPBUtil::checkDouble($var);
        $this->average_time_on_site = $var;

        return $this;
    }

    /**
     * An indication of how other advertisers are bidding on similar products.
     *
     * Generated from protobuf field <code>optional double benchmark_average_max_cpc = 210;</code>
     * @return float
     */
    public function getBenchmarkAverageMaxCpc()
    {
        return isset($this->benchmark_average_max_cpc) ? $this->benchmark_average_max_cpc : 0.0;
    }

    public function hasBenchmarkAverageMaxCpc()
    {
        return isset($this->benchmark_average_max_cpc);
    }

    public function clearBenchmarkAverageMaxCpc()
    {
        unset($this->benchmark_average_max_cpc);
    }

    /**
     * An indication of how other advertisers are bidding on similar products.
     *
     * Generated from protobuf field <code>optional double benchmark_average_max_cpc = 210;</code>
     * @param float $var
     * @return $this
     */
    public function setBenchmarkAverageMaxCpc($var)
    {
        GPBUtil::checkDouble($var);
        $this->benchmark_average_max_cpc = $var;

        return $this;
    }

    /**
     * Number of app installs.
     *
     * Generated from protobuf field <code>optional double biddable_app_install_conversions = 254;</code>
     * @return float
     */
    public function getBiddableAppInstallConversions()
    {
        return isset($this->biddable_app_install_conversions) ? $this->biddable_app_install_conversions : 0.0;
    }

    public function hasBiddableAppInstallConversions()
    {
        return isset($this->biddable_app_install_conversions);
    }

    public function clearBiddableAppInstallConversions()
    {
        unset($this->biddable_app_install_conversions);
    }

    /**
     * Number of app installs.
     *
     * Generated from protobuf field <code>optional double biddable_app_install_conversions = 254;</code>
     * @param float $var
     * @return $this
     */
    public function setBiddableAppInstallConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->biddable_app_install_conversions = $var;

        return $this;
    }

    /**
     * Number of in-app actions.
     *
     * Generated from protobuf field <code>optional double biddable_app_post_install_conversions = 255;</code>
     * @return float
     */
    public function getBiddableAppPostInstallConversions()
    {
        return isset($this->biddable_app_post_install_conversions) ? $this->biddable_app_post_install_conversions : 0.0;
    }

    public function hasBiddableAppPostInstallConversions()
    {
        return isset($this->biddable_app_post_install_conversions);
    }

    public function clearBiddableAppPostInstallConversions()
    {
        unset($this->biddable_app_post_install_conversions);
    }

    /**
     * Number of in-app actions.
     *
     * Generated from protobuf field <code>optional double biddable_app_post_install_conversions = 255;</code>
     * @param float $var
     * @return $this
     */
    public function setBiddableAppPostInstallConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->biddable_app_post_install_conversions = $var;

        return $this;
    }

    /**
     * An indication on how other advertisers' Shopping ads for similar products
     * are performing based on how often people who see their ad click on it.
     *
     * Generated from protobuf field <code>optional double benchmark_ctr = 211;</code>
     * @return float
     */
    public function getBenchmarkCtr()
    {
        return isset($this->benchmark_ctr) ? $this->benchmark_ctr : 0.0;
    }

    public function hasBenchmarkCtr()
    {
        return isset($this->benchmark_ctr);
    }

    public function clearBenchmarkCtr()
    {
        unset($this->benchmark_ctr);
    }

    /**
     * An indication on how other advertisers' Shopping ads for similar products
     * are performing based on how often people who see their ad click on it.
     *
     * Generated from protobuf field <code>optional double benchmark_ctr = 211;</code>
     * @param float $var
     * @return $this
     */
    public function setBenchmarkCtr($var)
    {
        GPBUtil::checkDouble($var);
        $this->benchmark_ctr = $var;

        return $this;
    }

    /**
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     *
     * Generated from protobuf field <code>optional double bounce_rate = 212;</code>
     * @return float
     */
    public function getBounceRate()
    {
        return isset($this->bounce_rate) ? $this->bounce_rate : 0.0;
    }

    public function hasBounceRate()
    {
        return isset($this->bounce_rate);
    }

    public function clearBounceRate()
    {
        unset($this->bounce_rate);
    }

    /**
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     *
     * Generated from protobuf field <code>optional double bounce_rate = 212;</code>
     * @param float $var
     * @return $this
     */
    public function setBounceRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->bounce_rate = $var;

        return $this;
    }

    /**
     * The number of clicks.
     *
     * Generated from protobuf field <code>optional int64 clicks = 131;</code>
     * @return int|string
     */
    public function getClicks()
    {
        return isset($this->clicks) ? $this->clicks : 0;
    }

    public function hasClicks()
    {
        return isset($this->clicks);
    }

    public function clearClicks()
    {
        unset($this->clicks);
    }

    /**
     * The number of clicks.
     *
     * Generated from protobuf field <code>optional int64 clicks = 131;</code>
     * @param int|string $var
     * @return $this
     */
    public function setClicks($var)
    {
        GPBUtil::checkInt64($var);
        $this->clicks = $var;

        return $this;
    }

    /**
     * The number of times your ad or your site's listing in the unpaid
     * results was clicked. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 combined_clicks = 156;</code>
     * @return int|string
     */
    public function getCombinedClicks()
    {
        return isset($this->combined_clicks) ? $this->combined_clicks : 0;
    }

    public function hasCombinedClicks()
    {
        return isset($this->combined_clicks);
    }

    public function clearCombinedClicks()
    {
        unset($this->combined_clicks);
    }

    /**
     * The number of times your ad or your site's listing in the unpaid
     * results was clicked. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 combined_clicks = 156;</code>
     * @param int|string $var
     * @return $this
     */
    public function setCombinedClicks($var)
    {
        GPBUtil::checkInt64($var);
        $this->combined_clicks = $var;

        return $this;
    }

    /**
     * The number of times your ad or your site's listing in the unpaid
     * results was clicked (combined_clicks) divided by combined_queries. See the
     * help page at https://support.google.com/google-ads/answer/3097241 for
     * details.
     *
     * Generated from protobuf field <code>optional double combined_clicks_per_query = 157;</code>
     * @return float
     */
    public function getCombinedClicksPerQuery()
    {
        return isset($this->combined_clicks_per_query) ? $this->combined_clicks_per_query : 0.0;
    }

    public function hasCombinedClicksPerQuery()
    {
        return isset($this->combined_clicks_per_query);
    }

    public function clearCombinedClicksPerQuery()
    {
        unset($this->combined_clicks_per_query);
    }

    /**
     * The number of times your ad or your site's listing in the unpaid
     * results was clicked (combined_clicks) divided by combined_queries. See the
     * help page at https://support.google.com/google-ads/answer/3097241 for
     * details.
     *
     * Generated from protobuf field <code>optional double combined_clicks_per_query = 157;</code>
     * @param float $var
     * @return $this
     */
    public function setCombinedClicksPerQuery($var)
    {
        GPBUtil::checkDouble($var);
        $this->combined_clicks_per_query = $var;

        return $this;
    }

    /**
     * The number of searches that returned pages from your site in the unpaid
     * results or showed one of your text ads. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 combined_queries = 158;</code>
     * @return int|string
     */
    public function getCombinedQueries()
    {
        return isset($this->combined_queries) ? $this->combined_queries : 0;
    }

    public function hasCombinedQueries()
    {
        return isset($this->combined_queries);
    }

    public function clearCombinedQueries()
    {
        unset($this->combined_queries);
    }

    /**
     * The number of searches that returned pages from your site in the unpaid
     * results or showed one of your text ads. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 combined_queries = 158;</code>
     * @param int|string $var
     * @return $this
     */
    public function setCombinedQueries($var)
    {
        GPBUtil::checkInt64($var);
        $this->combined_queries = $var;

        return $this;
    }

    /**
     * The estimated percent of times that your ad was eligible to show
     * on the Display Network but didn't because your budget was too low.
     * Note: Content budget lost impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double content_budget_lost_impression_share = 159;</code>
     * @return float
     */
    public function getContentBudgetLostImpressionShare()
    {
        return isset($this->content_budget_lost_impression_share) ? $this->content_budget_lost_impression_share : 0.0;
    }

    public function hasContentBudgetLostImpressionShare()
    {
        return isset($this->content_budget_lost_impression_share);
    }

    public function clearContentBudgetLostImpressionShare()
    {
        unset($this->content_budget_lost_impression_share);
    }

    /**
     * The estimated percent of times that your ad was eligible to show
     * on the Display Network but didn't because your budget was too low.
     * Note: Content budget lost impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double content_budget_lost_impression_share = 159;</code>
     * @param float $var
     * @return $this
     */
    public function setContentBudgetLostImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->content_budget_lost_impression_share = $var;

        return $this;
    }

    /**
     * The impressions you've received on the Display Network divided
     * by the estimated number of impressions you were eligible to receive.
     * Note: Content impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double content_impression_share = 160;</code>
     * @return float
     */
    public function getContentImpressionShare()
    {
        return isset($this->content_impression_share) ? $this->content_impression_share : 0.0;
    }

    public function hasContentImpressionShare()
    {
        return isset($this->content_impression_share);
    }

    public function clearContentImpressionShare()
    {
        unset($this->content_impression_share);
    }

    /**
     * The impressions you've received on the Display Network divided
     * by the estimated number of impressions you were eligible to receive.
     * Note: Content impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double content_impression_share = 160;</code>
     * @param float $var
     * @return $this
     */
    public function setContentImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->content_impression_share = $var;

        return $this;
    }

    /**
     * The last date/time a conversion tag for this conversion action successfully
     * fired and was seen by Google Ads. This firing event may not have been the
     * result of an attributable conversion (e.g. because the tag was fired from a
     * browser that did not previously click an ad from an appropriate
     * advertiser). The date/time is in the customer's time zone.
     *
     * Generated from protobuf field <code>optional string conversion_last_received_request_date_time = 161;</code>
     * @return string
     */
    public function getConversionLastReceivedRequestDateTime()
    {
        return isset($this->conversion_last_received_request_date_time) ? $this->conversion_last_received_request_date_time : '';
    }

    public function hasConversionLastReceivedRequestDateTime()
    {
        return isset($this->conversion_last_received_request_date_time);
    }

    public function clearConversionLastReceivedRequestDateTime()
    {
        unset($this->conversion_last_received_request_date_time);
    }

    /**
     * The last date/time a conversion tag for this conversion action successfully
     * fired and was seen by Google Ads. This firing event may not have been the
     * result of an attributable conversion (e.g. because the tag was fired from a
     * browser that did not previously click an ad from an appropriate
     * advertiser). The date/time is in the customer's time zone.
     *
     * Generated from protobuf field <code>optional string conversion_last_received_request_date_time = 161;</code>
     * @param string $var
     * @return $this
     */
    public function setConversionLastReceivedRequestDateTime($var)
    {
        GPBUtil::checkString($var, True);
        $this->conversion_last_received_request_date_time = $var;

        return $this;
    }

    /**
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     *
     * Generated from protobuf field <code>optional string conversion_last_conversion_date = 162;</code>
     * @return string
     */
    public function getConversionLastConversionDate()
    {
        return isset($this->conversion_last_conversion_date) ? $this->conversion_last_conversion_date : '';
    }

    public function hasConversionLastConversionDate()
    {
        return isset($this->conversion_last_conversion_date);
    }

    public function clearConversionLastConversionDate()
    {
        unset($this->conversion_last_conversion_date);
    }

    /**
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     *
     * Generated from protobuf field <code>optional string conversion_last_conversion_date = 162;</code>
     * @param string $var
     * @return $this
     */
    public function setConversionLastConversionDate($var)
    {
        GPBUtil::checkString($var, True);
        $this->conversion_last_conversion_date = $var;

        return $this;
    }

    /**
     * The estimated percentage of impressions on the Display Network
     * that your ads didn't receive due to poor Ad Rank.
     * Note: Content rank lost impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double content_rank_lost_impression_share = 163;</code>
     * @return float
     */
    public function getContentRankLostImpressionShare()
    {
        return isset($this->content_rank_lost_impression_share) ? $this->content_rank_lost_impression_share : 0.0;
    }

    public function hasContentRankLostImpressionShare()
    {
        return isset($this->content_rank_lost_impression_share);
    }

    public function clearContentRankLostImpressionShare()
    {
        unset($this->content_rank_lost_impression_share);
    }

    /**
     * The estimated percentage of impressions on the Display Network
     * that your ads didn't receive due to poor Ad Rank.
     * Note: Content rank lost impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double content_rank_lost_impression_share = 163;</code>
     * @param float $var
     * @return $this
     */
    public function setContentRankLostImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->content_rank_lost_impression_share = $var;

        return $this;
    }

    /**
     * Conversions from interactions divided by the number of ad interactions
     * (such as clicks for text ads or views for video ads). This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double conversions_from_interactions_rate = 164;</code>
     * @return float
     */
    public function getConversionsFromInteractionsRate()
    {
        return isset($this->conversions_from_interactions_rate) ? $this->conversions_from_interactions_rate : 0.0;
    }

    public function hasConversionsFromInteractionsRate()
    {
        return isset($this->conversions_from_interactions_rate);
    }

    public function clearConversionsFromInteractionsRate()
    {
        unset($this->conversions_from_interactions_rate);
    }

    /**
     * Conversions from interactions divided by the number of ad interactions
     * (such as clicks for text ads or views for video ads). This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double conversions_from_interactions_rate = 164;</code>
     * @param float $var
     * @return $this
     */
    public function setConversionsFromInteractionsRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions_from_interactions_rate = $var;

        return $this;
    }

    /**
     * The value of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions_value = 165;</code>
     * @return float
     */
    public function getConversionsValue()
    {
        return isset($this->conversions_value) ? $this->conversions_value : 0.0;
    }

    public function hasConversionsValue()
    {
        return isset($this->conversions_value);
    }

    public function clearConversionsValue()
    {
        unset($this->conversions_value);
    }

    /**
     * The value of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions_value = 165;</code>
     * @param float $var
     * @return $this
     */
    public function setConversionsValue($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions_value = $var;

        return $this;
    }

    /**
     * The value of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions. When this column is selected with date, the values in date
     * column means the conversion date. Details for the by_conversion_date
     * columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double conversions_value_by_conversion_date = 242;</code>
     * @return float
     */
    public function getConversionsValueByConversionDate()
    {
        return $this->conversions_value_by_conversion_date;
    }

    /**
     * The value of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions. When this column is selected with date, the values in date
     * column means the conversion date. Details for the by_conversion_date
     * columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double conversions_value_by_conversion_date = 242;</code>
     * @param float $var
     * @return $this
     */
    public function setConversionsValueByConversionDate($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions_value_by_conversion_date = $var;

        return $this;
    }

    /**
     * The value of conversions divided by the cost of ad interactions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double conversions_value_per_cost = 166;</code>
     * @return float
     */
    public function getConversionsValuePerCost()
    {
        return isset($this->conversions_value_per_cost) ? $this->conversions_value_per_cost : 0.0;
    }

    public function hasConversionsValuePerCost()
    {
        return isset($this->conversions_value_per_cost);
    }

    public function clearConversionsValuePerCost()
    {
        unset($this->conversions_value_per_cost);
    }

    /**
     * The value of conversions divided by the cost of ad interactions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double conversions_value_per_cost = 166;</code>
     * @param float $var
     * @return $this
     */
    public function setConversionsValuePerCost($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions_value_per_cost = $var;

        return $this;
    }

    /**
     * The value of conversions from interactions divided by the number of ad
     * interactions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions_from_interactions_value_per_interaction = 167;</code>
     * @return float
     */
    public function getConversionsFromInteractionsValuePerInteraction()
    {
        return isset($this->conversions_from_interactions_value_per_interaction) ? $this->conversions_from_interactions_value_per_interaction : 0.0;
    }

    public function hasConversionsFromInteractionsValuePerInteraction()
    {
        return isset($this->conversions_from_interactions_value_per_interaction);
    }

    public function clearConversionsFromInteractionsValuePerInteraction()
    {
        unset($this->conversions_from_interactions_value_per_interaction);
    }

    /**
     * The value of conversions from interactions divided by the number of ad
     * interactions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions_from_interactions_value_per_interaction = 167;</code>
     * @param float $var
     * @return $this
     */
    public function setConversionsFromInteractionsValuePerInteraction($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions_from_interactions_value_per_interaction = $var;

        return $this;
    }

    /**
     * The number of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions = 168;</code>
     * @return float
     */
    public function getConversions()
    {
        return isset($this->conversions) ? $this->conversions : 0.0;
    }

    public function hasConversions()
    {
        return isset($this->conversions);
    }

    public function clearConversions()
    {
        unset($this->conversions);
    }

    /**
     * The number of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double conversions = 168;</code>
     * @param float $var
     * @return $this
     */
    public function setConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions = $var;

        return $this;
    }

    /**
     * The number of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions. When this column is selected with date, the values in date
     * column means the conversion date. Details for the by_conversion_date
     * columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double conversions_by_conversion_date = 243;</code>
     * @return float
     */
    public function getConversionsByConversionDate()
    {
        return $this->conversions_by_conversion_date;
    }

    /**
     * The number of conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions. When this column is selected with date, the values in date
     * column means the conversion date. Details for the by_conversion_date
     * columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>double conversions_by_conversion_date = 243;</code>
     * @param float $var
     * @return $this
     */
    public function setConversionsByConversionDate($var)
    {
        GPBUtil::checkDouble($var);
        $this->conversions_by_conversion_date = $var;

        return $this;
    }

    /**
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     *
     * Generated from protobuf field <code>optional int64 cost_micros = 169;</code>
     * @return int|string
     */
    public function getCostMicros()
    {
        return isset($this->cost_micros) ? $this->cost_micros : 0;
    }

    public function hasCostMicros()
    {
        return isset($this->cost_micros);
    }

    public function clearCostMicros()
    {
        unset($this->cost_micros);
    }

    /**
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     *
     * Generated from protobuf field <code>optional int64 cost_micros = 169;</code>
     * @param int|string $var
     * @return $this
     */
    public function setCostMicros($var)
    {
        GPBUtil::checkInt64($var);
        $this->cost_micros = $var;

        return $this;
    }

    /**
     * The cost of ad interactions divided by all conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_all_conversions = 170;</code>
     * @return float
     */
    public function getCostPerAllConversions()
    {
        return isset($this->cost_per_all_conversions) ? $this->cost_per_all_conversions : 0.0;
    }

    public function hasCostPerAllConversions()
    {
        return isset($this->cost_per_all_conversions);
    }

    public function clearCostPerAllConversions()
    {
        unset($this->cost_per_all_conversions);
    }

    /**
     * The cost of ad interactions divided by all conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_all_conversions = 170;</code>
     * @param float $var
     * @return $this
     */
    public function setCostPerAllConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->cost_per_all_conversions = $var;

        return $this;
    }

    /**
     * The cost of ad interactions divided by conversions. This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_conversion = 171;</code>
     * @return float
     */
    public function getCostPerConversion()
    {
        return isset($this->cost_per_conversion) ? $this->cost_per_conversion : 0.0;
    }

    public function hasCostPerConversion()
    {
        return isset($this->cost_per_conversion);
    }

    public function clearCostPerConversion()
    {
        unset($this->cost_per_conversion);
    }

    /**
     * The cost of ad interactions divided by conversions. This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_conversion = 171;</code>
     * @param float $var
     * @return $this
     */
    public function setCostPerConversion($var)
    {
        GPBUtil::checkDouble($var);
        $this->cost_per_conversion = $var;

        return $this;
    }

    /**
     * The cost of ad interactions divided by current model attributed
     * conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_current_model_attributed_conversion = 172;</code>
     * @return float
     */
    public function getCostPerCurrentModelAttributedConversion()
    {
        return isset($this->cost_per_current_model_attributed_conversion) ? $this->cost_per_current_model_attributed_conversion : 0.0;
    }

    public function hasCostPerCurrentModelAttributedConversion()
    {
        return isset($this->cost_per_current_model_attributed_conversion);
    }

    public function clearCostPerCurrentModelAttributedConversion()
    {
        unset($this->cost_per_current_model_attributed_conversion);
    }

    /**
     * The cost of ad interactions divided by current model attributed
     * conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double cost_per_current_model_attributed_conversion = 172;</code>
     * @param float $var
     * @return $this
     */
    public function setCostPerCurrentModelAttributedConversion($var)
    {
        GPBUtil::checkDouble($var);
        $this->cost_per_current_model_attributed_conversion = $var;

        return $this;
    }

    /**
     * Conversions from when a customer clicks on a Google Ads ad on one device,
     * then converts on a different device or browser.
     * Cross-device conversions are already included in all_conversions.
     *
     * Generated from protobuf field <code>optional double cross_device_conversions = 173;</code>
     * @return float
     */
    public function getCrossDeviceConversions()
    {
        return isset($this->cross_device_conversions) ? $this->cross_device_conversions : 0.0;
    }

    public function hasCrossDeviceConversions()
    {
        return isset($this->cross_device_conversions);
    }

    public function clearCrossDeviceConversions()
    {
        unset($this->cross_device_conversions);
    }

    /**
     * Conversions from when a customer clicks on a Google Ads ad on one device,
     * then converts on a different device or browser.
     * Cross-device conversions are already included in all_conversions.
     *
     * Generated from protobuf field <code>optional double cross_device_conversions = 173;</code>
     * @param float $var
     * @return $this
     */
    public function setCrossDeviceConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->cross_device_conversions = $var;

        return $this;
    }

    /**
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     *
     * Generated from protobuf field <code>optional double ctr = 174;</code>
     * @return float
     */
    public function getCtr()
    {
        return isset($this->ctr) ? $this->ctr : 0.0;
    }

    public function hasCtr()
    {
        return isset($this->ctr);
    }

    public function clearCtr()
    {
        unset($this->ctr);
    }

    /**
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     *
     * Generated from protobuf field <code>optional double ctr = 174;</code>
     * @param float $var
     * @return $this
     */
    public function setCtr($var)
    {
        GPBUtil::checkDouble($var);
        $this->ctr = $var;

        return $this;
    }

    /**
     * Shows how your historic conversions data would look under the attribution
     * model you've currently selected. This only includes conversion actions
     * which include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions = 175;</code>
     * @return float
     */
    public function getCurrentModelAttributedConversions()
    {
        return isset($this->current_model_attributed_conversions) ? $this->current_model_attributed_conversions : 0.0;
    }

    public function hasCurrentModelAttributedConversions()
    {
        return isset($this->current_model_attributed_conversions);
    }

    public function clearCurrentModelAttributedConversions()
    {
        unset($this->current_model_attributed_conversions);
    }

    /**
     * Shows how your historic conversions data would look under the attribution
     * model you've currently selected. This only includes conversion actions
     * which include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions = 175;</code>
     * @param float $var
     * @return $this
     */
    public function setCurrentModelAttributedConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->current_model_attributed_conversions = $var;

        return $this;
    }

    /**
     * Current model attributed conversions from interactions divided by the
     * number of ad interactions (such as clicks for text ads or views for video
     * ads). This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_from_interactions_rate = 176;</code>
     * @return float
     */
    public function getCurrentModelAttributedConversionsFromInteractionsRate()
    {
        return isset($this->current_model_attributed_conversions_from_interactions_rate) ? $this->current_model_attributed_conversions_from_interactions_rate : 0.0;
    }

    public function hasCurrentModelAttributedConversionsFromInteractionsRate()
    {
        return isset($this->current_model_attributed_conversions_from_interactions_rate);
    }

    public function clearCurrentModelAttributedConversionsFromInteractionsRate()
    {
        unset($this->current_model_attributed_conversions_from_interactions_rate);
    }

    /**
     * Current model attributed conversions from interactions divided by the
     * number of ad interactions (such as clicks for text ads or views for video
     * ads). This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_from_interactions_rate = 176;</code>
     * @param float $var
     * @return $this
     */
    public function setCurrentModelAttributedConversionsFromInteractionsRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->current_model_attributed_conversions_from_interactions_rate = $var;

        return $this;
    }

    /**
     * The value of current model attributed conversions from interactions divided
     * by the number of ad interactions. This only includes conversion actions
     * which include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177;</code>
     * @return float
     */
    public function getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()
    {
        return isset($this->current_model_attributed_conversions_from_interactions_value_per_interaction) ? $this->current_model_attributed_conversions_from_interactions_value_per_interaction : 0.0;
    }

    public function hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()
    {
        return isset($this->current_model_attributed_conversions_from_interactions_value_per_interaction);
    }

    public function clearCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()
    {
        unset($this->current_model_attributed_conversions_from_interactions_value_per_interaction);
    }

    /**
     * The value of current model attributed conversions from interactions divided
     * by the number of ad interactions. This only includes conversion actions
     * which include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177;</code>
     * @param float $var
     * @return $this
     */
    public function setCurrentModelAttributedConversionsFromInteractionsValuePerInteraction($var)
    {
        GPBUtil::checkDouble($var);
        $this->current_model_attributed_conversions_from_interactions_value_per_interaction = $var;

        return $this;
    }

    /**
     * The value of current model attributed conversions. This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_value = 178;</code>
     * @return float
     */
    public function getCurrentModelAttributedConversionsValue()
    {
        return isset($this->current_model_attributed_conversions_value) ? $this->current_model_attributed_conversions_value : 0.0;
    }

    public function hasCurrentModelAttributedConversionsValue()
    {
        return isset($this->current_model_attributed_conversions_value);
    }

    public function clearCurrentModelAttributedConversionsValue()
    {
        unset($this->current_model_attributed_conversions_value);
    }

    /**
     * The value of current model attributed conversions. This only includes
     * conversion actions which include_in_conversions_metric attribute is set to
     * true. If you use conversion-based bidding, your bid strategies will
     * optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_value = 178;</code>
     * @param float $var
     * @return $this
     */
    public function setCurrentModelAttributedConversionsValue($var)
    {
        GPBUtil::checkDouble($var);
        $this->current_model_attributed_conversions_value = $var;

        return $this;
    }

    /**
     * The value of current model attributed conversions divided by the cost of ad
     * interactions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_value_per_cost = 179;</code>
     * @return float
     */
    public function getCurrentModelAttributedConversionsValuePerCost()
    {
        return isset($this->current_model_attributed_conversions_value_per_cost) ? $this->current_model_attributed_conversions_value_per_cost : 0.0;
    }

    public function hasCurrentModelAttributedConversionsValuePerCost()
    {
        return isset($this->current_model_attributed_conversions_value_per_cost);
    }

    public function clearCurrentModelAttributedConversionsValuePerCost()
    {
        unset($this->current_model_attributed_conversions_value_per_cost);
    }

    /**
     * The value of current model attributed conversions divided by the cost of ad
     * interactions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double current_model_attributed_conversions_value_per_cost = 179;</code>
     * @param float $var
     * @return $this
     */
    public function setCurrentModelAttributedConversionsValuePerCost($var)
    {
        GPBUtil::checkDouble($var);
        $this->current_model_attributed_conversions_value_per_cost = $var;

        return $this;
    }

    /**
     * How often people engage with your ad after it's shown to them. This is the
     * number of ad expansions divided by the number of times your ad is shown.
     *
     * Generated from protobuf field <code>optional double engagement_rate = 180;</code>
     * @return float
     */
    public function getEngagementRate()
    {
        return isset($this->engagement_rate) ? $this->engagement_rate : 0.0;
    }

    public function hasEngagementRate()
    {
        return isset($this->engagement_rate);
    }

    public function clearEngagementRate()
    {
        unset($this->engagement_rate);
    }

    /**
     * How often people engage with your ad after it's shown to them. This is the
     * number of ad expansions divided by the number of times your ad is shown.
     *
     * Generated from protobuf field <code>optional double engagement_rate = 180;</code>
     * @param float $var
     * @return $this
     */
    public function setEngagementRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->engagement_rate = $var;

        return $this;
    }

    /**
     * The number of engagements.
     * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
     * future, other ad types may support engagement metrics.
     *
     * Generated from protobuf field <code>optional int64 engagements = 181;</code>
     * @return int|string
     */
    public function getEngagements()
    {
        return isset($this->engagements) ? $this->engagements : 0;
    }

    public function hasEngagements()
    {
        return isset($this->engagements);
    }

    public function clearEngagements()
    {
        unset($this->engagements);
    }

    /**
     * The number of engagements.
     * An engagement occurs when a viewer expands your Lightbox ad. Also, in the
     * future, other ad types may support engagement metrics.
     *
     * Generated from protobuf field <code>optional int64 engagements = 181;</code>
     * @param int|string $var
     * @return $this
     */
    public function setEngagements($var)
    {
        GPBUtil::checkInt64($var);
        $this->engagements = $var;

        return $this;
    }

    /**
     * Average lead value based on clicks.
     *
     * Generated from protobuf field <code>optional double hotel_average_lead_value_micros = 213;</code>
     * @return float
     */
    public function getHotelAverageLeadValueMicros()
    {
        return isset($this->hotel_average_lead_value_micros) ? $this->hotel_average_lead_value_micros : 0.0;
    }

    public function hasHotelAverageLeadValueMicros()
    {
        return isset($this->hotel_average_lead_value_micros);
    }

    public function clearHotelAverageLeadValueMicros()
    {
        unset($this->hotel_average_lead_value_micros);
    }

    /**
     * Average lead value based on clicks.
     *
     * Generated from protobuf field <code>optional double hotel_average_lead_value_micros = 213;</code>
     * @param float $var
     * @return $this
     */
    public function setHotelAverageLeadValueMicros($var)
    {
        GPBUtil::checkDouble($var);
        $this->hotel_average_lead_value_micros = $var;

        return $this;
    }

    /**
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     *
     * Generated from protobuf field <code>optional int64 hotel_commission_rate_micros = 256;</code>
     * @return int|string
     */
    public function getHotelCommissionRateMicros()
    {
        return isset($this->hotel_commission_rate_micros) ? $this->hotel_commission_rate_micros : 0;
    }

    public function hasHotelCommissionRateMicros()
    {
        return isset($this->hotel_commission_rate_micros);
    }

    public function clearHotelCommissionRateMicros()
    {
        unset($this->hotel_commission_rate_micros);
    }

    /**
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     *
     * Generated from protobuf field <code>optional int64 hotel_commission_rate_micros = 256;</code>
     * @param int|string $var
     * @return $this
     */
    public function setHotelCommissionRateMicros($var)
    {
        GPBUtil::checkInt64($var);
        $this->hotel_commission_rate_micros = $var;

        return $this;
    }

    /**
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     *
     * Generated from protobuf field <code>optional double hotel_expected_commission_cost = 257;</code>
     * @return float
     */
    public function getHotelExpectedCommissionCost()
    {
        return isset($this->hotel_expected_commission_cost) ? $this->hotel_expected_commission_cost : 0.0;
    }

    public function hasHotelExpectedCommissionCost()
    {
        return isset($this->hotel_expected_commission_cost);
    }

    public function clearHotelExpectedCommissionCost()
    {
        unset($this->hotel_expected_commission_cost);
    }

    /**
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     *
     * Generated from protobuf field <code>optional double hotel_expected_commission_cost = 257;</code>
     * @param float $var
     * @return $this
     */
    public function setHotelExpectedCommissionCost($var)
    {
        GPBUtil::checkDouble($var);
        $this->hotel_expected_commission_cost = $var;

        return $this;
    }

    /**
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     *
     * Generated from protobuf field <code>optional double hotel_price_difference_percentage = 214;</code>
     * @return float
     */
    public function getHotelPriceDifferencePercentage()
    {
        return isset($this->hotel_price_difference_percentage) ? $this->hotel_price_difference_percentage : 0.0;
    }

    public function hasHotelPriceDifferencePercentage()
    {
        return isset($this->hotel_price_difference_percentage);
    }

    public function clearHotelPriceDifferencePercentage()
    {
        unset($this->hotel_price_difference_percentage);
    }

    /**
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     *
     * Generated from protobuf field <code>optional double hotel_price_difference_percentage = 214;</code>
     * @param float $var
     * @return $this
     */
    public function setHotelPriceDifferencePercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->hotel_price_difference_percentage = $var;

        return $this;
    }

    /**
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     *
     * Generated from protobuf field <code>optional int64 hotel_eligible_impressions = 215;</code>
     * @return int|string
     */
    public function getHotelEligibleImpressions()
    {
        return isset($this->hotel_eligible_impressions) ? $this->hotel_eligible_impressions : 0;
    }

    public function hasHotelEligibleImpressions()
    {
        return isset($this->hotel_eligible_impressions);
    }

    public function clearHotelEligibleImpressions()
    {
        unset($this->hotel_eligible_impressions);
    }

    /**
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     *
     * Generated from protobuf field <code>optional int64 hotel_eligible_impressions = 215;</code>
     * @param int|string $var
     * @return $this
     */
    public function setHotelEligibleImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->hotel_eligible_impressions = $var;

        return $this;
    }

    /**
     * The creative historical quality score.
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80;</code>
     * @return int
     */
    public function getHistoricalCreativeQualityScore()
    {
        return $this->historical_creative_quality_score;
    }

    /**
     * The creative historical quality score.
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80;</code>
     * @param int $var
     * @return $this
     */
    public function setHistoricalCreativeQualityScore($var)
    {
        GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V11\Enums\QualityScoreBucketEnum\QualityScoreBucket::class);
        $this->historical_creative_quality_score = $var;

        return $this;
    }

    /**
     * The quality of historical landing page experience.
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81;</code>
     * @return int
     */
    public function getHistoricalLandingPageQualityScore()
    {
        return $this->historical_landing_page_quality_score;
    }

    /**
     * The quality of historical landing page experience.
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81;</code>
     * @param int $var
     * @return $this
     */
    public function setHistoricalLandingPageQualityScore($var)
    {
        GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V11\Enums\QualityScoreBucketEnum\QualityScoreBucket::class);
        $this->historical_landing_page_quality_score = $var;

        return $this;
    }

    /**
     * The historical quality score.
     *
     * Generated from protobuf field <code>optional int64 historical_quality_score = 216;</code>
     * @return int|string
     */
    public function getHistoricalQualityScore()
    {
        return isset($this->historical_quality_score) ? $this->historical_quality_score : 0;
    }

    public function hasHistoricalQualityScore()
    {
        return isset($this->historical_quality_score);
    }

    public function clearHistoricalQualityScore()
    {
        unset($this->historical_quality_score);
    }

    /**
     * The historical quality score.
     *
     * Generated from protobuf field <code>optional int64 historical_quality_score = 216;</code>
     * @param int|string $var
     * @return $this
     */
    public function setHistoricalQualityScore($var)
    {
        GPBUtil::checkInt64($var);
        $this->historical_quality_score = $var;

        return $this;
    }

    /**
     * The historical search predicted click through rate (CTR).
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83;</code>
     * @return int
     */
    public function getHistoricalSearchPredictedCtr()
    {
        return $this->historical_search_predicted_ctr;
    }

    /**
     * The historical search predicted click through rate (CTR).
     *
     * Generated from protobuf field <code>.google.ads.googleads.v11.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83;</code>
     * @param int $var
     * @return $this
     */
    public function setHistoricalSearchPredictedCtr($var)
    {
        GPBUtil::checkEnum($var, \Google\Ads\GoogleAds\V11\Enums\QualityScoreBucketEnum\QualityScoreBucket::class);
        $this->historical_search_predicted_ctr = $var;

        return $this;
    }

    /**
     * The number of times the ad was forwarded to someone else as a message.
     *
     * Generated from protobuf field <code>optional int64 gmail_forwards = 217;</code>
     * @return int|string
     */
    public function getGmailForwards()
    {
        return isset($this->gmail_forwards) ? $this->gmail_forwards : 0;
    }

    public function hasGmailForwards()
    {
        return isset($this->gmail_forwards);
    }

    public function clearGmailForwards()
    {
        unset($this->gmail_forwards);
    }

    /**
     * The number of times the ad was forwarded to someone else as a message.
     *
     * Generated from protobuf field <code>optional int64 gmail_forwards = 217;</code>
     * @param int|string $var
     * @return $this
     */
    public function setGmailForwards($var)
    {
        GPBUtil::checkInt64($var);
        $this->gmail_forwards = $var;

        return $this;
    }

    /**
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     *
     * Generated from protobuf field <code>optional int64 gmail_saves = 218;</code>
     * @return int|string
     */
    public function getGmailSaves()
    {
        return isset($this->gmail_saves) ? $this->gmail_saves : 0;
    }

    public function hasGmailSaves()
    {
        return isset($this->gmail_saves);
    }

    public function clearGmailSaves()
    {
        unset($this->gmail_saves);
    }

    /**
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     *
     * Generated from protobuf field <code>optional int64 gmail_saves = 218;</code>
     * @param int|string $var
     * @return $this
     */
    public function setGmailSaves($var)
    {
        GPBUtil::checkInt64($var);
        $this->gmail_saves = $var;

        return $this;
    }

    /**
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     *
     * Generated from protobuf field <code>optional int64 gmail_secondary_clicks = 219;</code>
     * @return int|string
     */
    public function getGmailSecondaryClicks()
    {
        return isset($this->gmail_secondary_clicks) ? $this->gmail_secondary_clicks : 0;
    }

    public function hasGmailSecondaryClicks()
    {
        return isset($this->gmail_secondary_clicks);
    }

    public function clearGmailSecondaryClicks()
    {
        unset($this->gmail_secondary_clicks);
    }

    /**
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     *
     * Generated from protobuf field <code>optional int64 gmail_secondary_clicks = 219;</code>
     * @param int|string $var
     * @return $this
     */
    public function setGmailSecondaryClicks($var)
    {
        GPBUtil::checkInt64($var);
        $this->gmail_secondary_clicks = $var;

        return $this;
    }

    /**
     * The number of times a store's location-based ad was shown.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional int64 impressions_from_store_reach = 220;</code>
     * @return int|string
     */
    public function getImpressionsFromStoreReach()
    {
        return isset($this->impressions_from_store_reach) ? $this->impressions_from_store_reach : 0;
    }

    public function hasImpressionsFromStoreReach()
    {
        return isset($this->impressions_from_store_reach);
    }

    public function clearImpressionsFromStoreReach()
    {
        unset($this->impressions_from_store_reach);
    }

    /**
     * The number of times a store's location-based ad was shown.
     * This metric applies to feed items only.
     *
     * Generated from protobuf field <code>optional int64 impressions_from_store_reach = 220;</code>
     * @param int|string $var
     * @return $this
     */
    public function setImpressionsFromStoreReach($var)
    {
        GPBUtil::checkInt64($var);
        $this->impressions_from_store_reach = $var;

        return $this;
    }

    /**
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     *
     * Generated from protobuf field <code>optional int64 impressions = 221;</code>
     * @return int|string
     */
    public function getImpressions()
    {
        return isset($this->impressions) ? $this->impressions : 0;
    }

    public function hasImpressions()
    {
        return isset($this->impressions);
    }

    public function clearImpressions()
    {
        unset($this->impressions);
    }

    /**
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     *
     * Generated from protobuf field <code>optional int64 impressions = 221;</code>
     * @param int|string $var
     * @return $this
     */
    public function setImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->impressions = $var;

        return $this;
    }

    /**
     * How often people interact with your ad after it is shown to them.
     * This is the number of interactions divided by the number of times your ad
     * is shown.
     *
     * Generated from protobuf field <code>optional double interaction_rate = 222;</code>
     * @return float
     */
    public function getInteractionRate()
    {
        return isset($this->interaction_rate) ? $this->interaction_rate : 0.0;
    }

    public function hasInteractionRate()
    {
        return isset($this->interaction_rate);
    }

    public function clearInteractionRate()
    {
        unset($this->interaction_rate);
    }

    /**
     * How often people interact with your ad after it is shown to them.
     * This is the number of interactions divided by the number of times your ad
     * is shown.
     *
     * Generated from protobuf field <code>optional double interaction_rate = 222;</code>
     * @param float $var
     * @return $this
     */
    public function setInteractionRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->interaction_rate = $var;

        return $this;
    }

    /**
     * The number of interactions.
     * An interaction is the main user action associated with an ad format-clicks
     * for text and shopping ads, views for video ads, and so on.
     *
     * Generated from protobuf field <code>optional int64 interactions = 223;</code>
     * @return int|string
     */
    public function getInteractions()
    {
        return isset($this->interactions) ? $this->interactions : 0;
    }

    public function hasInteractions()
    {
        return isset($this->interactions);
    }

    public function clearInteractions()
    {
        unset($this->interactions);
    }

    /**
     * The number of interactions.
     * An interaction is the main user action associated with an ad format-clicks
     * for text and shopping ads, views for video ads, and so on.
     *
     * Generated from protobuf field <code>optional int64 interactions = 223;</code>
     * @param int|string $var
     * @return $this
     */
    public function setInteractions($var)
    {
        GPBUtil::checkInt64($var);
        $this->interactions = $var;

        return $this;
    }

    /**
     * The types of payable and free interactions.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v11.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100;</code>
     * @return \Google\Protobuf\Internal\RepeatedField
     */
    public function getInteractionEventTypes()
    {
        return $this->interaction_event_types;
    }

    /**
     * The types of payable and free interactions.
     *
     * Generated from protobuf field <code>repeated .google.ads.googleads.v11.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100;</code>
     * @param int[]|\Google\Protobuf\Internal\RepeatedField $var
     * @return $this
     */
    public function setInteractionEventTypes($var)
    {
        $arr = GPBUtil::checkRepeatedField($var, \Google\Protobuf\Internal\GPBType::ENUM, \Google\Ads\GoogleAds\V11\Enums\InteractionEventTypeEnum\InteractionEventType::class);
        $this->interaction_event_types = $arr;

        return $this;
    }

    /**
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     *
     * Generated from protobuf field <code>optional double invalid_click_rate = 224;</code>
     * @return float
     */
    public function getInvalidClickRate()
    {
        return isset($this->invalid_click_rate) ? $this->invalid_click_rate : 0.0;
    }

    public function hasInvalidClickRate()
    {
        return isset($this->invalid_click_rate);
    }

    public function clearInvalidClickRate()
    {
        unset($this->invalid_click_rate);
    }

    /**
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     *
     * Generated from protobuf field <code>optional double invalid_click_rate = 224;</code>
     * @param float $var
     * @return $this
     */
    public function setInvalidClickRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->invalid_click_rate = $var;

        return $this;
    }

    /**
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     *
     * Generated from protobuf field <code>optional int64 invalid_clicks = 225;</code>
     * @return int|string
     */
    public function getInvalidClicks()
    {
        return isset($this->invalid_clicks) ? $this->invalid_clicks : 0;
    }

    public function hasInvalidClicks()
    {
        return isset($this->invalid_clicks);
    }

    public function clearInvalidClicks()
    {
        unset($this->invalid_clicks);
    }

    /**
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     *
     * Generated from protobuf field <code>optional int64 invalid_clicks = 225;</code>
     * @param int|string $var
     * @return $this
     */
    public function setInvalidClicks($var)
    {
        GPBUtil::checkInt64($var);
        $this->invalid_clicks = $var;

        return $this;
    }

    /**
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     *
     * Generated from protobuf field <code>optional int64 message_chats = 226;</code>
     * @return int|string
     */
    public function getMessageChats()
    {
        return isset($this->message_chats) ? $this->message_chats : 0;
    }

    public function hasMessageChats()
    {
        return isset($this->message_chats);
    }

    public function clearMessageChats()
    {
        unset($this->message_chats);
    }

    /**
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     *
     * Generated from protobuf field <code>optional int64 message_chats = 226;</code>
     * @param int|string $var
     * @return $this
     */
    public function setMessageChats($var)
    {
        GPBUtil::checkInt64($var);
        $this->message_chats = $var;

        return $this;
    }

    /**
     * Number of Click To Message impressions that were message tracking eligible.
     *
     * Generated from protobuf field <code>optional int64 message_impressions = 227;</code>
     * @return int|string
     */
    public function getMessageImpressions()
    {
        return isset($this->message_impressions) ? $this->message_impressions : 0;
    }

    public function hasMessageImpressions()
    {
        return isset($this->message_impressions);
    }

    public function clearMessageImpressions()
    {
        unset($this->message_impressions);
    }

    /**
     * Number of Click To Message impressions that were message tracking eligible.
     *
     * Generated from protobuf field <code>optional int64 message_impressions = 227;</code>
     * @param int|string $var
     * @return $this
     */
    public function setMessageImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->message_impressions = $var;

        return $this;
    }

    /**
     * Number of message chats initiated (message_chats) divided by the number
     * of message impressions (message_impressions).
     * Rate at which a user initiates a message chat from an ad impression with
     * a messaging option and message tracking enabled.
     * Note that this rate can be more than 1.0 for a given message impression.
     *
     * Generated from protobuf field <code>optional double message_chat_rate = 228;</code>
     * @return float
     */
    public function getMessageChatRate()
    {
        return isset($this->message_chat_rate) ? $this->message_chat_rate : 0.0;
    }

    public function hasMessageChatRate()
    {
        return isset($this->message_chat_rate);
    }

    public function clearMessageChatRate()
    {
        unset($this->message_chat_rate);
    }

    /**
     * Number of message chats initiated (message_chats) divided by the number
     * of message impressions (message_impressions).
     * Rate at which a user initiates a message chat from an ad impression with
     * a messaging option and message tracking enabled.
     * Note that this rate can be more than 1.0 for a given message impression.
     *
     * Generated from protobuf field <code>optional double message_chat_rate = 228;</code>
     * @param float $var
     * @return $this
     */
    public function setMessageChatRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->message_chat_rate = $var;

        return $this;
    }

    /**
     * The percentage of mobile clicks that go to a mobile-friendly page.
     *
     * Generated from protobuf field <code>optional double mobile_friendly_clicks_percentage = 229;</code>
     * @return float
     */
    public function getMobileFriendlyClicksPercentage()
    {
        return isset($this->mobile_friendly_clicks_percentage) ? $this->mobile_friendly_clicks_percentage : 0.0;
    }

    public function hasMobileFriendlyClicksPercentage()
    {
        return isset($this->mobile_friendly_clicks_percentage);
    }

    public function clearMobileFriendlyClicksPercentage()
    {
        unset($this->mobile_friendly_clicks_percentage);
    }

    /**
     * The percentage of mobile clicks that go to a mobile-friendly page.
     *
     * Generated from protobuf field <code>optional double mobile_friendly_clicks_percentage = 229;</code>
     * @param float $var
     * @return $this
     */
    public function setMobileFriendlyClicksPercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->mobile_friendly_clicks_percentage = $var;

        return $this;
    }

    /**
     * Total optimization score uplift of all recommendations.
     *
     * Generated from protobuf field <code>optional double optimization_score_uplift = 247;</code>
     * @return float
     */
    public function getOptimizationScoreUplift()
    {
        return isset($this->optimization_score_uplift) ? $this->optimization_score_uplift : 0.0;
    }

    public function hasOptimizationScoreUplift()
    {
        return isset($this->optimization_score_uplift);
    }

    public function clearOptimizationScoreUplift()
    {
        unset($this->optimization_score_uplift);
    }

    /**
     * Total optimization score uplift of all recommendations.
     *
     * Generated from protobuf field <code>optional double optimization_score_uplift = 247;</code>
     * @param float $var
     * @return $this
     */
    public function setOptimizationScoreUplift($var)
    {
        GPBUtil::checkDouble($var);
        $this->optimization_score_uplift = $var;

        return $this;
    }

    /**
     * URL for the optimization score page in the Google Ads web interface.
     * This metric can be selected from `customer` or `campaign`, and can be
     * segmented by `segments.recommendation_type`. For example, `SELECT
     * metrics.optimization_score_url, segments.recommendation_type FROM
     * customer` will return a URL for each unique (customer, recommendation_type)
     * combination.
     *
     * Generated from protobuf field <code>optional string optimization_score_url = 248;</code>
     * @return string
     */
    public function getOptimizationScoreUrl()
    {
        return isset($this->optimization_score_url) ? $this->optimization_score_url : '';
    }

    public function hasOptimizationScoreUrl()
    {
        return isset($this->optimization_score_url);
    }

    public function clearOptimizationScoreUrl()
    {
        unset($this->optimization_score_url);
    }

    /**
     * URL for the optimization score page in the Google Ads web interface.
     * This metric can be selected from `customer` or `campaign`, and can be
     * segmented by `segments.recommendation_type`. For example, `SELECT
     * metrics.optimization_score_url, segments.recommendation_type FROM
     * customer` will return a URL for each unique (customer, recommendation_type)
     * combination.
     *
     * Generated from protobuf field <code>optional string optimization_score_url = 248;</code>
     * @param string $var
     * @return $this
     */
    public function setOptimizationScoreUrl($var)
    {
        GPBUtil::checkString($var, True);
        $this->optimization_score_url = $var;

        return $this;
    }

    /**
     * The number of times someone clicked your site's listing in the unpaid
     * results for a particular query. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 organic_clicks = 230;</code>
     * @return int|string
     */
    public function getOrganicClicks()
    {
        return isset($this->organic_clicks) ? $this->organic_clicks : 0;
    }

    public function hasOrganicClicks()
    {
        return isset($this->organic_clicks);
    }

    public function clearOrganicClicks()
    {
        unset($this->organic_clicks);
    }

    /**
     * The number of times someone clicked your site's listing in the unpaid
     * results for a particular query. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 organic_clicks = 230;</code>
     * @param int|string $var
     * @return $this
     */
    public function setOrganicClicks($var)
    {
        GPBUtil::checkInt64($var);
        $this->organic_clicks = $var;

        return $this;
    }

    /**
     * The number of times someone clicked your site's listing in the unpaid
     * results (organic_clicks) divided by the total number of searches that
     * returned pages from your site (organic_queries). See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional double organic_clicks_per_query = 231;</code>
     * @return float
     */
    public function getOrganicClicksPerQuery()
    {
        return isset($this->organic_clicks_per_query) ? $this->organic_clicks_per_query : 0.0;
    }

    public function hasOrganicClicksPerQuery()
    {
        return isset($this->organic_clicks_per_query);
    }

    public function clearOrganicClicksPerQuery()
    {
        unset($this->organic_clicks_per_query);
    }

    /**
     * The number of times someone clicked your site's listing in the unpaid
     * results (organic_clicks) divided by the total number of searches that
     * returned pages from your site (organic_queries). See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional double organic_clicks_per_query = 231;</code>
     * @param float $var
     * @return $this
     */
    public function setOrganicClicksPerQuery($var)
    {
        GPBUtil::checkDouble($var);
        $this->organic_clicks_per_query = $var;

        return $this;
    }

    /**
     * The number of listings for your site in the unpaid search results. See the
     * help page at https://support.google.com/google-ads/answer/3097241 for
     * details.
     *
     * Generated from protobuf field <code>optional int64 organic_impressions = 232;</code>
     * @return int|string
     */
    public function getOrganicImpressions()
    {
        return isset($this->organic_impressions) ? $this->organic_impressions : 0;
    }

    public function hasOrganicImpressions()
    {
        return isset($this->organic_impressions);
    }

    public function clearOrganicImpressions()
    {
        unset($this->organic_impressions);
    }

    /**
     * The number of listings for your site in the unpaid search results. See the
     * help page at https://support.google.com/google-ads/answer/3097241 for
     * details.
     *
     * Generated from protobuf field <code>optional int64 organic_impressions = 232;</code>
     * @param int|string $var
     * @return $this
     */
    public function setOrganicImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->organic_impressions = $var;

        return $this;
    }

    /**
     * The number of times a page from your site was listed in the unpaid search
     * results (organic_impressions) divided by the number of searches returning
     * your site's listing in the unpaid results (organic_queries). See the help
     * page at https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional double organic_impressions_per_query = 233;</code>
     * @return float
     */
    public function getOrganicImpressionsPerQuery()
    {
        return isset($this->organic_impressions_per_query) ? $this->organic_impressions_per_query : 0.0;
    }

    public function hasOrganicImpressionsPerQuery()
    {
        return isset($this->organic_impressions_per_query);
    }

    public function clearOrganicImpressionsPerQuery()
    {
        unset($this->organic_impressions_per_query);
    }

    /**
     * The number of times a page from your site was listed in the unpaid search
     * results (organic_impressions) divided by the number of searches returning
     * your site's listing in the unpaid results (organic_queries). See the help
     * page at https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional double organic_impressions_per_query = 233;</code>
     * @param float $var
     * @return $this
     */
    public function setOrganicImpressionsPerQuery($var)
    {
        GPBUtil::checkDouble($var);
        $this->organic_impressions_per_query = $var;

        return $this;
    }

    /**
     * The total number of searches that returned your site's listing in the
     * unpaid results. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 organic_queries = 234;</code>
     * @return int|string
     */
    public function getOrganicQueries()
    {
        return isset($this->organic_queries) ? $this->organic_queries : 0;
    }

    public function hasOrganicQueries()
    {
        return isset($this->organic_queries);
    }

    public function clearOrganicQueries()
    {
        unset($this->organic_queries);
    }

    /**
     * The total number of searches that returned your site's listing in the
     * unpaid results. See the help page at
     * https://support.google.com/google-ads/answer/3097241 for details.
     *
     * Generated from protobuf field <code>optional int64 organic_queries = 234;</code>
     * @param int|string $var
     * @return $this
     */
    public function setOrganicQueries($var)
    {
        GPBUtil::checkInt64($var);
        $this->organic_queries = $var;

        return $this;
    }

    /**
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     *
     * Generated from protobuf field <code>optional double percent_new_visitors = 235;</code>
     * @return float
     */
    public function getPercentNewVisitors()
    {
        return isset($this->percent_new_visitors) ? $this->percent_new_visitors : 0.0;
    }

    public function hasPercentNewVisitors()
    {
        return isset($this->percent_new_visitors);
    }

    public function clearPercentNewVisitors()
    {
        unset($this->percent_new_visitors);
    }

    /**
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     *
     * Generated from protobuf field <code>optional double percent_new_visitors = 235;</code>
     * @param float $var
     * @return $this
     */
    public function setPercentNewVisitors($var)
    {
        GPBUtil::checkDouble($var);
        $this->percent_new_visitors = $var;

        return $this;
    }

    /**
     * Number of offline phone calls.
     *
     * Generated from protobuf field <code>optional int64 phone_calls = 236;</code>
     * @return int|string
     */
    public function getPhoneCalls()
    {
        return isset($this->phone_calls) ? $this->phone_calls : 0;
    }

    public function hasPhoneCalls()
    {
        return isset($this->phone_calls);
    }

    public function clearPhoneCalls()
    {
        unset($this->phone_calls);
    }

    /**
     * Number of offline phone calls.
     *
     * Generated from protobuf field <code>optional int64 phone_calls = 236;</code>
     * @param int|string $var
     * @return $this
     */
    public function setPhoneCalls($var)
    {
        GPBUtil::checkInt64($var);
        $this->phone_calls = $var;

        return $this;
    }

    /**
     * Number of offline phone impressions.
     *
     * Generated from protobuf field <code>optional int64 phone_impressions = 237;</code>
     * @return int|string
     */
    public function getPhoneImpressions()
    {
        return isset($this->phone_impressions) ? $this->phone_impressions : 0;
    }

    public function hasPhoneImpressions()
    {
        return isset($this->phone_impressions);
    }

    public function clearPhoneImpressions()
    {
        unset($this->phone_impressions);
    }

    /**
     * Number of offline phone impressions.
     *
     * Generated from protobuf field <code>optional int64 phone_impressions = 237;</code>
     * @param int|string $var
     * @return $this
     */
    public function setPhoneImpressions($var)
    {
        GPBUtil::checkInt64($var);
        $this->phone_impressions = $var;

        return $this;
    }

    /**
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     *
     * Generated from protobuf field <code>optional double phone_through_rate = 238;</code>
     * @return float
     */
    public function getPhoneThroughRate()
    {
        return isset($this->phone_through_rate) ? $this->phone_through_rate : 0.0;
    }

    public function hasPhoneThroughRate()
    {
        return isset($this->phone_through_rate);
    }

    public function clearPhoneThroughRate()
    {
        unset($this->phone_through_rate);
    }

    /**
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     *
     * Generated from protobuf field <code>optional double phone_through_rate = 238;</code>
     * @param float $var
     * @return $this
     */
    public function setPhoneThroughRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->phone_through_rate = $var;

        return $this;
    }

    /**
     * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
     * all advertisers on the websites that show your ads. Measures how your ads
     * perform on Display Network sites compared to other ads on the same sites.
     *
     * Generated from protobuf field <code>optional double relative_ctr = 239;</code>
     * @return float
     */
    public function getRelativeCtr()
    {
        return isset($this->relative_ctr) ? $this->relative_ctr : 0.0;
    }

    public function hasRelativeCtr()
    {
        return isset($this->relative_ctr);
    }

    public function clearRelativeCtr()
    {
        unset($this->relative_ctr);
    }

    /**
     * Your clickthrough rate (Ctr) divided by the average clickthrough rate of
     * all advertisers on the websites that show your ads. Measures how your ads
     * perform on Display Network sites compared to other ads on the same sites.
     *
     * Generated from protobuf field <code>optional double relative_ctr = 239;</code>
     * @param float $var
     * @return $this
     */
    public function setRelativeCtr($var)
    {
        GPBUtil::checkDouble($var);
        $this->relative_ctr = $var;

        return $this;
    }

    /**
     * The percentage of the customer's Shopping or Search ad impressions that are
     * shown in the most prominent Shopping position. See
     * https://support.google.com/google-ads/answer/7501826
     * for details. Any value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_absolute_top_impression_share = 136;</code>
     * @return float
     */
    public function getSearchAbsoluteTopImpressionShare()
    {
        return isset($this->search_absolute_top_impression_share) ? $this->search_absolute_top_impression_share : 0.0;
    }

    public function hasSearchAbsoluteTopImpressionShare()
    {
        return isset($this->search_absolute_top_impression_share);
    }

    public function clearSearchAbsoluteTopImpressionShare()
    {
        unset($this->search_absolute_top_impression_share);
    }

    /**
     * The percentage of the customer's Shopping or Search ad impressions that are
     * shown in the most prominent Shopping position. See
     * https://support.google.com/google-ads/answer/7501826
     * for details. Any value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_absolute_top_impression_share = 136;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchAbsoluteTopImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_absolute_top_impression_share = $var;

        return $this;
    }

    /**
     * The number estimating how often your ad wasn't the very first ad above the
     * organic search results due to a low budget. Note: Search
     * budget lost absolute top impression share is reported in the range of 0 to
     * 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_absolute_top_impression_share = 137;</code>
     * @return float
     */
    public function getSearchBudgetLostAbsoluteTopImpressionShare()
    {
        return isset($this->search_budget_lost_absolute_top_impression_share) ? $this->search_budget_lost_absolute_top_impression_share : 0.0;
    }

    public function hasSearchBudgetLostAbsoluteTopImpressionShare()
    {
        return isset($this->search_budget_lost_absolute_top_impression_share);
    }

    public function clearSearchBudgetLostAbsoluteTopImpressionShare()
    {
        unset($this->search_budget_lost_absolute_top_impression_share);
    }

    /**
     * The number estimating how often your ad wasn't the very first ad above the
     * organic search results due to a low budget. Note: Search
     * budget lost absolute top impression share is reported in the range of 0 to
     * 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_absolute_top_impression_share = 137;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchBudgetLostAbsoluteTopImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_budget_lost_absolute_top_impression_share = $var;

        return $this;
    }

    /**
     * The estimated percent of times that your ad was eligible to show on the
     * Search Network but didn't because your budget was too low. Note: Search
     * budget lost impression share is reported in the range of 0 to 0.9. Any
     * value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_impression_share = 138;</code>
     * @return float
     */
    public function getSearchBudgetLostImpressionShare()
    {
        return isset($this->search_budget_lost_impression_share) ? $this->search_budget_lost_impression_share : 0.0;
    }

    public function hasSearchBudgetLostImpressionShare()
    {
        return isset($this->search_budget_lost_impression_share);
    }

    public function clearSearchBudgetLostImpressionShare()
    {
        unset($this->search_budget_lost_impression_share);
    }

    /**
     * The estimated percent of times that your ad was eligible to show on the
     * Search Network but didn't because your budget was too low. Note: Search
     * budget lost impression share is reported in the range of 0 to 0.9. Any
     * value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_impression_share = 138;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchBudgetLostImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_budget_lost_impression_share = $var;

        return $this;
    }

    /**
     * The number estimating how often your ad didn't show anywhere above the
     * organic search results due to a low budget. Note: Search
     * budget lost top impression share is reported in the range of 0 to 0.9. Any
     * value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_top_impression_share = 139;</code>
     * @return float
     */
    public function getSearchBudgetLostTopImpressionShare()
    {
        return isset($this->search_budget_lost_top_impression_share) ? $this->search_budget_lost_top_impression_share : 0.0;
    }

    public function hasSearchBudgetLostTopImpressionShare()
    {
        return isset($this->search_budget_lost_top_impression_share);
    }

    public function clearSearchBudgetLostTopImpressionShare()
    {
        unset($this->search_budget_lost_top_impression_share);
    }

    /**
     * The number estimating how often your ad didn't show anywhere above the
     * organic search results due to a low budget. Note: Search
     * budget lost top impression share is reported in the range of 0 to 0.9. Any
     * value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_budget_lost_top_impression_share = 139;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchBudgetLostTopImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_budget_lost_top_impression_share = $var;

        return $this;
    }

    /**
     * The number of clicks you've received on the Search Network
     * divided by the estimated number of clicks you were eligible to receive.
     * Note: Search click share is reported in the range of 0.1 to 1. Any value
     * below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_click_share = 140;</code>
     * @return float
     */
    public function getSearchClickShare()
    {
        return isset($this->search_click_share) ? $this->search_click_share : 0.0;
    }

    public function hasSearchClickShare()
    {
        return isset($this->search_click_share);
    }

    public function clearSearchClickShare()
    {
        unset($this->search_click_share);
    }

    /**
     * The number of clicks you've received on the Search Network
     * divided by the estimated number of clicks you were eligible to receive.
     * Note: Search click share is reported in the range of 0.1 to 1. Any value
     * below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_click_share = 140;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchClickShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_click_share = $var;

        return $this;
    }

    /**
     * The impressions you've received divided by the estimated number of
     * impressions you were eligible to receive on the Search Network for search
     * terms that matched your keywords exactly (or were close variants of your
     * keyword), regardless of your keyword match types. Note: Search exact match
     * impression share is reported in the range of 0.1 to 1. Any value below 0.1
     * is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_exact_match_impression_share = 141;</code>
     * @return float
     */
    public function getSearchExactMatchImpressionShare()
    {
        return isset($this->search_exact_match_impression_share) ? $this->search_exact_match_impression_share : 0.0;
    }

    public function hasSearchExactMatchImpressionShare()
    {
        return isset($this->search_exact_match_impression_share);
    }

    public function clearSearchExactMatchImpressionShare()
    {
        unset($this->search_exact_match_impression_share);
    }

    /**
     * The impressions you've received divided by the estimated number of
     * impressions you were eligible to receive on the Search Network for search
     * terms that matched your keywords exactly (or were close variants of your
     * keyword), regardless of your keyword match types. Note: Search exact match
     * impression share is reported in the range of 0.1 to 1. Any value below 0.1
     * is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_exact_match_impression_share = 141;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchExactMatchImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_exact_match_impression_share = $var;

        return $this;
    }

    /**
     * The impressions you've received on the Search Network divided
     * by the estimated number of impressions you were eligible to receive.
     * Note: Search impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_impression_share = 142;</code>
     * @return float
     */
    public function getSearchImpressionShare()
    {
        return isset($this->search_impression_share) ? $this->search_impression_share : 0.0;
    }

    public function hasSearchImpressionShare()
    {
        return isset($this->search_impression_share);
    }

    public function clearSearchImpressionShare()
    {
        unset($this->search_impression_share);
    }

    /**
     * The impressions you've received on the Search Network divided
     * by the estimated number of impressions you were eligible to receive.
     * Note: Search impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_impression_share = 142;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_impression_share = $var;

        return $this;
    }

    /**
     * The number estimating how often your ad wasn't the very first ad above the
     * organic search results due to poor Ad Rank.
     * Note: Search rank lost absolute top impression share is reported in the
     * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_absolute_top_impression_share = 143;</code>
     * @return float
     */
    public function getSearchRankLostAbsoluteTopImpressionShare()
    {
        return isset($this->search_rank_lost_absolute_top_impression_share) ? $this->search_rank_lost_absolute_top_impression_share : 0.0;
    }

    public function hasSearchRankLostAbsoluteTopImpressionShare()
    {
        return isset($this->search_rank_lost_absolute_top_impression_share);
    }

    public function clearSearchRankLostAbsoluteTopImpressionShare()
    {
        unset($this->search_rank_lost_absolute_top_impression_share);
    }

    /**
     * The number estimating how often your ad wasn't the very first ad above the
     * organic search results due to poor Ad Rank.
     * Note: Search rank lost absolute top impression share is reported in the
     * range of 0 to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_absolute_top_impression_share = 143;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchRankLostAbsoluteTopImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_rank_lost_absolute_top_impression_share = $var;

        return $this;
    }

    /**
     * The estimated percentage of impressions on the Search Network
     * that your ads didn't receive due to poor Ad Rank.
     * Note: Search rank lost impression share is reported in the range of 0 to
     * 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_impression_share = 144;</code>
     * @return float
     */
    public function getSearchRankLostImpressionShare()
    {
        return isset($this->search_rank_lost_impression_share) ? $this->search_rank_lost_impression_share : 0.0;
    }

    public function hasSearchRankLostImpressionShare()
    {
        return isset($this->search_rank_lost_impression_share);
    }

    public function clearSearchRankLostImpressionShare()
    {
        unset($this->search_rank_lost_impression_share);
    }

    /**
     * The estimated percentage of impressions on the Search Network
     * that your ads didn't receive due to poor Ad Rank.
     * Note: Search rank lost impression share is reported in the range of 0 to
     * 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_impression_share = 144;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchRankLostImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_rank_lost_impression_share = $var;

        return $this;
    }

    /**
     * The number estimating how often your ad didn't show anywhere above the
     * organic search results due to poor Ad Rank.
     * Note: Search rank lost top impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_top_impression_share = 145;</code>
     * @return float
     */
    public function getSearchRankLostTopImpressionShare()
    {
        return isset($this->search_rank_lost_top_impression_share) ? $this->search_rank_lost_top_impression_share : 0.0;
    }

    public function hasSearchRankLostTopImpressionShare()
    {
        return isset($this->search_rank_lost_top_impression_share);
    }

    public function clearSearchRankLostTopImpressionShare()
    {
        unset($this->search_rank_lost_top_impression_share);
    }

    /**
     * The number estimating how often your ad didn't show anywhere above the
     * organic search results due to poor Ad Rank.
     * Note: Search rank lost top impression share is reported in the range of 0
     * to 0.9. Any value above 0.9 is reported as 0.9001.
     *
     * Generated from protobuf field <code>optional double search_rank_lost_top_impression_share = 145;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchRankLostTopImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_rank_lost_top_impression_share = $var;

        return $this;
    }

    /**
     * The impressions you've received in the top location (anywhere above the
     * organic search results) compared to the estimated number of impressions you
     * were eligible to receive in the top location.
     * Note: Search top impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_top_impression_share = 146;</code>
     * @return float
     */
    public function getSearchTopImpressionShare()
    {
        return isset($this->search_top_impression_share) ? $this->search_top_impression_share : 0.0;
    }

    public function hasSearchTopImpressionShare()
    {
        return isset($this->search_top_impression_share);
    }

    public function clearSearchTopImpressionShare()
    {
        unset($this->search_top_impression_share);
    }

    /**
     * The impressions you've received in the top location (anywhere above the
     * organic search results) compared to the estimated number of impressions you
     * were eligible to receive in the top location.
     * Note: Search top impression share is reported in the range of 0.1 to 1. Any
     * value below 0.1 is reported as 0.0999.
     *
     * Generated from protobuf field <code>optional double search_top_impression_share = 146;</code>
     * @param float $var
     * @return $this
     */
    public function setSearchTopImpressionShare($var)
    {
        GPBUtil::checkDouble($var);
        $this->search_top_impression_share = $var;

        return $this;
    }

    /**
     * A measure of how quickly your page loads after clicks on your mobile ads.
     * The score is a range from 1 to 10, 10 being the fastest.
     *
     * Generated from protobuf field <code>optional int64 speed_score = 147;</code>
     * @return int|string
     */
    public function getSpeedScore()
    {
        return isset($this->speed_score) ? $this->speed_score : 0;
    }

    public function hasSpeedScore()
    {
        return isset($this->speed_score);
    }

    public function clearSpeedScore()
    {
        unset($this->speed_score);
    }

    /**
     * A measure of how quickly your page loads after clicks on your mobile ads.
     * The score is a range from 1 to 10, 10 being the fastest.
     *
     * Generated from protobuf field <code>optional int64 speed_score = 147;</code>
     * @param int|string $var
     * @return $this
     */
    public function setSpeedScore($var)
    {
        GPBUtil::checkInt64($var);
        $this->speed_score = $var;

        return $this;
    }

    /**
     * The percent of your ad impressions that are shown anywhere above the
     * organic search results.
     *
     * Generated from protobuf field <code>optional double top_impression_percentage = 148;</code>
     * @return float
     */
    public function getTopImpressionPercentage()
    {
        return isset($this->top_impression_percentage) ? $this->top_impression_percentage : 0.0;
    }

    public function hasTopImpressionPercentage()
    {
        return isset($this->top_impression_percentage);
    }

    public function clearTopImpressionPercentage()
    {
        unset($this->top_impression_percentage);
    }

    /**
     * The percent of your ad impressions that are shown anywhere above the
     * organic search results.
     *
     * Generated from protobuf field <code>optional double top_impression_percentage = 148;</code>
     * @param float $var
     * @return $this
     */
    public function setTopImpressionPercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->top_impression_percentage = $var;

        return $this;
    }

    /**
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     *
     * Generated from protobuf field <code>optional double valid_accelerated_mobile_pages_clicks_percentage = 149;</code>
     * @return float
     */
    public function getValidAcceleratedMobilePagesClicksPercentage()
    {
        return isset($this->valid_accelerated_mobile_pages_clicks_percentage) ? $this->valid_accelerated_mobile_pages_clicks_percentage : 0.0;
    }

    public function hasValidAcceleratedMobilePagesClicksPercentage()
    {
        return isset($this->valid_accelerated_mobile_pages_clicks_percentage);
    }

    public function clearValidAcceleratedMobilePagesClicksPercentage()
    {
        unset($this->valid_accelerated_mobile_pages_clicks_percentage);
    }

    /**
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     *
     * Generated from protobuf field <code>optional double valid_accelerated_mobile_pages_clicks_percentage = 149;</code>
     * @param float $var
     * @return $this
     */
    public function setValidAcceleratedMobilePagesClicksPercentage($var)
    {
        GPBUtil::checkDouble($var);
        $this->valid_accelerated_mobile_pages_clicks_percentage = $var;

        return $this;
    }

    /**
     * The value of all conversions divided by the number of all conversions.
     *
     * Generated from protobuf field <code>optional double value_per_all_conversions = 150;</code>
     * @return float
     */
    public function getValuePerAllConversions()
    {
        return isset($this->value_per_all_conversions) ? $this->value_per_all_conversions : 0.0;
    }

    public function hasValuePerAllConversions()
    {
        return isset($this->value_per_all_conversions);
    }

    public function clearValuePerAllConversions()
    {
        unset($this->value_per_all_conversions);
    }

    /**
     * The value of all conversions divided by the number of all conversions.
     *
     * Generated from protobuf field <code>optional double value_per_all_conversions = 150;</code>
     * @param float $var
     * @return $this
     */
    public function setValuePerAllConversions($var)
    {
        GPBUtil::checkDouble($var);
        $this->value_per_all_conversions = $var;

        return $this;
    }

    /**
     * The value of all conversions divided by the number of all conversions. When
     * this column is selected with date, the values in date column means the
     * conversion date. Details for the by_conversion_date columns are available
     * at https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>optional double value_per_all_conversions_by_conversion_date = 244;</code>
     * @return float
     */
    public function getValuePerAllConversionsByConversionDate()
    {
        return isset($this->value_per_all_conversions_by_conversion_date) ? $this->value_per_all_conversions_by_conversion_date : 0.0;
    }

    public function hasValuePerAllConversionsByConversionDate()
    {
        return isset($this->value_per_all_conversions_by_conversion_date);
    }

    public function clearValuePerAllConversionsByConversionDate()
    {
        unset($this->value_per_all_conversions_by_conversion_date);
    }

    /**
     * The value of all conversions divided by the number of all conversions. When
     * this column is selected with date, the values in date column means the
     * conversion date. Details for the by_conversion_date columns are available
     * at https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>optional double value_per_all_conversions_by_conversion_date = 244;</code>
     * @param float $var
     * @return $this
     */
    public function setValuePerAllConversionsByConversionDate($var)
    {
        GPBUtil::checkDouble($var);
        $this->value_per_all_conversions_by_conversion_date = $var;

        return $this;
    }

    /**
     * The value of conversions divided by the number of conversions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double value_per_conversion = 151;</code>
     * @return float
     */
    public function getValuePerConversion()
    {
        return isset($this->value_per_conversion) ? $this->value_per_conversion : 0.0;
    }

    public function hasValuePerConversion()
    {
        return isset($this->value_per_conversion);
    }

    public function clearValuePerConversion()
    {
        unset($this->value_per_conversion);
    }

    /**
     * The value of conversions divided by the number of conversions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions.
     *
     * Generated from protobuf field <code>optional double value_per_conversion = 151;</code>
     * @param float $var
     * @return $this
     */
    public function setValuePerConversion($var)
    {
        GPBUtil::checkDouble($var);
        $this->value_per_conversion = $var;

        return $this;
    }

    /**
     * The value of conversions divided by the number of conversions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions. When this column is selected with
     * date, the values in date column means the conversion date. Details for the
     * by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>optional double value_per_conversions_by_conversion_date = 245;</code>
     * @return float
     */
    public function getValuePerConversionsByConversionDate()
    {
        return isset($this->value_per_conversions_by_conversion_date) ? $this->value_per_conversions_by_conversion_date : 0.0;
    }

    public function hasValuePerConversionsByConversionDate()
    {
        return isset($this->value_per_conversions_by_conversion_date);
    }

    public function clearValuePerConversionsByConversionDate()
    {
        unset($this->value_per_conversions_by_conversion_date);
    }

    /**
     * The value of conversions divided by the number of conversions. This only
     * includes conversion actions which include_in_conversions_metric attribute
     * is set to true. If you use conversion-based bidding, your bid strategies
     * will optimize for these conversions. When this column is selected with
     * date, the values in date column means the conversion date. Details for the
     * by_conversion_date columns are available at
     * https://support.google.com/google-ads/answer/9549009.
     *
     * Generated from protobuf field <code>optional double value_per_conversions_by_conversion_date = 245;</code>
     * @param float $var
     * @return $this
     */
    public function setValuePerConversionsByConversionDate($var)
    {
        GPBUtil::checkDouble($var);
        $this->value_per_conversions_by_conversion_date = $var;

        return $this;
    }

    /**
     * The value of current model attributed conversions divided by the number of
     * the conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double value_per_current_model_attributed_conversion = 152;</code>
     * @return float
     */
    public function getValuePerCurrentModelAttributedConversion()
    {
        return isset($this->value_per_current_model_attributed_conversion) ? $this->value_per_current_model_attributed_conversion : 0.0;
    }

    public function hasValuePerCurrentModelAttributedConversion()
    {
        return isset($this->value_per_current_model_attributed_conversion);
    }

    public function clearValuePerCurrentModelAttributedConversion()
    {
        unset($this->value_per_current_model_attributed_conversion);
    }

    /**
     * The value of current model attributed conversions divided by the number of
     * the conversions. This only includes conversion actions which
     * include_in_conversions_metric attribute is set to true. If you use
     * conversion-based bidding, your bid strategies will optimize for these
     * conversions.
     *
     * Generated from protobuf field <code>optional double value_per_current_model_attributed_conversion = 152;</code>
     * @param float $var
     * @return $this
     */
    public function setValuePerCurrentModelAttributedConversion($var)
    {
        GPBUtil::checkDouble($var);
        $this->value_per_current_model_attributed_conversion = $var;

        return $this;
    }

    /**
     * Percentage of impressions where the viewer watched all of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p100_rate = 132;</code>
     * @return float
     */
    public function getVideoQuartileP100Rate()
    {
        return isset($this->video_quartile_p100_rate) ? $this->video_quartile_p100_rate : 0.0;
    }

    public function hasVideoQuartileP100Rate()
    {
        return isset($this->video_quartile_p100_rate);
    }

    public function clearVideoQuartileP100Rate()
    {
        unset($this->video_quartile_p100_rate);
    }

    /**
     * Percentage of impressions where the viewer watched all of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p100_rate = 132;</code>
     * @param float $var
     * @return $this
     */
    public function setVideoQuartileP100Rate($var)
    {
        GPBUtil::checkDouble($var);
        $this->video_quartile_p100_rate = $var;

        return $this;
    }

    /**
     * Percentage of impressions where the viewer watched 25% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p25_rate = 133;</code>
     * @return float
     */
    public function getVideoQuartileP25Rate()
    {
        return isset($this->video_quartile_p25_rate) ? $this->video_quartile_p25_rate : 0.0;
    }

    public function hasVideoQuartileP25Rate()
    {
        return isset($this->video_quartile_p25_rate);
    }

    public function clearVideoQuartileP25Rate()
    {
        unset($this->video_quartile_p25_rate);
    }

    /**
     * Percentage of impressions where the viewer watched 25% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p25_rate = 133;</code>
     * @param float $var
     * @return $this
     */
    public function setVideoQuartileP25Rate($var)
    {
        GPBUtil::checkDouble($var);
        $this->video_quartile_p25_rate = $var;

        return $this;
    }

    /**
     * Percentage of impressions where the viewer watched 50% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p50_rate = 134;</code>
     * @return float
     */
    public function getVideoQuartileP50Rate()
    {
        return isset($this->video_quartile_p50_rate) ? $this->video_quartile_p50_rate : 0.0;
    }

    public function hasVideoQuartileP50Rate()
    {
        return isset($this->video_quartile_p50_rate);
    }

    public function clearVideoQuartileP50Rate()
    {
        unset($this->video_quartile_p50_rate);
    }

    /**
     * Percentage of impressions where the viewer watched 50% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p50_rate = 134;</code>
     * @param float $var
     * @return $this
     */
    public function setVideoQuartileP50Rate($var)
    {
        GPBUtil::checkDouble($var);
        $this->video_quartile_p50_rate = $var;

        return $this;
    }

    /**
     * Percentage of impressions where the viewer watched 75% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p75_rate = 135;</code>
     * @return float
     */
    public function getVideoQuartileP75Rate()
    {
        return isset($this->video_quartile_p75_rate) ? $this->video_quartile_p75_rate : 0.0;
    }

    public function hasVideoQuartileP75Rate()
    {
        return isset($this->video_quartile_p75_rate);
    }

    public function clearVideoQuartileP75Rate()
    {
        unset($this->video_quartile_p75_rate);
    }

    /**
     * Percentage of impressions where the viewer watched 75% of your video.
     *
     * Generated from protobuf field <code>optional double video_quartile_p75_rate = 135;</code>
     * @param float $var
     * @return $this
     */
    public function setVideoQuartileP75Rate($var)
    {
        GPBUtil::checkDouble($var);
        $this->video_quartile_p75_rate = $var;

        return $this;
    }

    /**
     * The number of views your TrueView video ad receives divided by its number
     * of impressions, including thumbnail impressions for TrueView in-display
     * ads.
     *
     * Generated from protobuf field <code>optional double video_view_rate = 153;</code>
     * @return float
     */
    public function getVideoViewRate()
    {
        return isset($this->video_view_rate) ? $this->video_view_rate : 0.0;
    }

    public function hasVideoViewRate()
    {
        return isset($this->video_view_rate);
    }

    public function clearVideoViewRate()
    {
        unset($this->video_view_rate);
    }

    /**
     * The number of views your TrueView video ad receives divided by its number
     * of impressions, including thumbnail impressions for TrueView in-display
     * ads.
     *
     * Generated from protobuf field <code>optional double video_view_rate = 153;</code>
     * @param float $var
     * @return $this
     */
    public function setVideoViewRate($var)
    {
        GPBUtil::checkDouble($var);
        $this->video_view_rate = $var;

        return $this;
    }

    /**
     * The number of times your video ads were viewed.
     *
     * Generated from protobuf field <code>optional int64 video_views = 154;</code>
     * @return int|string
     */
    public function getVideoViews()
    {
        return isset($this->video_views) ? $this->video_views : 0;
    }

    public function hasVideoViews()
    {
        return isset($this->video_views);
    }

    public function clearVideoViews()
    {
        unset($this->video_views);
    }

    /**
     * The number of times your video ads were viewed.
     *
     * Generated from protobuf field <code>optional int64 video_views = 154;</code>
     * @param int|string $var
     * @return $this
     */
    public function setVideoViews($var)
    {
        GPBUtil::checkInt64($var);
        $this->video_views = $var;

        return $this;
    }

    /**
     * The total number of view-through conversions.
     * These happen when a customer sees an image or rich media ad, then later
     * completes a conversion on your site without interacting with (e.g.,
     * clicking on) another ad.
     *
     * Generated from protobuf field <code>optional int64 view_through_conversions = 155;</code>
     * @return int|string
     */
    public function getViewThroughConversions()
    {
        return isset($this->view_through_conversions) ? $this->view_through_conversions : 0;
    }

    public function hasViewThroughConversions()
    {
        return isset($this->view_through_conversions);
    }

    public function clearViewThroughConversions()
    {
        unset($this->view_through_conversions);
    }

    /**
     * The total number of view-through conversions.
     * These happen when a customer sees an image or rich media ad, then later
     * completes a conversion on your site without interacting with (e.g.,
     * clicking on) another ad.
     *
     * Generated from protobuf field <code>optional int64 view_through_conversions = 155;</code>
     * @param int|string $var
     * @return $this
     */
    public function setViewThroughConversions($var)
    {
        GPBUtil::checkInt64($var);
        $this->view_through_conversions = $var;

        return $this;
    }

    /**
     * The number of iOS Store Kit Ad Network conversions.
     *
     * Generated from protobuf field <code>int64 sk_ad_network_conversions = 246;</code>
     * @return int|string
     */
    public function getSkAdNetworkConversions()
    {
        return $this->sk_ad_network_conversions;
    }

    /**
     * The number of iOS Store Kit Ad Network conversions.
     *
     * Generated from protobuf field <code>int64 sk_ad_network_conversions = 246;</code>
     * @param int|string $var
     * @return $this
     */
    public function setSkAdNetworkConversions($var)
    {
        GPBUtil::checkInt64($var);
        $this->sk_ad_network_conversions = $var;

        return $this;
    }

}

