All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.google.ads.googleads.v18.common.Metrics Maven / Gradle / Ivy

The newest version!
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: google/ads/googleads/v18/common/metrics.proto

// Protobuf Java Version: 3.25.3
package com.google.ads.googleads.v18.common;

/**
 * 
 * Metrics data.
 * 
* * Protobuf type {@code google.ads.googleads.v18.common.Metrics} */ public final class Metrics extends com.google.protobuf.GeneratedMessageV3 implements // @@protoc_insertion_point(message_implements:google.ads.googleads.v18.common.Metrics) MetricsOrBuilder { private static final long serialVersionUID = 0L; // Use Metrics.newBuilder() to construct. private Metrics(com.google.protobuf.GeneratedMessageV3.Builder builder) { super(builder); } private Metrics() { conversionLastReceivedRequestDateTime_ = ""; conversionLastConversionDate_ = ""; historicalCreativeQualityScore_ = 0; historicalLandingPageQualityScore_ = 0; historicalSearchPredictedCtr_ = 0; interactionEventTypes_ = java.util.Collections.emptyList(); optimizationScoreUrl_ = ""; linkedSampleEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleBestPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleGoodPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleLowPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleLearningPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleUnratedPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); } @java.lang.Override @SuppressWarnings({"unused"}) protected java.lang.Object newInstance( UnusedPrivateParameter unused) { return new Metrics(); } public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v18.common.MetricsProto.internal_static_google_ads_googleads_v18_common_Metrics_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v18.common.MetricsProto.internal_static_google_ads_googleads_v18_common_Metrics_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v18.common.Metrics.class, com.google.ads.googleads.v18.common.Metrics.Builder.class); } private int bitField0_; private int bitField1_; private int bitField2_; private int bitField3_; private int bitField4_; private int bitField5_; public static final int ABSOLUTE_TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 183; private double absoluteTopImpressionPercentage_ = 0D; /** *
   * Search absolute top impression share is the percentage of your Search ad
   * impressions that are shown in the most prominent Search position.
   * 
* * optional double absolute_top_impression_percentage = 183; * @return Whether the absoluteTopImpressionPercentage field is set. */ @java.lang.Override public boolean hasAbsoluteTopImpressionPercentage() { return ((bitField0_ & 0x00000001) != 0); } /** *
   * Search absolute top impression share is the percentage of your Search ad
   * impressions that are shown in the most prominent Search position.
   * 
* * optional double absolute_top_impression_percentage = 183; * @return The absoluteTopImpressionPercentage. */ @java.lang.Override public double getAbsoluteTopImpressionPercentage() { return absoluteTopImpressionPercentage_; } public static final int ACTIVE_VIEW_CPM_FIELD_NUMBER = 184; private double activeViewCpm_ = 0D; /** *
   * Average cost of viewable impressions (`active_view_impressions`).
   * 
* * optional double active_view_cpm = 184; * @return Whether the activeViewCpm field is set. */ @java.lang.Override public boolean hasActiveViewCpm() { return ((bitField0_ & 0x00000002) != 0); } /** *
   * Average cost of viewable impressions (`active_view_impressions`).
   * 
* * optional double active_view_cpm = 184; * @return The activeViewCpm. */ @java.lang.Override public double getActiveViewCpm() { return activeViewCpm_; } public static final int ACTIVE_VIEW_CTR_FIELD_NUMBER = 185; private double activeViewCtr_ = 0D; /** *
   * Active view measurable clicks divided by active view viewable impressions.
   *
   * This metric is reported only for the Display Network.
   * 
* * optional double active_view_ctr = 185; * @return Whether the activeViewCtr field is set. */ @java.lang.Override public boolean hasActiveViewCtr() { return ((bitField0_ & 0x00000004) != 0); } /** *
   * Active view measurable clicks divided by active view viewable impressions.
   *
   * This metric is reported only for the Display Network.
   * 
* * optional double active_view_ctr = 185; * @return The activeViewCtr. */ @java.lang.Override public double getActiveViewCtr() { return activeViewCtr_; } public static final int ACTIVE_VIEW_IMPRESSIONS_FIELD_NUMBER = 186; private long activeViewImpressions_ = 0L; /** *
   * A measurement of how often your ad has become viewable on a Display
   * Network site.
   * 
* * optional int64 active_view_impressions = 186; * @return Whether the activeViewImpressions field is set. */ @java.lang.Override public boolean hasActiveViewImpressions() { return ((bitField0_ & 0x00000008) != 0); } /** *
   * A measurement of how often your ad has become viewable on a Display
   * Network site.
   * 
* * optional int64 active_view_impressions = 186; * @return The activeViewImpressions. */ @java.lang.Override public long getActiveViewImpressions() { return activeViewImpressions_; } public static final int ACTIVE_VIEW_MEASURABILITY_FIELD_NUMBER = 187; private double activeViewMeasurability_ = 0D; /** *
   * The ratio of impressions that could be measured by Active View over the
   * number of served impressions.
   * 
* * optional double active_view_measurability = 187; * @return Whether the activeViewMeasurability field is set. */ @java.lang.Override public boolean hasActiveViewMeasurability() { return ((bitField0_ & 0x00000010) != 0); } /** *
   * The ratio of impressions that could be measured by Active View over the
   * number of served impressions.
   * 
* * optional double active_view_measurability = 187; * @return The activeViewMeasurability. */ @java.lang.Override public double getActiveViewMeasurability() { return activeViewMeasurability_; } public static final int ACTIVE_VIEW_MEASURABLE_COST_MICROS_FIELD_NUMBER = 188; private long activeViewMeasurableCostMicros_ = 0L; /** *
   * The cost of the impressions you received that were measurable by Active
   * View.
   * 
* * optional int64 active_view_measurable_cost_micros = 188; * @return Whether the activeViewMeasurableCostMicros field is set. */ @java.lang.Override public boolean hasActiveViewMeasurableCostMicros() { return ((bitField0_ & 0x00000020) != 0); } /** *
   * The cost of the impressions you received that were measurable by Active
   * View.
   * 
* * optional int64 active_view_measurable_cost_micros = 188; * @return The activeViewMeasurableCostMicros. */ @java.lang.Override public long getActiveViewMeasurableCostMicros() { return activeViewMeasurableCostMicros_; } public static final int ACTIVE_VIEW_MEASURABLE_IMPRESSIONS_FIELD_NUMBER = 189; private long activeViewMeasurableImpressions_ = 0L; /** *
   * The number of times your ads are appearing on placements in positions
   * where they can be seen.
   * 
* * optional int64 active_view_measurable_impressions = 189; * @return Whether the activeViewMeasurableImpressions field is set. */ @java.lang.Override public boolean hasActiveViewMeasurableImpressions() { return ((bitField0_ & 0x00000040) != 0); } /** *
   * The number of times your ads are appearing on placements in positions
   * where they can be seen.
   * 
* * optional int64 active_view_measurable_impressions = 189; * @return The activeViewMeasurableImpressions. */ @java.lang.Override public long getActiveViewMeasurableImpressions() { return activeViewMeasurableImpressions_; } public static final int ACTIVE_VIEW_VIEWABILITY_FIELD_NUMBER = 190; private double activeViewViewability_ = 0D; /** *
   * The percentage of time when your ad appeared on an Active View enabled site
   * (measurable impressions) and was viewable (viewable impressions).
   * 
* * optional double active_view_viewability = 190; * @return Whether the activeViewViewability field is set. */ @java.lang.Override public boolean hasActiveViewViewability() { return ((bitField0_ & 0x00000080) != 0); } /** *
   * The percentage of time when your ad appeared on an Active View enabled site
   * (measurable impressions) and was viewable (viewable impressions).
   * 
* * optional double active_view_viewability = 190; * @return The activeViewViewability. */ @java.lang.Override public double getActiveViewViewability() { return activeViewViewability_; } public static final int ALL_CONVERSIONS_FROM_INTERACTIONS_RATE_FIELD_NUMBER = 191; private double allConversionsFromInteractionsRate_ = 0D; /** *
   * All conversions from interactions (as oppose to view through conversions)
   * divided by the number of ad interactions.
   * 
* * optional double all_conversions_from_interactions_rate = 191; * @return Whether the allConversionsFromInteractionsRate field is set. */ @java.lang.Override public boolean hasAllConversionsFromInteractionsRate() { return ((bitField0_ & 0x00000100) != 0); } /** *
   * All conversions from interactions (as oppose to view through conversions)
   * divided by the number of ad interactions.
   * 
* * optional double all_conversions_from_interactions_rate = 191; * @return The allConversionsFromInteractionsRate. */ @java.lang.Override public double getAllConversionsFromInteractionsRate() { return allConversionsFromInteractionsRate_; } public static final int ALL_CONVERSIONS_VALUE_FIELD_NUMBER = 192; private double allConversionsValue_ = 0D; /** *
   * The value of all conversions.
   * 
* * optional double all_conversions_value = 192; * @return Whether the allConversionsValue field is set. */ @java.lang.Override public boolean hasAllConversionsValue() { return ((bitField0_ & 0x00000200) != 0); } /** *
   * The value of all conversions.
   * 
* * optional double all_conversions_value = 192; * @return The allConversionsValue. */ @java.lang.Override public double getAllConversionsValue() { return allConversionsValue_; } public static final int ALL_CONVERSIONS_VALUE_BY_CONVERSION_DATE_FIELD_NUMBER = 240; private double allConversionsValueByConversionDate_ = 0D; /** *
   * 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.
   * 
* * optional double all_conversions_value_by_conversion_date = 240; * @return Whether the allConversionsValueByConversionDate field is set. */ @java.lang.Override public boolean hasAllConversionsValueByConversionDate() { return ((bitField0_ & 0x00000400) != 0); } /** *
   * 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.
   * 
* * optional double all_conversions_value_by_conversion_date = 240; * @return The allConversionsValueByConversionDate. */ @java.lang.Override public double getAllConversionsValueByConversionDate() { return allConversionsValueByConversionDate_; } public static final int ALL_NEW_CUSTOMER_LIFETIME_VALUE_FIELD_NUMBER = 294; private double allNewCustomerLifetimeValue_ = 0D; /** *
   * All of new customers' lifetime conversion value. If you have set up
   * customer acquisition goal at either account level or campaign level, this
   * will include the additional conversion value from new customers for both
   * biddable and non-biddable conversions. If your campaign has adopted the
   * customer acquisition goal and selected "bid higher for new customers",
   * these values will be included in "all_conversions_value". See
   * https://support.google.com/google-ads/answer/12080169 for more details.
   * 
* * optional double all_new_customer_lifetime_value = 294; * @return Whether the allNewCustomerLifetimeValue field is set. */ @java.lang.Override public boolean hasAllNewCustomerLifetimeValue() { return ((bitField0_ & 0x00000800) != 0); } /** *
   * All of new customers' lifetime conversion value. If you have set up
   * customer acquisition goal at either account level or campaign level, this
   * will include the additional conversion value from new customers for both
   * biddable and non-biddable conversions. If your campaign has adopted the
   * customer acquisition goal and selected "bid higher for new customers",
   * these values will be included in "all_conversions_value". See
   * https://support.google.com/google-ads/answer/12080169 for more details.
   * 
* * optional double all_new_customer_lifetime_value = 294; * @return The allNewCustomerLifetimeValue. */ @java.lang.Override public double getAllNewCustomerLifetimeValue() { return allNewCustomerLifetimeValue_; } public static final int ALL_CONVERSIONS_FIELD_NUMBER = 193; private double allConversions_ = 0D; /** *
   * The total number of conversions. This includes all conversions regardless
   * of the value of include_in_conversions_metric.
   * 
* * optional double all_conversions = 193; * @return Whether the allConversions field is set. */ @java.lang.Override public boolean hasAllConversions() { return ((bitField0_ & 0x00001000) != 0); } /** *
   * The total number of conversions. This includes all conversions regardless
   * of the value of include_in_conversions_metric.
   * 
* * optional double all_conversions = 193; * @return The allConversions. */ @java.lang.Override public double getAllConversions() { return allConversions_; } public static final int ALL_CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER = 241; private double allConversionsByConversionDate_ = 0D; /** *
   * 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.
   * 
* * optional double all_conversions_by_conversion_date = 241; * @return Whether the allConversionsByConversionDate field is set. */ @java.lang.Override public boolean hasAllConversionsByConversionDate() { return ((bitField0_ & 0x00002000) != 0); } /** *
   * 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.
   * 
* * optional double all_conversions_by_conversion_date = 241; * @return The allConversionsByConversionDate. */ @java.lang.Override public double getAllConversionsByConversionDate() { return allConversionsByConversionDate_; } public static final int ALL_CONVERSIONS_VALUE_PER_COST_FIELD_NUMBER = 194; private double allConversionsValuePerCost_ = 0D; /** *
   * The value of all conversions divided by the total cost of ad interactions
   * (such as clicks for text ads or views for video ads).
   * 
* * optional double all_conversions_value_per_cost = 194; * @return Whether the allConversionsValuePerCost field is set. */ @java.lang.Override public boolean hasAllConversionsValuePerCost() { return ((bitField0_ & 0x00004000) != 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).
   * 
* * optional double all_conversions_value_per_cost = 194; * @return The allConversionsValuePerCost. */ @java.lang.Override public double getAllConversionsValuePerCost() { return allConversionsValuePerCost_; } public static final int ALL_CONVERSIONS_FROM_CLICK_TO_CALL_FIELD_NUMBER = 195; private double allConversionsFromClickToCall_ = 0D; /** *
   * 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.
   * 
* * optional double all_conversions_from_click_to_call = 195; * @return Whether the allConversionsFromClickToCall field is set. */ @java.lang.Override public boolean hasAllConversionsFromClickToCall() { return ((bitField0_ & 0x00008000) != 0); } /** *
   * 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.
   * 
* * optional double all_conversions_from_click_to_call = 195; * @return The allConversionsFromClickToCall. */ @java.lang.Override public double getAllConversionsFromClickToCall() { return allConversionsFromClickToCall_; } public static final int ALL_CONVERSIONS_FROM_DIRECTIONS_FIELD_NUMBER = 196; private double allConversionsFromDirections_ = 0D; /** *
   * 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.
   * 
* * optional double all_conversions_from_directions = 196; * @return Whether the allConversionsFromDirections field is set. */ @java.lang.Override public boolean hasAllConversionsFromDirections() { return ((bitField0_ & 0x00010000) != 0); } /** *
   * 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.
   * 
* * optional double all_conversions_from_directions = 196; * @return The allConversionsFromDirections. */ @java.lang.Override public double getAllConversionsFromDirections() { return allConversionsFromDirections_; } public static final int ALL_CONVERSIONS_FROM_INTERACTIONS_VALUE_PER_INTERACTION_FIELD_NUMBER = 197; private double allConversionsFromInteractionsValuePerInteraction_ = 0D; /** *
   * The value of all conversions from interactions divided by the total number
   * of interactions.
   * 
* * optional double all_conversions_from_interactions_value_per_interaction = 197; * @return Whether the allConversionsFromInteractionsValuePerInteraction field is set. */ @java.lang.Override public boolean hasAllConversionsFromInteractionsValuePerInteraction() { return ((bitField0_ & 0x00020000) != 0); } /** *
   * The value of all conversions from interactions divided by the total number
   * of interactions.
   * 
* * optional double all_conversions_from_interactions_value_per_interaction = 197; * @return The allConversionsFromInteractionsValuePerInteraction. */ @java.lang.Override public double getAllConversionsFromInteractionsValuePerInteraction() { return allConversionsFromInteractionsValuePerInteraction_; } public static final int ALL_CONVERSIONS_FROM_MENU_FIELD_NUMBER = 198; private double allConversionsFromMenu_ = 0D; /** *
   * 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.
   * 
* * optional double all_conversions_from_menu = 198; * @return Whether the allConversionsFromMenu field is set. */ @java.lang.Override public boolean hasAllConversionsFromMenu() { return ((bitField0_ & 0x00040000) != 0); } /** *
   * 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.
   * 
* * optional double all_conversions_from_menu = 198; * @return The allConversionsFromMenu. */ @java.lang.Override public double getAllConversionsFromMenu() { return allConversionsFromMenu_; } public static final int ALL_CONVERSIONS_FROM_ORDER_FIELD_NUMBER = 199; private double allConversionsFromOrder_ = 0D; /** *
   * The number of times people placed an order at a store after clicking an ad.
   *
   * This metric applies to feed items only.
   * 
* * optional double all_conversions_from_order = 199; * @return Whether the allConversionsFromOrder field is set. */ @java.lang.Override public boolean hasAllConversionsFromOrder() { return ((bitField0_ & 0x00080000) != 0); } /** *
   * The number of times people placed an order at a store after clicking an ad.
   *
   * This metric applies to feed items only.
   * 
* * optional double all_conversions_from_order = 199; * @return The allConversionsFromOrder. */ @java.lang.Override public double getAllConversionsFromOrder() { return allConversionsFromOrder_; } public static final int ALL_CONVERSIONS_FROM_OTHER_ENGAGEMENT_FIELD_NUMBER = 200; private double allConversionsFromOtherEngagement_ = 0D; /** *
   * 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.
   * 
* * optional double all_conversions_from_other_engagement = 200; * @return Whether the allConversionsFromOtherEngagement field is set. */ @java.lang.Override public boolean hasAllConversionsFromOtherEngagement() { return ((bitField0_ & 0x00100000) != 0); } /** *
   * 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.
   * 
* * optional double all_conversions_from_other_engagement = 200; * @return The allConversionsFromOtherEngagement. */ @java.lang.Override public double getAllConversionsFromOtherEngagement() { return allConversionsFromOtherEngagement_; } public static final int ALL_CONVERSIONS_FROM_STORE_VISIT_FIELD_NUMBER = 201; private double allConversionsFromStoreVisit_ = 0D; /** *
   * Estimated number of times people visited a store after clicking an ad.
   *
   * This metric applies to feed items only.
   * 
* * optional double all_conversions_from_store_visit = 201; * @return Whether the allConversionsFromStoreVisit field is set. */ @java.lang.Override public boolean hasAllConversionsFromStoreVisit() { return ((bitField0_ & 0x00200000) != 0); } /** *
   * Estimated number of times people visited a store after clicking an ad.
   *
   * This metric applies to feed items only.
   * 
* * optional double all_conversions_from_store_visit = 201; * @return The allConversionsFromStoreVisit. */ @java.lang.Override public double getAllConversionsFromStoreVisit() { return allConversionsFromStoreVisit_; } public static final int ALL_CONVERSIONS_FROM_STORE_WEBSITE_FIELD_NUMBER = 202; private double allConversionsFromStoreWebsite_ = 0D; /** *
   * The number of times that people were taken to a store's URL after clicking
   * an ad.
   *
   * This metric applies to feed items only.
   * 
* * optional double all_conversions_from_store_website = 202; * @return Whether the allConversionsFromStoreWebsite field is set. */ @java.lang.Override public boolean hasAllConversionsFromStoreWebsite() { return ((bitField0_ & 0x00400000) != 0); } /** *
   * The number of times that people were taken to a store's URL after clicking
   * an ad.
   *
   * This metric applies to feed items only.
   * 
* * optional double all_conversions_from_store_website = 202; * @return The allConversionsFromStoreWebsite. */ @java.lang.Override public double getAllConversionsFromStoreWebsite() { return allConversionsFromStoreWebsite_; } public static final int AUCTION_INSIGHT_SEARCH_ABSOLUTE_TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 258; private double auctionInsightSearchAbsoluteTopImpressionPercentage_ = 0D; /** *
   * This metric is part of the Auction Insights report, and tells how often
   * the ads of another participant showed in the most prominent position on the
   * search results page.
   * This percentage is computed only over the auctions that you appeared in
   * the page.
   *
   * This metric is not publicly available.
   * 
* * optional double auction_insight_search_absolute_top_impression_percentage = 258; * @return Whether the auctionInsightSearchAbsoluteTopImpressionPercentage field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchAbsoluteTopImpressionPercentage() { return ((bitField0_ & 0x00800000) != 0); } /** *
   * This metric is part of the Auction Insights report, and tells how often
   * the ads of another participant showed in the most prominent position on the
   * search results page.
   * This percentage is computed only over the auctions that you appeared in
   * the page.
   *
   * This metric is not publicly available.
   * 
* * optional double auction_insight_search_absolute_top_impression_percentage = 258; * @return The auctionInsightSearchAbsoluteTopImpressionPercentage. */ @java.lang.Override public double getAuctionInsightSearchAbsoluteTopImpressionPercentage() { return auctionInsightSearchAbsoluteTopImpressionPercentage_; } public static final int AUCTION_INSIGHT_SEARCH_IMPRESSION_SHARE_FIELD_NUMBER = 259; private double auctionInsightSearchImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double auction_insight_search_impression_share = 259; * @return Whether the auctionInsightSearchImpressionShare field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchImpressionShare() { return ((bitField0_ & 0x01000000) != 0); } /** *
   * 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.
   * 
* * optional double auction_insight_search_impression_share = 259; * @return The auctionInsightSearchImpressionShare. */ @java.lang.Override public double getAuctionInsightSearchImpressionShare() { return auctionInsightSearchImpressionShare_; } public static final int AUCTION_INSIGHT_SEARCH_OUTRANKING_SHARE_FIELD_NUMBER = 260; private double auctionInsightSearchOutrankingShare_ = 0D; /** *
   * 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.
   * 
* * optional double auction_insight_search_outranking_share = 260; * @return Whether the auctionInsightSearchOutrankingShare field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchOutrankingShare() { return ((bitField0_ & 0x02000000) != 0); } /** *
   * 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.
   * 
* * optional double auction_insight_search_outranking_share = 260; * @return The auctionInsightSearchOutrankingShare. */ @java.lang.Override public double getAuctionInsightSearchOutrankingShare() { return auctionInsightSearchOutrankingShare_; } public static final int AUCTION_INSIGHT_SEARCH_OVERLAP_RATE_FIELD_NUMBER = 261; private double auctionInsightSearchOverlapRate_ = 0D; /** *
   * 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.
   * 
* * optional double auction_insight_search_overlap_rate = 261; * @return Whether the auctionInsightSearchOverlapRate field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchOverlapRate() { return ((bitField0_ & 0x04000000) != 0); } /** *
   * 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.
   * 
* * optional double auction_insight_search_overlap_rate = 261; * @return The auctionInsightSearchOverlapRate. */ @java.lang.Override public double getAuctionInsightSearchOverlapRate() { return auctionInsightSearchOverlapRate_; } public static final int AUCTION_INSIGHT_SEARCH_POSITION_ABOVE_RATE_FIELD_NUMBER = 262; private double auctionInsightSearchPositionAboveRate_ = 0D; /** *
   * 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.
   * 
* * optional double auction_insight_search_position_above_rate = 262; * @return Whether the auctionInsightSearchPositionAboveRate field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchPositionAboveRate() { return ((bitField0_ & 0x08000000) != 0); } /** *
   * 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.
   * 
* * optional double auction_insight_search_position_above_rate = 262; * @return The auctionInsightSearchPositionAboveRate. */ @java.lang.Override public double getAuctionInsightSearchPositionAboveRate() { return auctionInsightSearchPositionAboveRate_; } public static final int AUCTION_INSIGHT_SEARCH_TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 263; private double auctionInsightSearchTopImpressionPercentage_ = 0D; /** *
   * This metric is part of the Auction Insights report, and tells how often
   * the ads of another participant showed adjacent to the top organic search
   * results. This percentage is computed only over the auctions that you
   * appeared in the page.
   *
   * This metric is not publicly available.
   * 
* * optional double auction_insight_search_top_impression_percentage = 263; * @return Whether the auctionInsightSearchTopImpressionPercentage field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchTopImpressionPercentage() { return ((bitField0_ & 0x10000000) != 0); } /** *
   * This metric is part of the Auction Insights report, and tells how often
   * the ads of another participant showed adjacent to the top organic search
   * results. This percentage is computed only over the auctions that you
   * appeared in the page.
   *
   * This metric is not publicly available.
   * 
* * optional double auction_insight_search_top_impression_percentage = 263; * @return The auctionInsightSearchTopImpressionPercentage. */ @java.lang.Override public double getAuctionInsightSearchTopImpressionPercentage() { return auctionInsightSearchTopImpressionPercentage_; } public static final int AVERAGE_COST_FIELD_NUMBER = 203; private double averageCost_ = 0D; /** *
   * The average amount you pay per interaction. This amount is the total cost
   * of your ads divided by the total number of interactions.
   * 
* * optional double average_cost = 203; * @return Whether the averageCost field is set. */ @java.lang.Override public boolean hasAverageCost() { return ((bitField0_ & 0x20000000) != 0); } /** *
   * The average amount you pay per interaction. This amount is the total cost
   * of your ads divided by the total number of interactions.
   * 
* * optional double average_cost = 203; * @return The averageCost. */ @java.lang.Override public double getAverageCost() { return averageCost_; } public static final int AVERAGE_CPC_FIELD_NUMBER = 204; private double averageCpc_ = 0D; /** *
   * The total cost of all clicks divided by the total number of clicks
   * received.
   * 
* * optional double average_cpc = 204; * @return Whether the averageCpc field is set. */ @java.lang.Override public boolean hasAverageCpc() { return ((bitField0_ & 0x40000000) != 0); } /** *
   * The total cost of all clicks divided by the total number of clicks
   * received.
   * 
* * optional double average_cpc = 204; * @return The averageCpc. */ @java.lang.Override public double getAverageCpc() { return averageCpc_; } public static final int AVERAGE_CPE_FIELD_NUMBER = 205; private double averageCpe_ = 0D; /** *
   * 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.
   * 
* * optional double average_cpe = 205; * @return Whether the averageCpe field is set. */ @java.lang.Override public boolean hasAverageCpe() { return ((bitField0_ & 0x80000000) != 0); } /** *
   * 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.
   * 
* * optional double average_cpe = 205; * @return The averageCpe. */ @java.lang.Override public double getAverageCpe() { return averageCpe_; } public static final int AVERAGE_CPM_FIELD_NUMBER = 206; private double averageCpm_ = 0D; /** *
   * Average cost-per-thousand impressions (CPM).
   * 
* * optional double average_cpm = 206; * @return Whether the averageCpm field is set. */ @java.lang.Override public boolean hasAverageCpm() { return ((bitField1_ & 0x00000001) != 0); } /** *
   * Average cost-per-thousand impressions (CPM).
   * 
* * optional double average_cpm = 206; * @return The averageCpm. */ @java.lang.Override public double getAverageCpm() { return averageCpm_; } public static final int AVERAGE_CPV_FIELD_NUMBER = 207; private double averageCpv_ = 0D; /** *
   * 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.
   * 
* * optional double average_cpv = 207; * @return Whether the averageCpv field is set. */ @java.lang.Override public boolean hasAverageCpv() { return ((bitField1_ & 0x00000002) != 0); } /** *
   * 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.
   * 
* * optional double average_cpv = 207; * @return The averageCpv. */ @java.lang.Override public double getAverageCpv() { return averageCpv_; } public static final int AVERAGE_PAGE_VIEWS_FIELD_NUMBER = 208; private double averagePageViews_ = 0D; /** *
   * Average number of pages viewed per session.
   * 
* * optional double average_page_views = 208; * @return Whether the averagePageViews field is set. */ @java.lang.Override public boolean hasAveragePageViews() { return ((bitField1_ & 0x00000004) != 0); } /** *
   * Average number of pages viewed per session.
   * 
* * optional double average_page_views = 208; * @return The averagePageViews. */ @java.lang.Override public double getAveragePageViews() { return averagePageViews_; } public static final int AVERAGE_TIME_ON_SITE_FIELD_NUMBER = 209; private double averageTimeOnSite_ = 0D; /** *
   * Total duration of all sessions (in seconds) / number of sessions. Imported
   * from Google Analytics.
   * 
* * optional double average_time_on_site = 209; * @return Whether the averageTimeOnSite field is set. */ @java.lang.Override public boolean hasAverageTimeOnSite() { return ((bitField1_ & 0x00000008) != 0); } /** *
   * Total duration of all sessions (in seconds) / number of sessions. Imported
   * from Google Analytics.
   * 
* * optional double average_time_on_site = 209; * @return The averageTimeOnSite. */ @java.lang.Override public double getAverageTimeOnSite() { return averageTimeOnSite_; } public static final int BENCHMARK_AVERAGE_MAX_CPC_FIELD_NUMBER = 210; private double benchmarkAverageMaxCpc_ = 0D; /** *
   * An indication of how other advertisers are bidding on similar products.
   * 
* * optional double benchmark_average_max_cpc = 210; * @return Whether the benchmarkAverageMaxCpc field is set. */ @java.lang.Override public boolean hasBenchmarkAverageMaxCpc() { return ((bitField1_ & 0x00000010) != 0); } /** *
   * An indication of how other advertisers are bidding on similar products.
   * 
* * optional double benchmark_average_max_cpc = 210; * @return The benchmarkAverageMaxCpc. */ @java.lang.Override public double getBenchmarkAverageMaxCpc() { return benchmarkAverageMaxCpc_; } public static final int BIDDABLE_APP_INSTALL_CONVERSIONS_FIELD_NUMBER = 254; private double biddableAppInstallConversions_ = 0D; /** *
   * Number of app installs.
   * 
* * optional double biddable_app_install_conversions = 254; * @return Whether the biddableAppInstallConversions field is set. */ @java.lang.Override public boolean hasBiddableAppInstallConversions() { return ((bitField1_ & 0x00000020) != 0); } /** *
   * Number of app installs.
   * 
* * optional double biddable_app_install_conversions = 254; * @return The biddableAppInstallConversions. */ @java.lang.Override public double getBiddableAppInstallConversions() { return biddableAppInstallConversions_; } public static final int BIDDABLE_APP_POST_INSTALL_CONVERSIONS_FIELD_NUMBER = 255; private double biddableAppPostInstallConversions_ = 0D; /** *
   * Number of in-app actions.
   * 
* * optional double biddable_app_post_install_conversions = 255; * @return Whether the biddableAppPostInstallConversions field is set. */ @java.lang.Override public boolean hasBiddableAppPostInstallConversions() { return ((bitField1_ & 0x00000040) != 0); } /** *
   * Number of in-app actions.
   * 
* * optional double biddable_app_post_install_conversions = 255; * @return The biddableAppPostInstallConversions. */ @java.lang.Override public double getBiddableAppPostInstallConversions() { return biddableAppPostInstallConversions_; } public static final int BENCHMARK_CTR_FIELD_NUMBER = 211; private double benchmarkCtr_ = 0D; /** *
   * 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.
   * 
* * optional double benchmark_ctr = 211; * @return Whether the benchmarkCtr field is set. */ @java.lang.Override public boolean hasBenchmarkCtr() { return ((bitField1_ & 0x00000080) != 0); } /** *
   * 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.
   * 
* * optional double benchmark_ctr = 211; * @return The benchmarkCtr. */ @java.lang.Override public double getBenchmarkCtr() { return benchmarkCtr_; } public static final int BOUNCE_RATE_FIELD_NUMBER = 212; private double bounceRate_ = 0D; /** *
   * Percentage of clicks where the user only visited a single page on your
   * site. Imported from Google Analytics.
   * 
* * optional double bounce_rate = 212; * @return Whether the bounceRate field is set. */ @java.lang.Override public boolean hasBounceRate() { return ((bitField1_ & 0x00000100) != 0); } /** *
   * Percentage of clicks where the user only visited a single page on your
   * site. Imported from Google Analytics.
   * 
* * optional double bounce_rate = 212; * @return The bounceRate. */ @java.lang.Override public double getBounceRate() { return bounceRate_; } public static final int CLICKS_FIELD_NUMBER = 131; private long clicks_ = 0L; /** *
   * The number of clicks.
   * 
* * optional int64 clicks = 131; * @return Whether the clicks field is set. */ @java.lang.Override public boolean hasClicks() { return ((bitField1_ & 0x00000200) != 0); } /** *
   * The number of clicks.
   * 
* * optional int64 clicks = 131; * @return The clicks. */ @java.lang.Override public long getClicks() { return clicks_; } public static final int COMBINED_CLICKS_FIELD_NUMBER = 156; private long combinedClicks_ = 0L; /** *
   * 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.
   * 
* * optional int64 combined_clicks = 156; * @return Whether the combinedClicks field is set. */ @java.lang.Override public boolean hasCombinedClicks() { return ((bitField1_ & 0x00000400) != 0); } /** *
   * 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.
   * 
* * optional int64 combined_clicks = 156; * @return The combinedClicks. */ @java.lang.Override public long getCombinedClicks() { return combinedClicks_; } public static final int COMBINED_CLICKS_PER_QUERY_FIELD_NUMBER = 157; private double combinedClicksPerQuery_ = 0D; /** *
   * 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.
   * 
* * optional double combined_clicks_per_query = 157; * @return Whether the combinedClicksPerQuery field is set. */ @java.lang.Override public boolean hasCombinedClicksPerQuery() { return ((bitField1_ & 0x00000800) != 0); } /** *
   * 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.
   * 
* * optional double combined_clicks_per_query = 157; * @return The combinedClicksPerQuery. */ @java.lang.Override public double getCombinedClicksPerQuery() { return combinedClicksPerQuery_; } public static final int COMBINED_QUERIES_FIELD_NUMBER = 158; private long combinedQueries_ = 0L; /** *
   * 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.
   * 
* * optional int64 combined_queries = 158; * @return Whether the combinedQueries field is set. */ @java.lang.Override public boolean hasCombinedQueries() { return ((bitField1_ & 0x00001000) != 0); } /** *
   * 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.
   * 
* * optional int64 combined_queries = 158; * @return The combinedQueries. */ @java.lang.Override public long getCombinedQueries() { return combinedQueries_; } public static final int CONTENT_BUDGET_LOST_IMPRESSION_SHARE_FIELD_NUMBER = 159; private double contentBudgetLostImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double content_budget_lost_impression_share = 159; * @return Whether the contentBudgetLostImpressionShare field is set. */ @java.lang.Override public boolean hasContentBudgetLostImpressionShare() { return ((bitField1_ & 0x00002000) != 0); } /** *
   * 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.
   * 
* * optional double content_budget_lost_impression_share = 159; * @return The contentBudgetLostImpressionShare. */ @java.lang.Override public double getContentBudgetLostImpressionShare() { return contentBudgetLostImpressionShare_; } public static final int CONTENT_IMPRESSION_SHARE_FIELD_NUMBER = 160; private double contentImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double content_impression_share = 160; * @return Whether the contentImpressionShare field is set. */ @java.lang.Override public boolean hasContentImpressionShare() { return ((bitField1_ & 0x00004000) != 0); } /** *
   * 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.
   * 
* * optional double content_impression_share = 160; * @return The contentImpressionShare. */ @java.lang.Override public double getContentImpressionShare() { return contentImpressionShare_; } public static final int CONVERSION_LAST_RECEIVED_REQUEST_DATE_TIME_FIELD_NUMBER = 161; @SuppressWarnings("serial") private volatile java.lang.Object conversionLastReceivedRequestDateTime_ = ""; /** *
   * 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 (for example, 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.
   * 
* * optional string conversion_last_received_request_date_time = 161; * @return Whether the conversionLastReceivedRequestDateTime field is set. */ @java.lang.Override public boolean hasConversionLastReceivedRequestDateTime() { return ((bitField1_ & 0x00008000) != 0); } /** *
   * 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 (for example, 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.
   * 
* * optional string conversion_last_received_request_date_time = 161; * @return The conversionLastReceivedRequestDateTime. */ @java.lang.Override public java.lang.String getConversionLastReceivedRequestDateTime() { java.lang.Object ref = conversionLastReceivedRequestDateTime_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); conversionLastReceivedRequestDateTime_ = s; return s; } } /** *
   * 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 (for example, 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.
   * 
* * optional string conversion_last_received_request_date_time = 161; * @return The bytes for conversionLastReceivedRequestDateTime. */ @java.lang.Override public com.google.protobuf.ByteString getConversionLastReceivedRequestDateTimeBytes() { java.lang.Object ref = conversionLastReceivedRequestDateTime_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); conversionLastReceivedRequestDateTime_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CONVERSION_LAST_CONVERSION_DATE_FIELD_NUMBER = 162; @SuppressWarnings("serial") private volatile java.lang.Object conversionLastConversionDate_ = ""; /** *
   * The date of the most recent conversion for this conversion action. The date
   * is in the customer's time zone.
   * 
* * optional string conversion_last_conversion_date = 162; * @return Whether the conversionLastConversionDate field is set. */ @java.lang.Override public boolean hasConversionLastConversionDate() { return ((bitField1_ & 0x00010000) != 0); } /** *
   * The date of the most recent conversion for this conversion action. The date
   * is in the customer's time zone.
   * 
* * optional string conversion_last_conversion_date = 162; * @return The conversionLastConversionDate. */ @java.lang.Override public java.lang.String getConversionLastConversionDate() { java.lang.Object ref = conversionLastConversionDate_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); conversionLastConversionDate_ = s; return s; } } /** *
   * The date of the most recent conversion for this conversion action. The date
   * is in the customer's time zone.
   * 
* * optional string conversion_last_conversion_date = 162; * @return The bytes for conversionLastConversionDate. */ @java.lang.Override public com.google.protobuf.ByteString getConversionLastConversionDateBytes() { java.lang.Object ref = conversionLastConversionDate_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); conversionLastConversionDate_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int CONTENT_RANK_LOST_IMPRESSION_SHARE_FIELD_NUMBER = 163; private double contentRankLostImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double content_rank_lost_impression_share = 163; * @return Whether the contentRankLostImpressionShare field is set. */ @java.lang.Override public boolean hasContentRankLostImpressionShare() { return ((bitField1_ & 0x00020000) != 0); } /** *
   * 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.
   * 
* * optional double content_rank_lost_impression_share = 163; * @return The contentRankLostImpressionShare. */ @java.lang.Override public double getContentRankLostImpressionShare() { return contentRankLostImpressionShare_; } public static final int CONVERSIONS_FROM_INTERACTIONS_RATE_FIELD_NUMBER = 164; private double conversionsFromInteractionsRate_ = 0D; /** *
   * 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.
   * 
* * optional double conversions_from_interactions_rate = 164; * @return Whether the conversionsFromInteractionsRate field is set. */ @java.lang.Override public boolean hasConversionsFromInteractionsRate() { return ((bitField1_ & 0x00040000) != 0); } /** *
   * 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.
   * 
* * optional double conversions_from_interactions_rate = 164; * @return The conversionsFromInteractionsRate. */ @java.lang.Override public double getConversionsFromInteractionsRate() { return conversionsFromInteractionsRate_; } public static final int CONVERSIONS_VALUE_FIELD_NUMBER = 165; private double conversionsValue_ = 0D; /** *
   * 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.
   * 
* * optional double conversions_value = 165; * @return Whether the conversionsValue field is set. */ @java.lang.Override public boolean hasConversionsValue() { return ((bitField1_ & 0x00080000) != 0); } /** *
   * 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.
   * 
* * optional double conversions_value = 165; * @return The conversionsValue. */ @java.lang.Override public double getConversionsValue() { return conversionsValue_; } public static final int CONVERSIONS_VALUE_BY_CONVERSION_DATE_FIELD_NUMBER = 242; private double conversionsValueByConversionDate_ = 0D; /** *
   * 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.
   * 
* * optional double conversions_value_by_conversion_date = 242; * @return Whether the conversionsValueByConversionDate field is set. */ @java.lang.Override public boolean hasConversionsValueByConversionDate() { return ((bitField1_ & 0x00100000) != 0); } /** *
   * 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.
   * 
* * optional double conversions_value_by_conversion_date = 242; * @return The conversionsValueByConversionDate. */ @java.lang.Override public double getConversionsValueByConversionDate() { return conversionsValueByConversionDate_; } public static final int NEW_CUSTOMER_LIFETIME_VALUE_FIELD_NUMBER = 293; private double newCustomerLifetimeValue_ = 0D; /** *
   * New customers' lifetime conversion value. If you have set up
   * customer acquisition goal at either account level or campaign level, this
   * will include the additional conversion value from new customers for
   * biddable conversions. If your campaign has adopted the customer
   * acquisition goal and selected "bid higher for new customers", these values
   * will be included in "conversions_value" for optimization. See
   * https://support.google.com/google-ads/answer/12080169 for more details.
   * 
* * optional double new_customer_lifetime_value = 293; * @return Whether the newCustomerLifetimeValue field is set. */ @java.lang.Override public boolean hasNewCustomerLifetimeValue() { return ((bitField1_ & 0x00200000) != 0); } /** *
   * New customers' lifetime conversion value. If you have set up
   * customer acquisition goal at either account level or campaign level, this
   * will include the additional conversion value from new customers for
   * biddable conversions. If your campaign has adopted the customer
   * acquisition goal and selected "bid higher for new customers", these values
   * will be included in "conversions_value" for optimization. See
   * https://support.google.com/google-ads/answer/12080169 for more details.
   * 
* * optional double new_customer_lifetime_value = 293; * @return The newCustomerLifetimeValue. */ @java.lang.Override public double getNewCustomerLifetimeValue() { return newCustomerLifetimeValue_; } public static final int CONVERSIONS_VALUE_PER_COST_FIELD_NUMBER = 166; private double conversionsValuePerCost_ = 0D; /** *
   * 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.
   * 
* * optional double conversions_value_per_cost = 166; * @return Whether the conversionsValuePerCost field is set. */ @java.lang.Override public boolean hasConversionsValuePerCost() { return ((bitField1_ & 0x00400000) != 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.
   * 
* * optional double conversions_value_per_cost = 166; * @return The conversionsValuePerCost. */ @java.lang.Override public double getConversionsValuePerCost() { return conversionsValuePerCost_; } public static final int CONVERSIONS_FROM_INTERACTIONS_VALUE_PER_INTERACTION_FIELD_NUMBER = 167; private double conversionsFromInteractionsValuePerInteraction_ = 0D; /** *
   * 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.
   * 
* * optional double conversions_from_interactions_value_per_interaction = 167; * @return Whether the conversionsFromInteractionsValuePerInteraction field is set. */ @java.lang.Override public boolean hasConversionsFromInteractionsValuePerInteraction() { return ((bitField1_ & 0x00800000) != 0); } /** *
   * 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.
   * 
* * optional double conversions_from_interactions_value_per_interaction = 167; * @return The conversionsFromInteractionsValuePerInteraction. */ @java.lang.Override public double getConversionsFromInteractionsValuePerInteraction() { return conversionsFromInteractionsValuePerInteraction_; } public static final int CONVERSIONS_FIELD_NUMBER = 168; private double conversions_ = 0D; /** *
   * 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.
   * 
* * optional double conversions = 168; * @return Whether the conversions field is set. */ @java.lang.Override public boolean hasConversions() { return ((bitField1_ & 0x01000000) != 0); } /** *
   * 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.
   * 
* * optional double conversions = 168; * @return The conversions. */ @java.lang.Override public double getConversions() { return conversions_; } public static final int CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER = 243; private double conversionsByConversionDate_ = 0D; /** *
   * 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.
   * 
* * optional double conversions_by_conversion_date = 243; * @return Whether the conversionsByConversionDate field is set. */ @java.lang.Override public boolean hasConversionsByConversionDate() { return ((bitField1_ & 0x02000000) != 0); } /** *
   * 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.
   * 
* * optional double conversions_by_conversion_date = 243; * @return The conversionsByConversionDate. */ @java.lang.Override public double getConversionsByConversionDate() { return conversionsByConversionDate_; } public static final int COST_MICROS_FIELD_NUMBER = 169; private long costMicros_ = 0L; /** *
   * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
   * (CPM) costs during this period.
   * 
* * optional int64 cost_micros = 169; * @return Whether the costMicros field is set. */ @java.lang.Override public boolean hasCostMicros() { return ((bitField1_ & 0x04000000) != 0); } /** *
   * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
   * (CPM) costs during this period.
   * 
* * optional int64 cost_micros = 169; * @return The costMicros. */ @java.lang.Override public long getCostMicros() { return costMicros_; } public static final int COST_PER_ALL_CONVERSIONS_FIELD_NUMBER = 170; private double costPerAllConversions_ = 0D; /** *
   * The cost of ad interactions divided by all conversions.
   * 
* * optional double cost_per_all_conversions = 170; * @return Whether the costPerAllConversions field is set. */ @java.lang.Override public boolean hasCostPerAllConversions() { return ((bitField1_ & 0x08000000) != 0); } /** *
   * The cost of ad interactions divided by all conversions.
   * 
* * optional double cost_per_all_conversions = 170; * @return The costPerAllConversions. */ @java.lang.Override public double getCostPerAllConversions() { return costPerAllConversions_; } public static final int COST_PER_CONVERSION_FIELD_NUMBER = 171; private double costPerConversion_ = 0D; /** *
   * 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.
   * 
* * optional double cost_per_conversion = 171; * @return Whether the costPerConversion field is set. */ @java.lang.Override public boolean hasCostPerConversion() { return ((bitField1_ & 0x10000000) != 0); } /** *
   * 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.
   * 
* * optional double cost_per_conversion = 171; * @return The costPerConversion. */ @java.lang.Override public double getCostPerConversion() { return costPerConversion_; } public static final int COST_PER_CURRENT_MODEL_ATTRIBUTED_CONVERSION_FIELD_NUMBER = 172; private double costPerCurrentModelAttributedConversion_ = 0D; /** *
   * 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.
   * 
* * optional double cost_per_current_model_attributed_conversion = 172; * @return Whether the costPerCurrentModelAttributedConversion field is set. */ @java.lang.Override public boolean hasCostPerCurrentModelAttributedConversion() { return ((bitField1_ & 0x20000000) != 0); } /** *
   * 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.
   * 
* * optional double cost_per_current_model_attributed_conversion = 172; * @return The costPerCurrentModelAttributedConversion. */ @java.lang.Override public double getCostPerCurrentModelAttributedConversion() { return costPerCurrentModelAttributedConversion_; } public static final int CROSS_DEVICE_CONVERSIONS_FIELD_NUMBER = 173; private double crossDeviceConversions_ = 0D; /** *
   * 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.
   * 
* * optional double cross_device_conversions = 173; * @return Whether the crossDeviceConversions field is set. */ @java.lang.Override public boolean hasCrossDeviceConversions() { return ((bitField1_ & 0x40000000) != 0); } /** *
   * 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.
   * 
* * optional double cross_device_conversions = 173; * @return The crossDeviceConversions. */ @java.lang.Override public double getCrossDeviceConversions() { return crossDeviceConversions_; } public static final int CROSS_DEVICE_CONVERSIONS_VALUE_MICROS_FIELD_NUMBER = 312; private long crossDeviceConversionsValueMicros_ = 0L; /** *
   * The sum of the value of cross-device conversions, in micros.
   * 
* * optional int64 cross_device_conversions_value_micros = 312; * @return Whether the crossDeviceConversionsValueMicros field is set. */ @java.lang.Override public boolean hasCrossDeviceConversionsValueMicros() { return ((bitField1_ & 0x80000000) != 0); } /** *
   * The sum of the value of cross-device conversions, in micros.
   * 
* * optional int64 cross_device_conversions_value_micros = 312; * @return The crossDeviceConversionsValueMicros. */ @java.lang.Override public long getCrossDeviceConversionsValueMicros() { return crossDeviceConversionsValueMicros_; } public static final int CTR_FIELD_NUMBER = 174; private double ctr_ = 0D; /** *
   * The number of clicks your ad receives (Clicks) divided by the number
   * of times your ad is shown (Impressions).
   * 
* * optional double ctr = 174; * @return Whether the ctr field is set. */ @java.lang.Override public boolean hasCtr() { return ((bitField2_ & 0x00000001) != 0); } /** *
   * The number of clicks your ad receives (Clicks) divided by the number
   * of times your ad is shown (Impressions).
   * 
* * optional double ctr = 174; * @return The ctr. */ @java.lang.Override public double getCtr() { return ctr_; } public static final int CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_FIELD_NUMBER = 175; private double currentModelAttributedConversions_ = 0D; /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions = 175; * @return Whether the currentModelAttributedConversions field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversions() { return ((bitField2_ & 0x00000002) != 0); } /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions = 175; * @return The currentModelAttributedConversions. */ @java.lang.Override public double getCurrentModelAttributedConversions() { return currentModelAttributedConversions_; } public static final int CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_FROM_INTERACTIONS_RATE_FIELD_NUMBER = 176; private double currentModelAttributedConversionsFromInteractionsRate_ = 0D; /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_from_interactions_rate = 176; * @return Whether the currentModelAttributedConversionsFromInteractionsRate field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsFromInteractionsRate() { return ((bitField2_ & 0x00000004) != 0); } /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_from_interactions_rate = 176; * @return The currentModelAttributedConversionsFromInteractionsRate. */ @java.lang.Override public double getCurrentModelAttributedConversionsFromInteractionsRate() { return currentModelAttributedConversionsFromInteractionsRate_; } public static final int CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_FROM_INTERACTIONS_VALUE_PER_INTERACTION_FIELD_NUMBER = 177; private double currentModelAttributedConversionsFromInteractionsValuePerInteraction_ = 0D; /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177; * @return Whether the currentModelAttributedConversionsFromInteractionsValuePerInteraction field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() { return ((bitField2_ & 0x00000008) != 0); } /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177; * @return The currentModelAttributedConversionsFromInteractionsValuePerInteraction. */ @java.lang.Override public double getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() { return currentModelAttributedConversionsFromInteractionsValuePerInteraction_; } public static final int CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_VALUE_FIELD_NUMBER = 178; private double currentModelAttributedConversionsValue_ = 0D; /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_value = 178; * @return Whether the currentModelAttributedConversionsValue field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsValue() { return ((bitField2_ & 0x00000010) != 0); } /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_value = 178; * @return The currentModelAttributedConversionsValue. */ @java.lang.Override public double getCurrentModelAttributedConversionsValue() { return currentModelAttributedConversionsValue_; } public static final int CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_VALUE_PER_COST_FIELD_NUMBER = 179; private double currentModelAttributedConversionsValuePerCost_ = 0D; /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_value_per_cost = 179; * @return Whether the currentModelAttributedConversionsValuePerCost field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsValuePerCost() { return ((bitField2_ & 0x00000020) != 0); } /** *
   * 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.
   * 
* * optional double current_model_attributed_conversions_value_per_cost = 179; * @return The currentModelAttributedConversionsValuePerCost. */ @java.lang.Override public double getCurrentModelAttributedConversionsValuePerCost() { return currentModelAttributedConversionsValuePerCost_; } public static final int ENGAGEMENT_RATE_FIELD_NUMBER = 180; private double engagementRate_ = 0D; /** *
   * 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.
   * 
* * optional double engagement_rate = 180; * @return Whether the engagementRate field is set. */ @java.lang.Override public boolean hasEngagementRate() { return ((bitField2_ & 0x00000040) != 0); } /** *
   * 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.
   * 
* * optional double engagement_rate = 180; * @return The engagementRate. */ @java.lang.Override public double getEngagementRate() { return engagementRate_; } public static final int ENGAGEMENTS_FIELD_NUMBER = 181; private long engagements_ = 0L; /** *
   * 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.
   * 
* * optional int64 engagements = 181; * @return Whether the engagements field is set. */ @java.lang.Override public boolean hasEngagements() { return ((bitField2_ & 0x00000080) != 0); } /** *
   * 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.
   * 
* * optional int64 engagements = 181; * @return The engagements. */ @java.lang.Override public long getEngagements() { return engagements_; } public static final int HOTEL_AVERAGE_LEAD_VALUE_MICROS_FIELD_NUMBER = 213; private double hotelAverageLeadValueMicros_ = 0D; /** *
   * Average lead value based on clicks.
   * 
* * optional double hotel_average_lead_value_micros = 213; * @return Whether the hotelAverageLeadValueMicros field is set. */ @java.lang.Override public boolean hasHotelAverageLeadValueMicros() { return ((bitField2_ & 0x00000100) != 0); } /** *
   * Average lead value based on clicks.
   * 
* * optional double hotel_average_lead_value_micros = 213; * @return The hotelAverageLeadValueMicros. */ @java.lang.Override public double getHotelAverageLeadValueMicros() { return hotelAverageLeadValueMicros_; } public static final int HOTEL_COMMISSION_RATE_MICROS_FIELD_NUMBER = 256; private long hotelCommissionRateMicros_ = 0L; /** *
   * Commission bid rate in micros. A 20% commission is represented as
   * 200,000.
   * 
* * optional int64 hotel_commission_rate_micros = 256; * @return Whether the hotelCommissionRateMicros field is set. */ @java.lang.Override public boolean hasHotelCommissionRateMicros() { return ((bitField2_ & 0x00000200) != 0); } /** *
   * Commission bid rate in micros. A 20% commission is represented as
   * 200,000.
   * 
* * optional int64 hotel_commission_rate_micros = 256; * @return The hotelCommissionRateMicros. */ @java.lang.Override public long getHotelCommissionRateMicros() { return hotelCommissionRateMicros_; } public static final int HOTEL_EXPECTED_COMMISSION_COST_FIELD_NUMBER = 257; private double hotelExpectedCommissionCost_ = 0D; /** *
   * Expected commission cost. The result of multiplying the commission value
   * times the hotel_commission_rate in advertiser currency.
   * 
* * optional double hotel_expected_commission_cost = 257; * @return Whether the hotelExpectedCommissionCost field is set. */ @java.lang.Override public boolean hasHotelExpectedCommissionCost() { return ((bitField2_ & 0x00000400) != 0); } /** *
   * Expected commission cost. The result of multiplying the commission value
   * times the hotel_commission_rate in advertiser currency.
   * 
* * optional double hotel_expected_commission_cost = 257; * @return The hotelExpectedCommissionCost. */ @java.lang.Override public double getHotelExpectedCommissionCost() { return hotelExpectedCommissionCost_; } public static final int HOTEL_PRICE_DIFFERENCE_PERCENTAGE_FIELD_NUMBER = 214; private double hotelPriceDifferencePercentage_ = 0D; /** *
   * The average price difference between the price offered by reporting hotel
   * advertiser and the cheapest price offered by the competing advertiser.
   * 
* * optional double hotel_price_difference_percentage = 214; * @return Whether the hotelPriceDifferencePercentage field is set. */ @java.lang.Override public boolean hasHotelPriceDifferencePercentage() { return ((bitField2_ & 0x00000800) != 0); } /** *
   * The average price difference between the price offered by reporting hotel
   * advertiser and the cheapest price offered by the competing advertiser.
   * 
* * optional double hotel_price_difference_percentage = 214; * @return The hotelPriceDifferencePercentage. */ @java.lang.Override public double getHotelPriceDifferencePercentage() { return hotelPriceDifferencePercentage_; } public static final int HOTEL_ELIGIBLE_IMPRESSIONS_FIELD_NUMBER = 215; private long hotelEligibleImpressions_ = 0L; /** *
   * The number of impressions that hotel partners could have had given their
   * feed performance.
   * 
* * optional int64 hotel_eligible_impressions = 215; * @return Whether the hotelEligibleImpressions field is set. */ @java.lang.Override public boolean hasHotelEligibleImpressions() { return ((bitField2_ & 0x00001000) != 0); } /** *
   * The number of impressions that hotel partners could have had given their
   * feed performance.
   * 
* * optional int64 hotel_eligible_impressions = 215; * @return The hotelEligibleImpressions. */ @java.lang.Override public long getHotelEligibleImpressions() { return hotelEligibleImpressions_; } public static final int HISTORICAL_CREATIVE_QUALITY_SCORE_FIELD_NUMBER = 80; private int historicalCreativeQualityScore_ = 0; /** *
   * The creative historical quality score.
   * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @return The enum numeric value on the wire for historicalCreativeQualityScore. */ @java.lang.Override public int getHistoricalCreativeQualityScoreValue() { return historicalCreativeQualityScore_; } /** *
   * The creative historical quality score.
   * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @return The historicalCreativeQualityScore. */ @java.lang.Override public com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket getHistoricalCreativeQualityScore() { com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket result = com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.forNumber(historicalCreativeQualityScore_); return result == null ? com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNRECOGNIZED : result; } public static final int HISTORICAL_LANDING_PAGE_QUALITY_SCORE_FIELD_NUMBER = 81; private int historicalLandingPageQualityScore_ = 0; /** *
   * The quality of historical landing page experience.
   * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @return The enum numeric value on the wire for historicalLandingPageQualityScore. */ @java.lang.Override public int getHistoricalLandingPageQualityScoreValue() { return historicalLandingPageQualityScore_; } /** *
   * The quality of historical landing page experience.
   * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @return The historicalLandingPageQualityScore. */ @java.lang.Override public com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket getHistoricalLandingPageQualityScore() { com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket result = com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.forNumber(historicalLandingPageQualityScore_); return result == null ? com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNRECOGNIZED : result; } public static final int HISTORICAL_QUALITY_SCORE_FIELD_NUMBER = 216; private long historicalQualityScore_ = 0L; /** *
   * The historical quality score.
   * 
* * optional int64 historical_quality_score = 216; * @return Whether the historicalQualityScore field is set. */ @java.lang.Override public boolean hasHistoricalQualityScore() { return ((bitField2_ & 0x00002000) != 0); } /** *
   * The historical quality score.
   * 
* * optional int64 historical_quality_score = 216; * @return The historicalQualityScore. */ @java.lang.Override public long getHistoricalQualityScore() { return historicalQualityScore_; } public static final int HISTORICAL_SEARCH_PREDICTED_CTR_FIELD_NUMBER = 83; private int historicalSearchPredictedCtr_ = 0; /** *
   * The historical search predicted click through rate (CTR).
   * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @return The enum numeric value on the wire for historicalSearchPredictedCtr. */ @java.lang.Override public int getHistoricalSearchPredictedCtrValue() { return historicalSearchPredictedCtr_; } /** *
   * The historical search predicted click through rate (CTR).
   * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @return The historicalSearchPredictedCtr. */ @java.lang.Override public com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket getHistoricalSearchPredictedCtr() { com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket result = com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.forNumber(historicalSearchPredictedCtr_); return result == null ? com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNRECOGNIZED : result; } public static final int GMAIL_FORWARDS_FIELD_NUMBER = 217; private long gmailForwards_ = 0L; /** *
   * The number of times the ad was forwarded to someone else as a message.
   * 
* * optional int64 gmail_forwards = 217; * @return Whether the gmailForwards field is set. */ @java.lang.Override public boolean hasGmailForwards() { return ((bitField2_ & 0x00004000) != 0); } /** *
   * The number of times the ad was forwarded to someone else as a message.
   * 
* * optional int64 gmail_forwards = 217; * @return The gmailForwards. */ @java.lang.Override public long getGmailForwards() { return gmailForwards_; } public static final int GMAIL_SAVES_FIELD_NUMBER = 218; private long gmailSaves_ = 0L; /** *
   * The number of times someone has saved your Gmail ad to their inbox as a
   * message.
   * 
* * optional int64 gmail_saves = 218; * @return Whether the gmailSaves field is set. */ @java.lang.Override public boolean hasGmailSaves() { return ((bitField2_ & 0x00008000) != 0); } /** *
   * The number of times someone has saved your Gmail ad to their inbox as a
   * message.
   * 
* * optional int64 gmail_saves = 218; * @return The gmailSaves. */ @java.lang.Override public long getGmailSaves() { return gmailSaves_; } public static final int GMAIL_SECONDARY_CLICKS_FIELD_NUMBER = 219; private long gmailSecondaryClicks_ = 0L; /** *
   * The number of clicks to the landing page on the expanded state of Gmail
   * ads.
   * 
* * optional int64 gmail_secondary_clicks = 219; * @return Whether the gmailSecondaryClicks field is set. */ @java.lang.Override public boolean hasGmailSecondaryClicks() { return ((bitField2_ & 0x00010000) != 0); } /** *
   * The number of clicks to the landing page on the expanded state of Gmail
   * ads.
   * 
* * optional int64 gmail_secondary_clicks = 219; * @return The gmailSecondaryClicks. */ @java.lang.Override public long getGmailSecondaryClicks() { return gmailSecondaryClicks_; } public static final int IMPRESSIONS_FROM_STORE_REACH_FIELD_NUMBER = 220; private long impressionsFromStoreReach_ = 0L; /** *
   * The number of times a store's location-based ad was shown.
   *
   * This metric applies to feed items only.
   * 
* * optional int64 impressions_from_store_reach = 220; * @return Whether the impressionsFromStoreReach field is set. */ @java.lang.Override public boolean hasImpressionsFromStoreReach() { return ((bitField2_ & 0x00020000) != 0); } /** *
   * The number of times a store's location-based ad was shown.
   *
   * This metric applies to feed items only.
   * 
* * optional int64 impressions_from_store_reach = 220; * @return The impressionsFromStoreReach. */ @java.lang.Override public long getImpressionsFromStoreReach() { return impressionsFromStoreReach_; } public static final int IMPRESSIONS_FIELD_NUMBER = 221; private long impressions_ = 0L; /** *
   * Count of how often your ad has appeared on a search results page or
   * website on the Google Network.
   * 
* * optional int64 impressions = 221; * @return Whether the impressions field is set. */ @java.lang.Override public boolean hasImpressions() { return ((bitField2_ & 0x00040000) != 0); } /** *
   * Count of how often your ad has appeared on a search results page or
   * website on the Google Network.
   * 
* * optional int64 impressions = 221; * @return The impressions. */ @java.lang.Override public long getImpressions() { return impressions_; } public static final int INTERACTION_RATE_FIELD_NUMBER = 222; private double interactionRate_ = 0D; /** *
   * 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.
   * 
* * optional double interaction_rate = 222; * @return Whether the interactionRate field is set. */ @java.lang.Override public boolean hasInteractionRate() { return ((bitField2_ & 0x00080000) != 0); } /** *
   * 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.
   * 
* * optional double interaction_rate = 222; * @return The interactionRate. */ @java.lang.Override public double getInteractionRate() { return interactionRate_; } public static final int INTERACTIONS_FIELD_NUMBER = 223; private long interactions_ = 0L; /** *
   * 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.
   * 
* * optional int64 interactions = 223; * @return Whether the interactions field is set. */ @java.lang.Override public boolean hasInteractions() { return ((bitField2_ & 0x00100000) != 0); } /** *
   * 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.
   * 
* * optional int64 interactions = 223; * @return The interactions. */ @java.lang.Override public long getInteractions() { return interactions_; } public static final int INTERACTION_EVENT_TYPES_FIELD_NUMBER = 100; @SuppressWarnings("serial") private java.util.List interactionEventTypes_; private static final com.google.protobuf.Internal.ListAdapter.Converter< java.lang.Integer, com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType> interactionEventTypes_converter_ = new com.google.protobuf.Internal.ListAdapter.Converter< java.lang.Integer, com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType>() { public com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType convert(java.lang.Integer from) { com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType result = com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType.forNumber(from); return result == null ? com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType.UNRECOGNIZED : result; } }; /** *
   * The types of payable and free interactions.
   * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return A list containing the interactionEventTypes. */ @java.lang.Override public java.util.List getInteractionEventTypesList() { return new com.google.protobuf.Internal.ListAdapter< java.lang.Integer, com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType>(interactionEventTypes_, interactionEventTypes_converter_); } /** *
   * The types of payable and free interactions.
   * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return The count of interactionEventTypes. */ @java.lang.Override public int getInteractionEventTypesCount() { return interactionEventTypes_.size(); } /** *
   * The types of payable and free interactions.
   * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param index The index of the element to return. * @return The interactionEventTypes at the given index. */ @java.lang.Override public com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType getInteractionEventTypes(int index) { return interactionEventTypes_converter_.convert(interactionEventTypes_.get(index)); } /** *
   * The types of payable and free interactions.
   * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return A list containing the enum numeric values on the wire for interactionEventTypes. */ @java.lang.Override public java.util.List getInteractionEventTypesValueList() { return interactionEventTypes_; } /** *
   * The types of payable and free interactions.
   * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param index The index of the value to return. * @return The enum numeric value on the wire of interactionEventTypes at the given index. */ @java.lang.Override public int getInteractionEventTypesValue(int index) { return interactionEventTypes_.get(index); } private int interactionEventTypesMemoizedSerializedSize; public static final int INVALID_CLICK_RATE_FIELD_NUMBER = 224; private double invalidClickRate_ = 0D; /** *
   * The percentage of clicks filtered out of your total number of clicks
   * (filtered + non-filtered clicks) during the reporting period.
   * 
* * optional double invalid_click_rate = 224; * @return Whether the invalidClickRate field is set. */ @java.lang.Override public boolean hasInvalidClickRate() { return ((bitField2_ & 0x00200000) != 0); } /** *
   * The percentage of clicks filtered out of your total number of clicks
   * (filtered + non-filtered clicks) during the reporting period.
   * 
* * optional double invalid_click_rate = 224; * @return The invalidClickRate. */ @java.lang.Override public double getInvalidClickRate() { return invalidClickRate_; } public static final int INVALID_CLICKS_FIELD_NUMBER = 225; private long invalidClicks_ = 0L; /** *
   * Number of clicks Google considers illegitimate and doesn't charge you for.
   * 
* * optional int64 invalid_clicks = 225; * @return Whether the invalidClicks field is set. */ @java.lang.Override public boolean hasInvalidClicks() { return ((bitField2_ & 0x00400000) != 0); } /** *
   * Number of clicks Google considers illegitimate and doesn't charge you for.
   * 
* * optional int64 invalid_clicks = 225; * @return The invalidClicks. */ @java.lang.Override public long getInvalidClicks() { return invalidClicks_; } public static final int GENERAL_INVALID_CLICK_RATE_FIELD_NUMBER = 370; private double generalInvalidClickRate_ = 0D; /** *
   * The percentage of clicks that have been filtered out of your total number
   * of clicks (filtered + non-filtered clicks) due to being general invalid
   * clicks. These are clicks Google considers illegitimate that are detected
   * through routine means of filtration (that is, known invalid data-center
   * traffic, bots and spiders or other crawlers, irregular patterns, etc).
   * You're not charged for them, and they don't affect your account statistics.
   * See the help page at
   * https://support.google.com/campaignmanager/answer/6076504 for
   * details.
   * 
* * optional double general_invalid_click_rate = 370; * @return Whether the generalInvalidClickRate field is set. */ @java.lang.Override public boolean hasGeneralInvalidClickRate() { return ((bitField2_ & 0x00800000) != 0); } /** *
   * The percentage of clicks that have been filtered out of your total number
   * of clicks (filtered + non-filtered clicks) due to being general invalid
   * clicks. These are clicks Google considers illegitimate that are detected
   * through routine means of filtration (that is, known invalid data-center
   * traffic, bots and spiders or other crawlers, irregular patterns, etc).
   * You're not charged for them, and they don't affect your account statistics.
   * See the help page at
   * https://support.google.com/campaignmanager/answer/6076504 for
   * details.
   * 
* * optional double general_invalid_click_rate = 370; * @return The generalInvalidClickRate. */ @java.lang.Override public double getGeneralInvalidClickRate() { return generalInvalidClickRate_; } public static final int GENERAL_INVALID_CLICKS_FIELD_NUMBER = 371; private long generalInvalidClicks_ = 0L; /** *
   * Number of general invalid clicks. These are a subset of your invalid clicks
   * that are detected through routine means of filtration (such as known
   * invalid data-center traffic, bots and spiders or other crawlers, irregular
   * patterns, etc.). You're not charged for them, and they don't affect your
   * account statistics. See the help page at
   * https://support.google.com/campaignmanager/answer/6076504 for
   * details.
   * 
* * optional int64 general_invalid_clicks = 371; * @return Whether the generalInvalidClicks field is set. */ @java.lang.Override public boolean hasGeneralInvalidClicks() { return ((bitField2_ & 0x01000000) != 0); } /** *
   * Number of general invalid clicks. These are a subset of your invalid clicks
   * that are detected through routine means of filtration (such as known
   * invalid data-center traffic, bots and spiders or other crawlers, irregular
   * patterns, etc.). You're not charged for them, and they don't affect your
   * account statistics. See the help page at
   * https://support.google.com/campaignmanager/answer/6076504 for
   * details.
   * 
* * optional int64 general_invalid_clicks = 371; * @return The generalInvalidClicks. */ @java.lang.Override public long getGeneralInvalidClicks() { return generalInvalidClicks_; } public static final int MESSAGE_CHATS_FIELD_NUMBER = 226; private long messageChats_ = 0L; /** *
   * Number of message chats initiated for Click To Message impressions that
   * were message tracking eligible.
   * 
* * optional int64 message_chats = 226; * @return Whether the messageChats field is set. */ @java.lang.Override public boolean hasMessageChats() { return ((bitField2_ & 0x02000000) != 0); } /** *
   * Number of message chats initiated for Click To Message impressions that
   * were message tracking eligible.
   * 
* * optional int64 message_chats = 226; * @return The messageChats. */ @java.lang.Override public long getMessageChats() { return messageChats_; } public static final int MESSAGE_IMPRESSIONS_FIELD_NUMBER = 227; private long messageImpressions_ = 0L; /** *
   * Number of Click To Message impressions that were message tracking eligible.
   * 
* * optional int64 message_impressions = 227; * @return Whether the messageImpressions field is set. */ @java.lang.Override public boolean hasMessageImpressions() { return ((bitField2_ & 0x04000000) != 0); } /** *
   * Number of Click To Message impressions that were message tracking eligible.
   * 
* * optional int64 message_impressions = 227; * @return The messageImpressions. */ @java.lang.Override public long getMessageImpressions() { return messageImpressions_; } public static final int MESSAGE_CHAT_RATE_FIELD_NUMBER = 228; private double messageChatRate_ = 0D; /** *
   * 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.
   * 
* * optional double message_chat_rate = 228; * @return Whether the messageChatRate field is set. */ @java.lang.Override public boolean hasMessageChatRate() { return ((bitField2_ & 0x08000000) != 0); } /** *
   * 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.
   * 
* * optional double message_chat_rate = 228; * @return The messageChatRate. */ @java.lang.Override public double getMessageChatRate() { return messageChatRate_; } public static final int MOBILE_FRIENDLY_CLICKS_PERCENTAGE_FIELD_NUMBER = 229; private double mobileFriendlyClicksPercentage_ = 0D; /** *
   * The percentage of mobile clicks that go to a mobile-friendly page.
   * 
* * optional double mobile_friendly_clicks_percentage = 229; * @return Whether the mobileFriendlyClicksPercentage field is set. */ @java.lang.Override public boolean hasMobileFriendlyClicksPercentage() { return ((bitField2_ & 0x10000000) != 0); } /** *
   * The percentage of mobile clicks that go to a mobile-friendly page.
   * 
* * optional double mobile_friendly_clicks_percentage = 229; * @return The mobileFriendlyClicksPercentage. */ @java.lang.Override public double getMobileFriendlyClicksPercentage() { return mobileFriendlyClicksPercentage_; } public static final int OPTIMIZATION_SCORE_UPLIFT_FIELD_NUMBER = 247; private double optimizationScoreUplift_ = 0D; /** *
   * Total optimization score uplift of all recommendations.
   * 
* * optional double optimization_score_uplift = 247; * @return Whether the optimizationScoreUplift field is set. */ @java.lang.Override public boolean hasOptimizationScoreUplift() { return ((bitField2_ & 0x20000000) != 0); } /** *
   * Total optimization score uplift of all recommendations.
   * 
* * optional double optimization_score_uplift = 247; * @return The optimizationScoreUplift. */ @java.lang.Override public double getOptimizationScoreUplift() { return optimizationScoreUplift_; } public static final int OPTIMIZATION_SCORE_URL_FIELD_NUMBER = 248; @SuppressWarnings("serial") private volatile java.lang.Object optimizationScoreUrl_ = ""; /** *
   * 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.
   * 
* * optional string optimization_score_url = 248; * @return Whether the optimizationScoreUrl field is set. */ @java.lang.Override public boolean hasOptimizationScoreUrl() { return ((bitField2_ & 0x40000000) != 0); } /** *
   * 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.
   * 
* * optional string optimization_score_url = 248; * @return The optimizationScoreUrl. */ @java.lang.Override public java.lang.String getOptimizationScoreUrl() { java.lang.Object ref = optimizationScoreUrl_; if (ref instanceof java.lang.String) { return (java.lang.String) ref; } else { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); optimizationScoreUrl_ = s; return s; } } /** *
   * 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.
   * 
* * optional string optimization_score_url = 248; * @return The bytes for optimizationScoreUrl. */ @java.lang.Override public com.google.protobuf.ByteString getOptimizationScoreUrlBytes() { java.lang.Object ref = optimizationScoreUrl_; if (ref instanceof java.lang.String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); optimizationScoreUrl_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } public static final int ORGANIC_CLICKS_FIELD_NUMBER = 230; private long organicClicks_ = 0L; /** *
   * 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.
   * 
* * optional int64 organic_clicks = 230; * @return Whether the organicClicks field is set. */ @java.lang.Override public boolean hasOrganicClicks() { return ((bitField2_ & 0x80000000) != 0); } /** *
   * 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.
   * 
* * optional int64 organic_clicks = 230; * @return The organicClicks. */ @java.lang.Override public long getOrganicClicks() { return organicClicks_; } public static final int ORGANIC_CLICKS_PER_QUERY_FIELD_NUMBER = 231; private double organicClicksPerQuery_ = 0D; /** *
   * 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.
   * 
* * optional double organic_clicks_per_query = 231; * @return Whether the organicClicksPerQuery field is set. */ @java.lang.Override public boolean hasOrganicClicksPerQuery() { return ((bitField3_ & 0x00000001) != 0); } /** *
   * 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.
   * 
* * optional double organic_clicks_per_query = 231; * @return The organicClicksPerQuery. */ @java.lang.Override public double getOrganicClicksPerQuery() { return organicClicksPerQuery_; } public static final int ORGANIC_IMPRESSIONS_FIELD_NUMBER = 232; private long organicImpressions_ = 0L; /** *
   * 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.
   * 
* * optional int64 organic_impressions = 232; * @return Whether the organicImpressions field is set. */ @java.lang.Override public boolean hasOrganicImpressions() { return ((bitField3_ & 0x00000002) != 0); } /** *
   * 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.
   * 
* * optional int64 organic_impressions = 232; * @return The organicImpressions. */ @java.lang.Override public long getOrganicImpressions() { return organicImpressions_; } public static final int ORGANIC_IMPRESSIONS_PER_QUERY_FIELD_NUMBER = 233; private double organicImpressionsPerQuery_ = 0D; /** *
   * 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.
   * 
* * optional double organic_impressions_per_query = 233; * @return Whether the organicImpressionsPerQuery field is set. */ @java.lang.Override public boolean hasOrganicImpressionsPerQuery() { return ((bitField3_ & 0x00000004) != 0); } /** *
   * 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.
   * 
* * optional double organic_impressions_per_query = 233; * @return The organicImpressionsPerQuery. */ @java.lang.Override public double getOrganicImpressionsPerQuery() { return organicImpressionsPerQuery_; } public static final int ORGANIC_QUERIES_FIELD_NUMBER = 234; private long organicQueries_ = 0L; /** *
   * 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.
   * 
* * optional int64 organic_queries = 234; * @return Whether the organicQueries field is set. */ @java.lang.Override public boolean hasOrganicQueries() { return ((bitField3_ & 0x00000008) != 0); } /** *
   * 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.
   * 
* * optional int64 organic_queries = 234; * @return The organicQueries. */ @java.lang.Override public long getOrganicQueries() { return organicQueries_; } public static final int PERCENT_NEW_VISITORS_FIELD_NUMBER = 235; private double percentNewVisitors_ = 0D; /** *
   * Percentage of first-time sessions (from people who had never visited your
   * site before). Imported from Google Analytics.
   * 
* * optional double percent_new_visitors = 235; * @return Whether the percentNewVisitors field is set. */ @java.lang.Override public boolean hasPercentNewVisitors() { return ((bitField3_ & 0x00000010) != 0); } /** *
   * Percentage of first-time sessions (from people who had never visited your
   * site before). Imported from Google Analytics.
   * 
* * optional double percent_new_visitors = 235; * @return The percentNewVisitors. */ @java.lang.Override public double getPercentNewVisitors() { return percentNewVisitors_; } public static final int PHONE_CALLS_FIELD_NUMBER = 236; private long phoneCalls_ = 0L; /** *
   * Number of offline phone calls.
   * 
* * optional int64 phone_calls = 236; * @return Whether the phoneCalls field is set. */ @java.lang.Override public boolean hasPhoneCalls() { return ((bitField3_ & 0x00000020) != 0); } /** *
   * Number of offline phone calls.
   * 
* * optional int64 phone_calls = 236; * @return The phoneCalls. */ @java.lang.Override public long getPhoneCalls() { return phoneCalls_; } public static final int PHONE_IMPRESSIONS_FIELD_NUMBER = 237; private long phoneImpressions_ = 0L; /** *
   * Number of offline phone impressions.
   * 
* * optional int64 phone_impressions = 237; * @return Whether the phoneImpressions field is set. */ @java.lang.Override public boolean hasPhoneImpressions() { return ((bitField3_ & 0x00000040) != 0); } /** *
   * Number of offline phone impressions.
   * 
* * optional int64 phone_impressions = 237; * @return The phoneImpressions. */ @java.lang.Override public long getPhoneImpressions() { return phoneImpressions_; } public static final int PHONE_THROUGH_RATE_FIELD_NUMBER = 238; private double phoneThroughRate_ = 0D; /** *
   * Number of phone calls received (phone_calls) divided by the number of
   * times your phone number is shown (phone_impressions).
   * 
* * optional double phone_through_rate = 238; * @return Whether the phoneThroughRate field is set. */ @java.lang.Override public boolean hasPhoneThroughRate() { return ((bitField3_ & 0x00000080) != 0); } /** *
   * Number of phone calls received (phone_calls) divided by the number of
   * times your phone number is shown (phone_impressions).
   * 
* * optional double phone_through_rate = 238; * @return The phoneThroughRate. */ @java.lang.Override public double getPhoneThroughRate() { return phoneThroughRate_; } public static final int RELATIVE_CTR_FIELD_NUMBER = 239; private double relativeCtr_ = 0D; /** *
   * 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.
   * 
* * optional double relative_ctr = 239; * @return Whether the relativeCtr field is set. */ @java.lang.Override public boolean hasRelativeCtr() { return ((bitField3_ & 0x00000100) != 0); } /** *
   * 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.
   * 
* * optional double relative_ctr = 239; * @return The relativeCtr. */ @java.lang.Override public double getRelativeCtr() { return relativeCtr_; } public static final int SEARCH_ABSOLUTE_TOP_IMPRESSION_SHARE_FIELD_NUMBER = 136; private double searchAbsoluteTopImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double search_absolute_top_impression_share = 136; * @return Whether the searchAbsoluteTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchAbsoluteTopImpressionShare() { return ((bitField3_ & 0x00000200) != 0); } /** *
   * 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.
   * 
* * optional double search_absolute_top_impression_share = 136; * @return The searchAbsoluteTopImpressionShare. */ @java.lang.Override public double getSearchAbsoluteTopImpressionShare() { return searchAbsoluteTopImpressionShare_; } public static final int SEARCH_BUDGET_LOST_ABSOLUTE_TOP_IMPRESSION_SHARE_FIELD_NUMBER = 137; private double searchBudgetLostAbsoluteTopImpressionShare_ = 0D; /** *
   * The number estimating how often your ad wasn't the very first ad among the
   * top ads in the 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.
   * 
* * optional double search_budget_lost_absolute_top_impression_share = 137; * @return Whether the searchBudgetLostAbsoluteTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchBudgetLostAbsoluteTopImpressionShare() { return ((bitField3_ & 0x00000400) != 0); } /** *
   * The number estimating how often your ad wasn't the very first ad among the
   * top ads in the 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.
   * 
* * optional double search_budget_lost_absolute_top_impression_share = 137; * @return The searchBudgetLostAbsoluteTopImpressionShare. */ @java.lang.Override public double getSearchBudgetLostAbsoluteTopImpressionShare() { return searchBudgetLostAbsoluteTopImpressionShare_; } public static final int SEARCH_BUDGET_LOST_IMPRESSION_SHARE_FIELD_NUMBER = 138; private double searchBudgetLostImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double search_budget_lost_impression_share = 138; * @return Whether the searchBudgetLostImpressionShare field is set. */ @java.lang.Override public boolean hasSearchBudgetLostImpressionShare() { return ((bitField3_ & 0x00000800) != 0); } /** *
   * 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.
   * 
* * optional double search_budget_lost_impression_share = 138; * @return The searchBudgetLostImpressionShare. */ @java.lang.Override public double getSearchBudgetLostImpressionShare() { return searchBudgetLostImpressionShare_; } public static final int SEARCH_BUDGET_LOST_TOP_IMPRESSION_SHARE_FIELD_NUMBER = 139; private double searchBudgetLostTopImpressionShare_ = 0D; /** *
   * The number estimating how often your ad didn't show adjacent to the top
   * 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.
   * 
* * optional double search_budget_lost_top_impression_share = 139; * @return Whether the searchBudgetLostTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchBudgetLostTopImpressionShare() { return ((bitField3_ & 0x00001000) != 0); } /** *
   * The number estimating how often your ad didn't show adjacent to the top
   * 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.
   * 
* * optional double search_budget_lost_top_impression_share = 139; * @return The searchBudgetLostTopImpressionShare. */ @java.lang.Override public double getSearchBudgetLostTopImpressionShare() { return searchBudgetLostTopImpressionShare_; } public static final int SEARCH_CLICK_SHARE_FIELD_NUMBER = 140; private double searchClickShare_ = 0D; /** *
   * 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.
   * 
* * optional double search_click_share = 140; * @return Whether the searchClickShare field is set. */ @java.lang.Override public boolean hasSearchClickShare() { return ((bitField3_ & 0x00002000) != 0); } /** *
   * 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.
   * 
* * optional double search_click_share = 140; * @return The searchClickShare. */ @java.lang.Override public double getSearchClickShare() { return searchClickShare_; } public static final int SEARCH_EXACT_MATCH_IMPRESSION_SHARE_FIELD_NUMBER = 141; private double searchExactMatchImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double search_exact_match_impression_share = 141; * @return Whether the searchExactMatchImpressionShare field is set. */ @java.lang.Override public boolean hasSearchExactMatchImpressionShare() { return ((bitField3_ & 0x00004000) != 0); } /** *
   * 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.
   * 
* * optional double search_exact_match_impression_share = 141; * @return The searchExactMatchImpressionShare. */ @java.lang.Override public double getSearchExactMatchImpressionShare() { return searchExactMatchImpressionShare_; } public static final int SEARCH_IMPRESSION_SHARE_FIELD_NUMBER = 142; private double searchImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double search_impression_share = 142; * @return Whether the searchImpressionShare field is set. */ @java.lang.Override public boolean hasSearchImpressionShare() { return ((bitField3_ & 0x00008000) != 0); } /** *
   * 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.
   * 
* * optional double search_impression_share = 142; * @return The searchImpressionShare. */ @java.lang.Override public double getSearchImpressionShare() { return searchImpressionShare_; } public static final int SEARCH_RANK_LOST_ABSOLUTE_TOP_IMPRESSION_SHARE_FIELD_NUMBER = 143; private double searchRankLostAbsoluteTopImpressionShare_ = 0D; /** *
   * The number estimating how often your ad wasn't the very first ad among the
   * top ads in the 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.
   * 
* * optional double search_rank_lost_absolute_top_impression_share = 143; * @return Whether the searchRankLostAbsoluteTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchRankLostAbsoluteTopImpressionShare() { return ((bitField3_ & 0x00010000) != 0); } /** *
   * The number estimating how often your ad wasn't the very first ad among the
   * top ads in the 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.
   * 
* * optional double search_rank_lost_absolute_top_impression_share = 143; * @return The searchRankLostAbsoluteTopImpressionShare. */ @java.lang.Override public double getSearchRankLostAbsoluteTopImpressionShare() { return searchRankLostAbsoluteTopImpressionShare_; } public static final int SEARCH_RANK_LOST_IMPRESSION_SHARE_FIELD_NUMBER = 144; private double searchRankLostImpressionShare_ = 0D; /** *
   * 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.
   * 
* * optional double search_rank_lost_impression_share = 144; * @return Whether the searchRankLostImpressionShare field is set. */ @java.lang.Override public boolean hasSearchRankLostImpressionShare() { return ((bitField3_ & 0x00020000) != 0); } /** *
   * 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.
   * 
* * optional double search_rank_lost_impression_share = 144; * @return The searchRankLostImpressionShare. */ @java.lang.Override public double getSearchRankLostImpressionShare() { return searchRankLostImpressionShare_; } public static final int SEARCH_RANK_LOST_TOP_IMPRESSION_SHARE_FIELD_NUMBER = 145; private double searchRankLostTopImpressionShare_ = 0D; /** *
   * The number estimating how often your ad didn't show adjacent to the top
   * 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.
   * 
* * optional double search_rank_lost_top_impression_share = 145; * @return Whether the searchRankLostTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchRankLostTopImpressionShare() { return ((bitField3_ & 0x00040000) != 0); } /** *
   * The number estimating how often your ad didn't show adjacent to the top
   * 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.
   * 
* * optional double search_rank_lost_top_impression_share = 145; * @return The searchRankLostTopImpressionShare. */ @java.lang.Override public double getSearchRankLostTopImpressionShare() { return searchRankLostTopImpressionShare_; } public static final int SEARCH_TOP_IMPRESSION_SHARE_FIELD_NUMBER = 146; private double searchTopImpressionShare_ = 0D; /** *
   * The impressions you've received among the top ads compared to the estimated
   * number of impressions you were eligible to receive among the top ads.
   * 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.
   *
   * Top ads are generally above the top organic results, although they may show
   * below the top organic results on certain queries.
   * 
* * optional double search_top_impression_share = 146; * @return Whether the searchTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchTopImpressionShare() { return ((bitField3_ & 0x00080000) != 0); } /** *
   * The impressions you've received among the top ads compared to the estimated
   * number of impressions you were eligible to receive among the top ads.
   * 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.
   *
   * Top ads are generally above the top organic results, although they may show
   * below the top organic results on certain queries.
   * 
* * optional double search_top_impression_share = 146; * @return The searchTopImpressionShare. */ @java.lang.Override public double getSearchTopImpressionShare() { return searchTopImpressionShare_; } public static final int SEARCH_VOLUME_FIELD_NUMBER = 295; private com.google.ads.googleads.v18.common.SearchVolumeRange searchVolume_; /** *
   * Search volume range for a search term insight category.
   * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; * @return Whether the searchVolume field is set. */ @java.lang.Override public boolean hasSearchVolume() { return ((bitField3_ & 0x00100000) != 0); } /** *
   * Search volume range for a search term insight category.
   * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; * @return The searchVolume. */ @java.lang.Override public com.google.ads.googleads.v18.common.SearchVolumeRange getSearchVolume() { return searchVolume_ == null ? com.google.ads.googleads.v18.common.SearchVolumeRange.getDefaultInstance() : searchVolume_; } /** *
   * Search volume range for a search term insight category.
   * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ @java.lang.Override public com.google.ads.googleads.v18.common.SearchVolumeRangeOrBuilder getSearchVolumeOrBuilder() { return searchVolume_ == null ? com.google.ads.googleads.v18.common.SearchVolumeRange.getDefaultInstance() : searchVolume_; } public static final int SPEED_SCORE_FIELD_NUMBER = 147; private long speedScore_ = 0L; /** *
   * 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.
   * 
* * optional int64 speed_score = 147; * @return Whether the speedScore field is set. */ @java.lang.Override public boolean hasSpeedScore() { return ((bitField3_ & 0x00200000) != 0); } /** *
   * 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.
   * 
* * optional int64 speed_score = 147; * @return The speedScore. */ @java.lang.Override public long getSpeedScore() { return speedScore_; } public static final int AVERAGE_TARGET_CPA_MICROS_FIELD_NUMBER = 290; private long averageTargetCpaMicros_ = 0L; /** *
   * The average Target CPA, or unset if not available (for example, for
   * campaigns that had traffic from portfolio bidding strategies or non-tCPA).
   * 
* * optional int64 average_target_cpa_micros = 290; * @return Whether the averageTargetCpaMicros field is set. */ @java.lang.Override public boolean hasAverageTargetCpaMicros() { return ((bitField3_ & 0x00400000) != 0); } /** *
   * The average Target CPA, or unset if not available (for example, for
   * campaigns that had traffic from portfolio bidding strategies or non-tCPA).
   * 
* * optional int64 average_target_cpa_micros = 290; * @return The averageTargetCpaMicros. */ @java.lang.Override public long getAverageTargetCpaMicros() { return averageTargetCpaMicros_; } public static final int AVERAGE_TARGET_ROAS_FIELD_NUMBER = 250; private double averageTargetRoas_ = 0D; /** *
   * The average Target ROAS, or unset if not available (for example, for
   * campaigns that had traffic from portfolio bidding strategies or non-tROAS).
   * 
* * optional double average_target_roas = 250; * @return Whether the averageTargetRoas field is set. */ @java.lang.Override public boolean hasAverageTargetRoas() { return ((bitField3_ & 0x00800000) != 0); } /** *
   * The average Target ROAS, or unset if not available (for example, for
   * campaigns that had traffic from portfolio bidding strategies or non-tROAS).
   * 
* * optional double average_target_roas = 250; * @return The averageTargetRoas. */ @java.lang.Override public double getAverageTargetRoas() { return averageTargetRoas_; } public static final int TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 148; private double topImpressionPercentage_ = 0D; /** *
   * The percent of your ad impressions that are shown adjacent to the top
   * organic search results.
   * 
* * optional double top_impression_percentage = 148; * @return Whether the topImpressionPercentage field is set. */ @java.lang.Override public boolean hasTopImpressionPercentage() { return ((bitField3_ & 0x01000000) != 0); } /** *
   * The percent of your ad impressions that are shown adjacent to the top
   * organic search results.
   * 
* * optional double top_impression_percentage = 148; * @return The topImpressionPercentage. */ @java.lang.Override public double getTopImpressionPercentage() { return topImpressionPercentage_; } public static final int VALID_ACCELERATED_MOBILE_PAGES_CLICKS_PERCENTAGE_FIELD_NUMBER = 149; private double validAcceleratedMobilePagesClicksPercentage_ = 0D; /** *
   * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
   * that reach a valid AMP page.
   * 
* * optional double valid_accelerated_mobile_pages_clicks_percentage = 149; * @return Whether the validAcceleratedMobilePagesClicksPercentage field is set. */ @java.lang.Override public boolean hasValidAcceleratedMobilePagesClicksPercentage() { return ((bitField3_ & 0x02000000) != 0); } /** *
   * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
   * that reach a valid AMP page.
   * 
* * optional double valid_accelerated_mobile_pages_clicks_percentage = 149; * @return The validAcceleratedMobilePagesClicksPercentage. */ @java.lang.Override public double getValidAcceleratedMobilePagesClicksPercentage() { return validAcceleratedMobilePagesClicksPercentage_; } public static final int VALUE_PER_ALL_CONVERSIONS_FIELD_NUMBER = 150; private double valuePerAllConversions_ = 0D; /** *
   * The value of all conversions divided by the number of all conversions.
   * 
* * optional double value_per_all_conversions = 150; * @return Whether the valuePerAllConversions field is set. */ @java.lang.Override public boolean hasValuePerAllConversions() { return ((bitField3_ & 0x04000000) != 0); } /** *
   * The value of all conversions divided by the number of all conversions.
   * 
* * optional double value_per_all_conversions = 150; * @return The valuePerAllConversions. */ @java.lang.Override public double getValuePerAllConversions() { return valuePerAllConversions_; } public static final int VALUE_PER_ALL_CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER = 244; private double valuePerAllConversionsByConversionDate_ = 0D; /** *
   * 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.
   * 
* * optional double value_per_all_conversions_by_conversion_date = 244; * @return Whether the valuePerAllConversionsByConversionDate field is set. */ @java.lang.Override public boolean hasValuePerAllConversionsByConversionDate() { return ((bitField3_ & 0x08000000) != 0); } /** *
   * 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.
   * 
* * optional double value_per_all_conversions_by_conversion_date = 244; * @return The valuePerAllConversionsByConversionDate. */ @java.lang.Override public double getValuePerAllConversionsByConversionDate() { return valuePerAllConversionsByConversionDate_; } public static final int VALUE_PER_CONVERSION_FIELD_NUMBER = 151; private double valuePerConversion_ = 0D; /** *
   * 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.
   * 
* * optional double value_per_conversion = 151; * @return Whether the valuePerConversion field is set. */ @java.lang.Override public boolean hasValuePerConversion() { return ((bitField3_ & 0x10000000) != 0); } /** *
   * 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.
   * 
* * optional double value_per_conversion = 151; * @return The valuePerConversion. */ @java.lang.Override public double getValuePerConversion() { return valuePerConversion_; } public static final int VALUE_PER_CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER = 245; private double valuePerConversionsByConversionDate_ = 0D; /** *
   * 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.
   * 
* * optional double value_per_conversions_by_conversion_date = 245; * @return Whether the valuePerConversionsByConversionDate field is set. */ @java.lang.Override public boolean hasValuePerConversionsByConversionDate() { return ((bitField3_ & 0x20000000) != 0); } /** *
   * 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.
   * 
* * optional double value_per_conversions_by_conversion_date = 245; * @return The valuePerConversionsByConversionDate. */ @java.lang.Override public double getValuePerConversionsByConversionDate() { return valuePerConversionsByConversionDate_; } public static final int VALUE_PER_CURRENT_MODEL_ATTRIBUTED_CONVERSION_FIELD_NUMBER = 152; private double valuePerCurrentModelAttributedConversion_ = 0D; /** *
   * 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.
   * 
* * optional double value_per_current_model_attributed_conversion = 152; * @return Whether the valuePerCurrentModelAttributedConversion field is set. */ @java.lang.Override public boolean hasValuePerCurrentModelAttributedConversion() { return ((bitField3_ & 0x40000000) != 0); } /** *
   * 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.
   * 
* * optional double value_per_current_model_attributed_conversion = 152; * @return The valuePerCurrentModelAttributedConversion. */ @java.lang.Override public double getValuePerCurrentModelAttributedConversion() { return valuePerCurrentModelAttributedConversion_; } public static final int VIDEO_QUARTILE_P100_RATE_FIELD_NUMBER = 132; private double videoQuartileP100Rate_ = 0D; /** *
   * Percentage of impressions where the viewer watched all of your video.
   * 
* * optional double video_quartile_p100_rate = 132; * @return Whether the videoQuartileP100Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP100Rate() { return ((bitField3_ & 0x80000000) != 0); } /** *
   * Percentage of impressions where the viewer watched all of your video.
   * 
* * optional double video_quartile_p100_rate = 132; * @return The videoQuartileP100Rate. */ @java.lang.Override public double getVideoQuartileP100Rate() { return videoQuartileP100Rate_; } public static final int VIDEO_QUARTILE_P25_RATE_FIELD_NUMBER = 133; private double videoQuartileP25Rate_ = 0D; /** *
   * Percentage of impressions where the viewer watched 25% of your video.
   * 
* * optional double video_quartile_p25_rate = 133; * @return Whether the videoQuartileP25Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP25Rate() { return ((bitField4_ & 0x00000001) != 0); } /** *
   * Percentage of impressions where the viewer watched 25% of your video.
   * 
* * optional double video_quartile_p25_rate = 133; * @return The videoQuartileP25Rate. */ @java.lang.Override public double getVideoQuartileP25Rate() { return videoQuartileP25Rate_; } public static final int VIDEO_QUARTILE_P50_RATE_FIELD_NUMBER = 134; private double videoQuartileP50Rate_ = 0D; /** *
   * Percentage of impressions where the viewer watched 50% of your video.
   * 
* * optional double video_quartile_p50_rate = 134; * @return Whether the videoQuartileP50Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP50Rate() { return ((bitField4_ & 0x00000002) != 0); } /** *
   * Percentage of impressions where the viewer watched 50% of your video.
   * 
* * optional double video_quartile_p50_rate = 134; * @return The videoQuartileP50Rate. */ @java.lang.Override public double getVideoQuartileP50Rate() { return videoQuartileP50Rate_; } public static final int VIDEO_QUARTILE_P75_RATE_FIELD_NUMBER = 135; private double videoQuartileP75Rate_ = 0D; /** *
   * Percentage of impressions where the viewer watched 75% of your video.
   * 
* * optional double video_quartile_p75_rate = 135; * @return Whether the videoQuartileP75Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP75Rate() { return ((bitField4_ & 0x00000004) != 0); } /** *
   * Percentage of impressions where the viewer watched 75% of your video.
   * 
* * optional double video_quartile_p75_rate = 135; * @return The videoQuartileP75Rate. */ @java.lang.Override public double getVideoQuartileP75Rate() { return videoQuartileP75Rate_; } public static final int VIDEO_VIEW_RATE_FIELD_NUMBER = 153; private double videoViewRate_ = 0D; /** *
   * The number of views your TrueView video ad receives divided by its number
   * of impressions, including thumbnail impressions for TrueView in-display
   * ads.
   * 
* * optional double video_view_rate = 153; * @return Whether the videoViewRate field is set. */ @java.lang.Override public boolean hasVideoViewRate() { return ((bitField4_ & 0x00000008) != 0); } /** *
   * The number of views your TrueView video ad receives divided by its number
   * of impressions, including thumbnail impressions for TrueView in-display
   * ads.
   * 
* * optional double video_view_rate = 153; * @return The videoViewRate. */ @java.lang.Override public double getVideoViewRate() { return videoViewRate_; } public static final int VIDEO_VIEWS_FIELD_NUMBER = 154; private long videoViews_ = 0L; /** *
   * The number of times your video ads were viewed.
   * 
* * optional int64 video_views = 154; * @return Whether the videoViews field is set. */ @java.lang.Override public boolean hasVideoViews() { return ((bitField4_ & 0x00000010) != 0); } /** *
   * The number of times your video ads were viewed.
   * 
* * optional int64 video_views = 154; * @return The videoViews. */ @java.lang.Override public long getVideoViews() { return videoViews_; } public static final int VIEW_THROUGH_CONVERSIONS_FIELD_NUMBER = 155; private long viewThroughConversions_ = 0L; /** *
   * 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 (for example,
   * clicking on) another ad.
   * 
* * optional int64 view_through_conversions = 155; * @return Whether the viewThroughConversions field is set. */ @java.lang.Override public boolean hasViewThroughConversions() { return ((bitField4_ & 0x00000020) != 0); } /** *
   * 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 (for example,
   * clicking on) another ad.
   * 
* * optional int64 view_through_conversions = 155; * @return The viewThroughConversions. */ @java.lang.Override public long getViewThroughConversions() { return viewThroughConversions_; } public static final int SK_AD_NETWORK_INSTALLS_FIELD_NUMBER = 246; private long skAdNetworkInstalls_ = 0L; /** *
   * The number of iOS Store Kit Ad Network conversions.
   * 
* * int64 sk_ad_network_installs = 246; * @return The skAdNetworkInstalls. */ @java.lang.Override public long getSkAdNetworkInstalls() { return skAdNetworkInstalls_; } public static final int SK_AD_NETWORK_TOTAL_CONVERSIONS_FIELD_NUMBER = 292; private long skAdNetworkTotalConversions_ = 0L; /** *
   * The total number of iOS Store Kit Ad Network conversions.
   * 
* * int64 sk_ad_network_total_conversions = 292; * @return The skAdNetworkTotalConversions. */ @java.lang.Override public long getSkAdNetworkTotalConversions() { return skAdNetworkTotalConversions_; } public static final int PUBLISHER_PURCHASED_CLICKS_FIELD_NUMBER = 264; private long publisherPurchasedClicks_ = 0L; /** *
   * Clicks from properties not owned by the publisher for which the traffic
   * the publisher has paid for or acquired through incentivized activity
   * 
* * int64 publisher_purchased_clicks = 264; * @return The publisherPurchasedClicks. */ @java.lang.Override public long getPublisherPurchasedClicks() { return publisherPurchasedClicks_; } public static final int PUBLISHER_ORGANIC_CLICKS_FIELD_NUMBER = 265; private long publisherOrganicClicks_ = 0L; /** *
   * Clicks from properties for which the traffic the publisher has not paid
   * for or acquired through incentivized activity
   * 
* * int64 publisher_organic_clicks = 265; * @return The publisherOrganicClicks. */ @java.lang.Override public long getPublisherOrganicClicks() { return publisherOrganicClicks_; } public static final int PUBLISHER_UNKNOWN_CLICKS_FIELD_NUMBER = 266; private long publisherUnknownClicks_ = 0L; /** *
   * Clicks from traffic which is not identified as "Publisher Purchased" or
   * "Publisher Organic"
   * 
* * int64 publisher_unknown_clicks = 266; * @return The publisherUnknownClicks. */ @java.lang.Override public long getPublisherUnknownClicks() { return publisherUnknownClicks_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_CLICK_TO_CALL_FIELD_NUMBER = 267; private double allConversionsFromLocationAssetClickToCall_ = 0D; /** *
   * Number of call button clicks on any location surface after a chargeable ad
   * event (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_click_to_call = 267; * @return Whether the allConversionsFromLocationAssetClickToCall field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetClickToCall() { return ((bitField4_ & 0x00000040) != 0); } /** *
   * Number of call button clicks on any location surface after a chargeable ad
   * event (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_click_to_call = 267; * @return The allConversionsFromLocationAssetClickToCall. */ @java.lang.Override public double getAllConversionsFromLocationAssetClickToCall() { return allConversionsFromLocationAssetClickToCall_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_DIRECTIONS_FIELD_NUMBER = 268; private double allConversionsFromLocationAssetDirections_ = 0D; /** *
   * Number of driving directions clicks on any location surface after a
   * chargeable ad event (click or impression). This measure is coming
   * from Asset based location.
   * 
* * optional double all_conversions_from_location_asset_directions = 268; * @return Whether the allConversionsFromLocationAssetDirections field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetDirections() { return ((bitField4_ & 0x00000080) != 0); } /** *
   * Number of driving directions clicks on any location surface after a
   * chargeable ad event (click or impression). This measure is coming
   * from Asset based location.
   * 
* * optional double all_conversions_from_location_asset_directions = 268; * @return The allConversionsFromLocationAssetDirections. */ @java.lang.Override public double getAllConversionsFromLocationAssetDirections() { return allConversionsFromLocationAssetDirections_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_MENU_FIELD_NUMBER = 269; private double allConversionsFromLocationAssetMenu_ = 0D; /** *
   * Number of menu link clicks on any location surface after a chargeable ad
   * event (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_menu = 269; * @return Whether the allConversionsFromLocationAssetMenu field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetMenu() { return ((bitField4_ & 0x00000100) != 0); } /** *
   * Number of menu link clicks on any location surface after a chargeable ad
   * event (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_menu = 269; * @return The allConversionsFromLocationAssetMenu. */ @java.lang.Override public double getAllConversionsFromLocationAssetMenu() { return allConversionsFromLocationAssetMenu_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_ORDER_FIELD_NUMBER = 270; private double allConversionsFromLocationAssetOrder_ = 0D; /** *
   * Number of order clicks on any location surface after a chargeable ad event
   * (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_order = 270; * @return Whether the allConversionsFromLocationAssetOrder field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetOrder() { return ((bitField4_ & 0x00000200) != 0); } /** *
   * Number of order clicks on any location surface after a chargeable ad event
   * (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_order = 270; * @return The allConversionsFromLocationAssetOrder. */ @java.lang.Override public double getAllConversionsFromLocationAssetOrder() { return allConversionsFromLocationAssetOrder_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_OTHER_ENGAGEMENT_FIELD_NUMBER = 271; private double allConversionsFromLocationAssetOtherEngagement_ = 0D; /** *
   * Number of other types of local action clicks on any location surface after
   * a chargeable ad event (click or impression). This measure is coming
   * from Asset based location.
   * 
* * optional double all_conversions_from_location_asset_other_engagement = 271; * @return Whether the allConversionsFromLocationAssetOtherEngagement field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetOtherEngagement() { return ((bitField4_ & 0x00000400) != 0); } /** *
   * Number of other types of local action clicks on any location surface after
   * a chargeable ad event (click or impression). This measure is coming
   * from Asset based location.
   * 
* * optional double all_conversions_from_location_asset_other_engagement = 271; * @return The allConversionsFromLocationAssetOtherEngagement. */ @java.lang.Override public double getAllConversionsFromLocationAssetOtherEngagement() { return allConversionsFromLocationAssetOtherEngagement_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_STORE_VISITS_FIELD_NUMBER = 272; private double allConversionsFromLocationAssetStoreVisits_ = 0D; /** *
   * Estimated number of visits to the store after a chargeable
   * ad event (click or impression). This measure is coming from Asset
   * based location.
   * 
* * optional double all_conversions_from_location_asset_store_visits = 272; * @return Whether the allConversionsFromLocationAssetStoreVisits field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetStoreVisits() { return ((bitField4_ & 0x00000800) != 0); } /** *
   * Estimated number of visits to the store after a chargeable
   * ad event (click or impression). This measure is coming from Asset
   * based location.
   * 
* * optional double all_conversions_from_location_asset_store_visits = 272; * @return The allConversionsFromLocationAssetStoreVisits. */ @java.lang.Override public double getAllConversionsFromLocationAssetStoreVisits() { return allConversionsFromLocationAssetStoreVisits_; } public static final int ALL_CONVERSIONS_FROM_LOCATION_ASSET_WEBSITE_FIELD_NUMBER = 273; private double allConversionsFromLocationAssetWebsite_ = 0D; /** *
   * Number of website URL clicks on any location surface after a chargeable ad
   * event (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_website = 273; * @return Whether the allConversionsFromLocationAssetWebsite field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetWebsite() { return ((bitField4_ & 0x00001000) != 0); } /** *
   * Number of website URL clicks on any location surface after a chargeable ad
   * event (click or impression). This measure is coming from Asset based
   * location.
   * 
* * optional double all_conversions_from_location_asset_website = 273; * @return The allConversionsFromLocationAssetWebsite. */ @java.lang.Override public double getAllConversionsFromLocationAssetWebsite() { return allConversionsFromLocationAssetWebsite_; } public static final int ELIGIBLE_IMPRESSIONS_FROM_LOCATION_ASSET_STORE_REACH_FIELD_NUMBER = 274; private long eligibleImpressionsFromLocationAssetStoreReach_ = 0L; /** *
   * Number of impressions in which the store location was shown or the location
   * was used for targeting. This measure is coming from Asset based
   * location.
   * 
* * optional int64 eligible_impressions_from_location_asset_store_reach = 274; * @return Whether the eligibleImpressionsFromLocationAssetStoreReach field is set. */ @java.lang.Override public boolean hasEligibleImpressionsFromLocationAssetStoreReach() { return ((bitField4_ & 0x00002000) != 0); } /** *
   * Number of impressions in which the store location was shown or the location
   * was used for targeting. This measure is coming from Asset based
   * location.
   * 
* * optional int64 eligible_impressions_from_location_asset_store_reach = 274; * @return The eligibleImpressionsFromLocationAssetStoreReach. */ @java.lang.Override public long getEligibleImpressionsFromLocationAssetStoreReach() { return eligibleImpressionsFromLocationAssetStoreReach_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_CLICK_TO_CALL_FIELD_NUMBER = 275; private double viewThroughConversionsFromLocationAssetClickToCall_ = 0D; /** *
   * Number of call button clicks on any location surface after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_click_to_call = 275; * @return Whether the viewThroughConversionsFromLocationAssetClickToCall field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetClickToCall() { return ((bitField4_ & 0x00004000) != 0); } /** *
   * Number of call button clicks on any location surface after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_click_to_call = 275; * @return The viewThroughConversionsFromLocationAssetClickToCall. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetClickToCall() { return viewThroughConversionsFromLocationAssetClickToCall_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_DIRECTIONS_FIELD_NUMBER = 276; private double viewThroughConversionsFromLocationAssetDirections_ = 0D; /** *
   * Number of driving directions clicks on any location surface after an
   * impression. This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_directions = 276; * @return Whether the viewThroughConversionsFromLocationAssetDirections field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetDirections() { return ((bitField4_ & 0x00008000) != 0); } /** *
   * Number of driving directions clicks on any location surface after an
   * impression. This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_directions = 276; * @return The viewThroughConversionsFromLocationAssetDirections. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetDirections() { return viewThroughConversionsFromLocationAssetDirections_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_MENU_FIELD_NUMBER = 277; private double viewThroughConversionsFromLocationAssetMenu_ = 0D; /** *
   * Number of menu link clicks on any location surface after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_menu = 277; * @return Whether the viewThroughConversionsFromLocationAssetMenu field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetMenu() { return ((bitField4_ & 0x00010000) != 0); } /** *
   * Number of menu link clicks on any location surface after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_menu = 277; * @return The viewThroughConversionsFromLocationAssetMenu. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetMenu() { return viewThroughConversionsFromLocationAssetMenu_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_ORDER_FIELD_NUMBER = 278; private double viewThroughConversionsFromLocationAssetOrder_ = 0D; /** *
   * Number of order clicks on any location surface after an impression. This
   * measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_order = 278; * @return Whether the viewThroughConversionsFromLocationAssetOrder field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetOrder() { return ((bitField4_ & 0x00020000) != 0); } /** *
   * Number of order clicks on any location surface after an impression. This
   * measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_order = 278; * @return The viewThroughConversionsFromLocationAssetOrder. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetOrder() { return viewThroughConversionsFromLocationAssetOrder_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_OTHER_ENGAGEMENT_FIELD_NUMBER = 279; private double viewThroughConversionsFromLocationAssetOtherEngagement_ = 0D; /** *
   * Number of other types of local action clicks on any location surface after
   * an impression. This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_other_engagement = 279; * @return Whether the viewThroughConversionsFromLocationAssetOtherEngagement field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetOtherEngagement() { return ((bitField4_ & 0x00040000) != 0); } /** *
   * Number of other types of local action clicks on any location surface after
   * an impression. This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_other_engagement = 279; * @return The viewThroughConversionsFromLocationAssetOtherEngagement. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetOtherEngagement() { return viewThroughConversionsFromLocationAssetOtherEngagement_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_STORE_VISITS_FIELD_NUMBER = 280; private double viewThroughConversionsFromLocationAssetStoreVisits_ = 0D; /** *
   * Estimated number of visits to the store after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_store_visits = 280; * @return Whether the viewThroughConversionsFromLocationAssetStoreVisits field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetStoreVisits() { return ((bitField4_ & 0x00080000) != 0); } /** *
   * Estimated number of visits to the store after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_store_visits = 280; * @return The viewThroughConversionsFromLocationAssetStoreVisits. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetStoreVisits() { return viewThroughConversionsFromLocationAssetStoreVisits_; } public static final int VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_WEBSITE_FIELD_NUMBER = 281; private double viewThroughConversionsFromLocationAssetWebsite_ = 0D; /** *
   * Number of website URL clicks on any location surface after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_website = 281; * @return Whether the viewThroughConversionsFromLocationAssetWebsite field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetWebsite() { return ((bitField4_ & 0x00100000) != 0); } /** *
   * Number of website URL clicks on any location surface after an impression.
   * This measure is coming from Asset based location.
   * 
* * optional double view_through_conversions_from_location_asset_website = 281; * @return The viewThroughConversionsFromLocationAssetWebsite. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetWebsite() { return viewThroughConversionsFromLocationAssetWebsite_; } public static final int ORDERS_FIELD_NUMBER = 296; private double orders_ = 0D; /** *
   * Orders is the total number of purchase conversions you received attributed
   * to your ads.
   * How it works: You report conversions with cart data for
   * completed purchases on your website. If a conversion is attributed to
   * previous interactions with your ads (clicks for text or Shopping ads, views
   * for video ads etc.) it's counted as an order.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt in an order on your website. Even though they bought 2
   * products, this would count as 1 order.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double orders = 296; * @return Whether the orders field is set. */ @java.lang.Override public boolean hasOrders() { return ((bitField4_ & 0x00200000) != 0); } /** *
   * Orders is the total number of purchase conversions you received attributed
   * to your ads.
   * How it works: You report conversions with cart data for
   * completed purchases on your website. If a conversion is attributed to
   * previous interactions with your ads (clicks for text or Shopping ads, views
   * for video ads etc.) it's counted as an order.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt in an order on your website. Even though they bought 2
   * products, this would count as 1 order.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double orders = 296; * @return The orders. */ @java.lang.Override public double getOrders() { return orders_; } public static final int AVERAGE_ORDER_VALUE_MICROS_FIELD_NUMBER = 297; private long averageOrderValueMicros_ = 0L; /** *
   * Average order value is the average revenue you made per order attributed to
   * your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Average order value is the total revenue from your orders
   * divided by the total number of orders.
   * Example: You received 3 orders which made $10, $15 and $20 worth of
   * revenue. The average order value is $15 = ($10 + $15 + $20)/3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 average_order_value_micros = 297; * @return Whether the averageOrderValueMicros field is set. */ @java.lang.Override public boolean hasAverageOrderValueMicros() { return ((bitField4_ & 0x00400000) != 0); } /** *
   * Average order value is the average revenue you made per order attributed to
   * your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Average order value is the total revenue from your orders
   * divided by the total number of orders.
   * Example: You received 3 orders which made $10, $15 and $20 worth of
   * revenue. The average order value is $15 = ($10 + $15 + $20)/3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 average_order_value_micros = 297; * @return The averageOrderValueMicros. */ @java.lang.Override public long getAverageOrderValueMicros() { return averageOrderValueMicros_; } public static final int AVERAGE_CART_SIZE_FIELD_NUMBER = 298; private double averageCartSize_ = 0D; /** *
   * Average cart size is the average number of products in each order
   * attributed to your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Average cart size is the total number of products sold
   * divided by the total number of orders you received.
   * Example: You received 2 orders, the first included 3 products and the
   * second included 2. The average cart size is 2.5 products = (3+2)/2.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double average_cart_size = 298; * @return Whether the averageCartSize field is set. */ @java.lang.Override public boolean hasAverageCartSize() { return ((bitField4_ & 0x00800000) != 0); } /** *
   * Average cart size is the average number of products in each order
   * attributed to your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Average cart size is the total number of products sold
   * divided by the total number of orders you received.
   * Example: You received 2 orders, the first included 3 products and the
   * second included 2. The average cart size is 2.5 products = (3+2)/2.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double average_cart_size = 298; * @return The averageCartSize. */ @java.lang.Override public double getAverageCartSize() { return averageCartSize_; } public static final int COST_OF_GOODS_SOLD_MICROS_FIELD_NUMBER = 299; private long costOfGoodsSoldMicros_ = 0L; /** *
   * Cost of goods sold (COGS) is the total cost of the products you sold in
   * orders attributed to your ads.
   * How it works: You can add a cost of goods sold value to every product in
   * Merchant Center. If you report conversions with cart data, the products you
   * sold are matched with their cost of goods sold value and this can be used
   * to calculate the gross profit you made on each order.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
   * has a cost of goods sold value of $5. The cost of goods sold for this order
   * is $8 = $3 + $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cost_of_goods_sold_micros = 299; * @return Whether the costOfGoodsSoldMicros field is set. */ @java.lang.Override public boolean hasCostOfGoodsSoldMicros() { return ((bitField4_ & 0x01000000) != 0); } /** *
   * Cost of goods sold (COGS) is the total cost of the products you sold in
   * orders attributed to your ads.
   * How it works: You can add a cost of goods sold value to every product in
   * Merchant Center. If you report conversions with cart data, the products you
   * sold are matched with their cost of goods sold value and this can be used
   * to calculate the gross profit you made on each order.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
   * has a cost of goods sold value of $5. The cost of goods sold for this order
   * is $8 = $3 + $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cost_of_goods_sold_micros = 299; * @return The costOfGoodsSoldMicros. */ @java.lang.Override public long getCostOfGoodsSoldMicros() { return costOfGoodsSoldMicros_; } public static final int GROSS_PROFIT_MICROS_FIELD_NUMBER = 300; private long grossProfitMicros_ = 0L; /** *
   * Gross profit is the profit you made from orders attributed to your ads
   * minus the cost of goods sold (COGS).
   * How it works: Gross profit is the revenue you made from sales attributed to
   * your ads minus cost of goods sold. Gross profit calculations only include
   * products that have a cost of goods sold value in Merchant Center.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt in an order from your website. The hat is priced $10 and
   * the shirt is priced $20. The hat has a cost of goods sold value of $3, but
   * the shirt has no cost of goods sold value. Gross profit for this order will
   * only take into account the hat, so it's $7 = $10 - $3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 gross_profit_micros = 300; * @return Whether the grossProfitMicros field is set. */ @java.lang.Override public boolean hasGrossProfitMicros() { return ((bitField4_ & 0x02000000) != 0); } /** *
   * Gross profit is the profit you made from orders attributed to your ads
   * minus the cost of goods sold (COGS).
   * How it works: Gross profit is the revenue you made from sales attributed to
   * your ads minus cost of goods sold. Gross profit calculations only include
   * products that have a cost of goods sold value in Merchant Center.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt in an order from your website. The hat is priced $10 and
   * the shirt is priced $20. The hat has a cost of goods sold value of $3, but
   * the shirt has no cost of goods sold value. Gross profit for this order will
   * only take into account the hat, so it's $7 = $10 - $3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 gross_profit_micros = 300; * @return The grossProfitMicros. */ @java.lang.Override public long getGrossProfitMicros() { return grossProfitMicros_; } public static final int GROSS_PROFIT_MARGIN_FIELD_NUMBER = 301; private double grossProfitMargin_ = 0D; /** *
   * Gross profit margin is the percentage gross profit you made from orders
   * attributed to your ads, after taking out the cost of goods sold (COGS).
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Gross profit margin is the gross profit you made divided
   * by your total revenue and multiplied by 100%. Gross profit margin
   * calculations only include products that have a cost of goods sold value in
   * Merchant Center.
   * Example: Someone bought a hat and a shirt in an order on your website. The
   * hat is priced $10 and has a cost of goods sold value of $3. The shirt is
   * priced $20 but has no cost of goods sold value. Gross profit margin for
   * this order will only take into account the hat because it has a cost of
   * goods sold value, so it's 70% = ($10 - $3)/$10 x 100%.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double gross_profit_margin = 301; * @return Whether the grossProfitMargin field is set. */ @java.lang.Override public boolean hasGrossProfitMargin() { return ((bitField4_ & 0x04000000) != 0); } /** *
   * Gross profit margin is the percentage gross profit you made from orders
   * attributed to your ads, after taking out the cost of goods sold (COGS).
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Gross profit margin is the gross profit you made divided
   * by your total revenue and multiplied by 100%. Gross profit margin
   * calculations only include products that have a cost of goods sold value in
   * Merchant Center.
   * Example: Someone bought a hat and a shirt in an order on your website. The
   * hat is priced $10 and has a cost of goods sold value of $3. The shirt is
   * priced $20 but has no cost of goods sold value. Gross profit margin for
   * this order will only take into account the hat because it has a cost of
   * goods sold value, so it's 70% = ($10 - $3)/$10 x 100%.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double gross_profit_margin = 301; * @return The grossProfitMargin. */ @java.lang.Override public double getGrossProfitMargin() { return grossProfitMargin_; } public static final int REVENUE_MICROS_FIELD_NUMBER = 302; private long revenueMicros_ = 0L; /** *
   * Revenue is the total amount you made from orders attributed to your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Revenue is the total value of all the orders you received
   * attributed to your ads, minus any discount.
   * Example: Someone clicked on a Shopping ad  for a hat then bought the same
   * hat and a shirt in an order from your website. The hat is priced $10 and
   * the shirt is priced $20. The entire order has a $5 discount. The revenue
   * from this order is $25 = ($10 + $20) - $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 revenue_micros = 302; * @return Whether the revenueMicros field is set. */ @java.lang.Override public boolean hasRevenueMicros() { return ((bitField4_ & 0x08000000) != 0); } /** *
   * Revenue is the total amount you made from orders attributed to your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Revenue is the total value of all the orders you received
   * attributed to your ads, minus any discount.
   * Example: Someone clicked on a Shopping ad  for a hat then bought the same
   * hat and a shirt in an order from your website. The hat is priced $10 and
   * the shirt is priced $20. The entire order has a $5 discount. The revenue
   * from this order is $25 = ($10 + $20) - $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 revenue_micros = 302; * @return The revenueMicros. */ @java.lang.Override public long getRevenueMicros() { return revenueMicros_; } public static final int UNITS_SOLD_FIELD_NUMBER = 303; private double unitsSold_ = 0D; /** *
   * Units sold is the total number of products sold from orders attributed to
   * your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Units sold is the total number of products sold from all
   * orders attributed to your ads.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat, a shirt and a jacket. The units sold in this order is 3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double units_sold = 303; * @return Whether the unitsSold field is set. */ @java.lang.Override public boolean hasUnitsSold() { return ((bitField4_ & 0x10000000) != 0); } /** *
   * Units sold is the total number of products sold from orders attributed to
   * your ads.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. Units sold is the total number of products sold from all
   * orders attributed to your ads.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat, a shirt and a jacket. The units sold in this order is 3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double units_sold = 303; * @return The unitsSold. */ @java.lang.Override public double getUnitsSold() { return unitsSold_; } public static final int CROSS_SELL_COST_OF_GOODS_SOLD_MICROS_FIELD_NUMBER = 304; private long crossSellCostOfGoodsSoldMicros_ = 0L; /** *
   * Cross-sell cost of goods sold (COGS) is the total cost of products sold as
   * a result of advertising a different product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If these products don't match then this is
   * considered cross-sell. Cross-sell cost of goods sold is the total cost of
   * the products sold that weren't advertised.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
   * has a cost of goods sold value of $5. The cross-sell cost of goods sold for
   * this order is $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cross_sell_cost_of_goods_sold_micros = 304; * @return Whether the crossSellCostOfGoodsSoldMicros field is set. */ @java.lang.Override public boolean hasCrossSellCostOfGoodsSoldMicros() { return ((bitField4_ & 0x20000000) != 0); } /** *
   * Cross-sell cost of goods sold (COGS) is the total cost of products sold as
   * a result of advertising a different product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If these products don't match then this is
   * considered cross-sell. Cross-sell cost of goods sold is the total cost of
   * the products sold that weren't advertised.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
   * has a cost of goods sold value of $5. The cross-sell cost of goods sold for
   * this order is $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cross_sell_cost_of_goods_sold_micros = 304; * @return The crossSellCostOfGoodsSoldMicros. */ @java.lang.Override public long getCrossSellCostOfGoodsSoldMicros() { return crossSellCostOfGoodsSoldMicros_; } public static final int CROSS_SELL_GROSS_PROFIT_MICROS_FIELD_NUMBER = 305; private long crossSellGrossProfitMicros_ = 0L; /** *
   * Cross-sell gross profit is the profit you made from products sold as a
   * result of advertising a different product, minus cost of goods sold (COGS).
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the purchase is a sold
   * product. If these products don't match then this is considered cross-sell.
   * Cross-sell gross profit is the revenue you made from cross-sell attributed
   * to your ads minus the cost of the goods sold.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value
   * of $5. The cross-sell gross profit of this order is $15 = $20 - $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cross_sell_gross_profit_micros = 305; * @return Whether the crossSellGrossProfitMicros field is set. */ @java.lang.Override public boolean hasCrossSellGrossProfitMicros() { return ((bitField4_ & 0x40000000) != 0); } /** *
   * Cross-sell gross profit is the profit you made from products sold as a
   * result of advertising a different product, minus cost of goods sold (COGS).
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the purchase is a sold
   * product. If these products don't match then this is considered cross-sell.
   * Cross-sell gross profit is the revenue you made from cross-sell attributed
   * to your ads minus the cost of the goods sold.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value
   * of $5. The cross-sell gross profit of this order is $15 = $20 - $5.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cross_sell_gross_profit_micros = 305; * @return The crossSellGrossProfitMicros. */ @java.lang.Override public long getCrossSellGrossProfitMicros() { return crossSellGrossProfitMicros_; } public static final int CROSS_SELL_REVENUE_MICROS_FIELD_NUMBER = 306; private long crossSellRevenueMicros_ = 0L; /** *
   * Cross-sell revenue is the total amount you made from products sold as a
   * result of advertising a different product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If these products don't match then this is
   * considered cross-sell. Cross-sell revenue is the total value you made from
   * cross-sell attributed to your ads.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
   * cross-sell revenue of this order is $20.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cross_sell_revenue_micros = 306; * @return Whether the crossSellRevenueMicros field is set. */ @java.lang.Override public boolean hasCrossSellRevenueMicros() { return ((bitField4_ & 0x80000000) != 0); } /** *
   * Cross-sell revenue is the total amount you made from products sold as a
   * result of advertising a different product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If these products don't match then this is
   * considered cross-sell. Cross-sell revenue is the total value you made from
   * cross-sell attributed to your ads.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
   * cross-sell revenue of this order is $20.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 cross_sell_revenue_micros = 306; * @return The crossSellRevenueMicros. */ @java.lang.Override public long getCrossSellRevenueMicros() { return crossSellRevenueMicros_; } public static final int CROSS_SELL_UNITS_SOLD_FIELD_NUMBER = 307; private double crossSellUnitsSold_ = 0D; /** *
   * Cross-sell units sold is the total number of products sold as a result of
   * advertising a different product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If these products don't match then this is
   * considered cross-sell. Cross-sell units sold is the total number of
   * cross-sold products from all orders attributed to your ads.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat, a shirt and a jacket. The cross-sell units sold in this order is 2.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double cross_sell_units_sold = 307; * @return Whether the crossSellUnitsSold field is set. */ @java.lang.Override public boolean hasCrossSellUnitsSold() { return ((bitField5_ & 0x00000001) != 0); } /** *
   * Cross-sell units sold is the total number of products sold as a result of
   * advertising a different product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If these products don't match then this is
   * considered cross-sell. Cross-sell units sold is the total number of
   * cross-sold products from all orders attributed to your ads.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat, a shirt and a jacket. The cross-sell units sold in this order is 2.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double cross_sell_units_sold = 307; * @return The crossSellUnitsSold. */ @java.lang.Override public double getCrossSellUnitsSold() { return crossSellUnitsSold_; } public static final int LEAD_COST_OF_GOODS_SOLD_MICROS_FIELD_NUMBER = 308; private long leadCostOfGoodsSoldMicros_ = 0L; /** *
   * Lead cost of goods sold (COGS) is the total cost of products sold as a
   * result of advertising the same product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with has an associated
   * product (see Shopping Ads) then this product is considered the advertised
   * product. Any product included in the order the customer places is a sold
   * product. If the advertised and sold products match, then the cost of these
   * goods is counted under lead cost of goods sold.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
   * has a cost of goods sold value of $5. The lead cost of goods sold for this
   * order is $3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 lead_cost_of_goods_sold_micros = 308; * @return Whether the leadCostOfGoodsSoldMicros field is set. */ @java.lang.Override public boolean hasLeadCostOfGoodsSoldMicros() { return ((bitField5_ & 0x00000002) != 0); } /** *
   * Lead cost of goods sold (COGS) is the total cost of products sold as a
   * result of advertising the same product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with has an associated
   * product (see Shopping Ads) then this product is considered the advertised
   * product. Any product included in the order the customer places is a sold
   * product. If the advertised and sold products match, then the cost of these
   * goods is counted under lead cost of goods sold.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
   * has a cost of goods sold value of $5. The lead cost of goods sold for this
   * order is $3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 lead_cost_of_goods_sold_micros = 308; * @return The leadCostOfGoodsSoldMicros. */ @java.lang.Override public long getLeadCostOfGoodsSoldMicros() { return leadCostOfGoodsSoldMicros_; } public static final int LEAD_GROSS_PROFIT_MICROS_FIELD_NUMBER = 309; private long leadGrossProfitMicros_ = 0L; /** *
   * Lead gross profit is the profit you made from products sold as a result of
   * advertising the same product, minus cost of goods sold (COGS).
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If the advertised and sold products match, then
   * the revenue you made from these sales minus the cost of goods sold is your
   * lead gross profit.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat is priced $10 and has a cost of goods sold value
   * of $3. The lead gross profit of this order is $7 = $10 - $3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 lead_gross_profit_micros = 309; * @return Whether the leadGrossProfitMicros field is set. */ @java.lang.Override public boolean hasLeadGrossProfitMicros() { return ((bitField5_ & 0x00000004) != 0); } /** *
   * Lead gross profit is the profit you made from products sold as a result of
   * advertising the same product, minus cost of goods sold (COGS).
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If the advertised and sold products match, then
   * the revenue you made from these sales minus the cost of goods sold is your
   * lead gross profit.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat is priced $10 and has a cost of goods sold value
   * of $3. The lead gross profit of this order is $7 = $10 - $3.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 lead_gross_profit_micros = 309; * @return The leadGrossProfitMicros. */ @java.lang.Override public long getLeadGrossProfitMicros() { return leadGrossProfitMicros_; } public static final int LEAD_REVENUE_MICROS_FIELD_NUMBER = 310; private long leadRevenueMicros_ = 0L; /** *
   * Lead revenue is the total amount you made from products sold as a result of
   * advertising the same product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If the advertised and sold products match, then
   * the total value you made from the sales of these products is shown under
   * lead revenue.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
   * lead revenue of this order is $10.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 lead_revenue_micros = 310; * @return Whether the leadRevenueMicros field is set. */ @java.lang.Override public boolean hasLeadRevenueMicros() { return ((bitField5_ & 0x00000008) != 0); } /** *
   * Lead revenue is the total amount you made from products sold as a result of
   * advertising the same product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If the advertised and sold products match, then
   * the total value you made from the sales of these products is shown under
   * lead revenue.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
   * lead revenue of this order is $10.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional int64 lead_revenue_micros = 310; * @return The leadRevenueMicros. */ @java.lang.Override public long getLeadRevenueMicros() { return leadRevenueMicros_; } public static final int LEAD_UNITS_SOLD_FIELD_NUMBER = 311; private double leadUnitsSold_ = 0D; /** *
   * Lead units sold is the total number of products sold as a result of
   * advertising the same product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If the advertised and sold products match, then
   * the total number of these products sold is shown under lead units sold.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat, a shirt and a jacket. The lead units sold in this order is 1.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double lead_units_sold = 311; * @return Whether the leadUnitsSold field is set. */ @java.lang.Override public boolean hasLeadUnitsSold() { return ((bitField5_ & 0x00000010) != 0); } /** *
   * Lead units sold is the total number of products sold as a result of
   * advertising the same product.
   * How it works: You report conversions with cart data for completed purchases
   * on your website. If the ad that was interacted with before the purchase has
   * an associated product (see Shopping Ads) then this product is considered
   * the advertised product. Any product included in the order the customer
   * places is a sold product. If the advertised and sold products match, then
   * the total number of these products sold is shown under lead units sold.
   * Example: Someone clicked on a Shopping ad for a hat then bought the same
   * hat, a shirt and a jacket. The lead units sold in this order is 1.
   * This metric is only available if you report conversions with cart data.
   * 
* * optional double lead_units_sold = 311; * @return The leadUnitsSold. */ @java.lang.Override public double getLeadUnitsSold() { return leadUnitsSold_; } public static final int UNIQUE_USERS_FIELD_NUMBER = 319; private long uniqueUsers_ = 0L; /** *
   * The number of unique users who saw your ad during the requested time
   * period. This metric cannot be aggregated, and can only be requested for
   * date ranges of 92 days or less. This metric is available for following
   * campaign types - Display, Video, Discovery and App.
   * 
* * optional int64 unique_users = 319; * @return Whether the uniqueUsers field is set. */ @java.lang.Override public boolean hasUniqueUsers() { return ((bitField5_ & 0x00000020) != 0); } /** *
   * The number of unique users who saw your ad during the requested time
   * period. This metric cannot be aggregated, and can only be requested for
   * date ranges of 92 days or less. This metric is available for following
   * campaign types - Display, Video, Discovery and App.
   * 
* * optional int64 unique_users = 319; * @return The uniqueUsers. */ @java.lang.Override public long getUniqueUsers() { return uniqueUsers_; } public static final int AVERAGE_IMPRESSION_FREQUENCY_PER_USER_FIELD_NUMBER = 320; private double averageImpressionFrequencyPerUser_ = 0D; /** *
   * The average number of times a unique user saw your ad during the requested
   * time period. This metric cannot be aggregated, and can only be requested
   * for date ranges of 92 days or less. This metric is available for following
   * campaign types - Display, Video, Discovery and App.
   * 
* * optional double average_impression_frequency_per_user = 320; * @return Whether the averageImpressionFrequencyPerUser field is set. */ @java.lang.Override public boolean hasAverageImpressionFrequencyPerUser() { return ((bitField5_ & 0x00000040) != 0); } /** *
   * The average number of times a unique user saw your ad during the requested
   * time period. This metric cannot be aggregated, and can only be requested
   * for date ranges of 92 days or less. This metric is available for following
   * campaign types - Display, Video, Discovery and App.
   * 
* * optional double average_impression_frequency_per_user = 320; * @return The averageImpressionFrequencyPerUser. */ @java.lang.Override public double getAverageImpressionFrequencyPerUser() { return averageImpressionFrequencyPerUser_; } public static final int LINKED_ENTITIES_COUNT_FIELD_NUMBER = 341; private long linkedEntitiesCount_ = 0L; /** *
   * Number of linked resources in which the asset is used.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * optional int64 linked_entities_count = 341; * @return Whether the linkedEntitiesCount field is set. */ @java.lang.Override public boolean hasLinkedEntitiesCount() { return ((bitField5_ & 0x00000080) != 0); } /** *
   * Number of linked resources in which the asset is used.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * optional int64 linked_entities_count = 341; * @return The linkedEntitiesCount. */ @java.lang.Override public long getLinkedEntitiesCount() { return linkedEntitiesCount_; } public static final int LINKED_SAMPLE_ENTITIES_FIELD_NUMBER = 342; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList linkedSampleEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of up to 20 sample linked resources in which the asset is used.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string linked_sample_entities = 342; * @return A list containing the linkedSampleEntities. */ public com.google.protobuf.ProtocolStringList getLinkedSampleEntitiesList() { return linkedSampleEntities_; } /** *
   * A list of up to 20 sample linked resources in which the asset is used.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string linked_sample_entities = 342; * @return The count of linkedSampleEntities. */ public int getLinkedSampleEntitiesCount() { return linkedSampleEntities_.size(); } /** *
   * A list of up to 20 sample linked resources in which the asset is used.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string linked_sample_entities = 342; * @param index The index of the element to return. * @return The linkedSampleEntities at the given index. */ public java.lang.String getLinkedSampleEntities(int index) { return linkedSampleEntities_.get(index); } /** *
   * A list of up to 20 sample linked resources in which the asset is used.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string linked_sample_entities = 342; * @param index The index of the value to return. * @return The bytes of the linkedSampleEntities at the given index. */ public com.google.protobuf.ByteString getLinkedSampleEntitiesBytes(int index) { return linkedSampleEntities_.getByteString(index); } public static final int SAMPLE_BEST_PERFORMANCE_ENTITIES_FIELD_NUMBER = 343; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sampleBestPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.BEST performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_best_performance_entities = 343; * @return A list containing the sampleBestPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleBestPerformanceEntitiesList() { return sampleBestPerformanceEntities_; } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.BEST performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_best_performance_entities = 343; * @return The count of sampleBestPerformanceEntities. */ public int getSampleBestPerformanceEntitiesCount() { return sampleBestPerformanceEntities_.size(); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.BEST performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_best_performance_entities = 343; * @param index The index of the element to return. * @return The sampleBestPerformanceEntities at the given index. */ public java.lang.String getSampleBestPerformanceEntities(int index) { return sampleBestPerformanceEntities_.get(index); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.BEST performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_best_performance_entities = 343; * @param index The index of the value to return. * @return The bytes of the sampleBestPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleBestPerformanceEntitiesBytes(int index) { return sampleBestPerformanceEntities_.getByteString(index); } public static final int SAMPLE_GOOD_PERFORMANCE_ENTITIES_FIELD_NUMBER = 344; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sampleGoodPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.GOOD performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_good_performance_entities = 344; * @return A list containing the sampleGoodPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleGoodPerformanceEntitiesList() { return sampleGoodPerformanceEntities_; } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.GOOD performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_good_performance_entities = 344; * @return The count of sampleGoodPerformanceEntities. */ public int getSampleGoodPerformanceEntitiesCount() { return sampleGoodPerformanceEntities_.size(); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.GOOD performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_good_performance_entities = 344; * @param index The index of the element to return. * @return The sampleGoodPerformanceEntities at the given index. */ public java.lang.String getSampleGoodPerformanceEntities(int index) { return sampleGoodPerformanceEntities_.get(index); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.GOOD performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_good_performance_entities = 344; * @param index The index of the value to return. * @return The bytes of the sampleGoodPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleGoodPerformanceEntitiesBytes(int index) { return sampleGoodPerformanceEntities_.getByteString(index); } public static final int SAMPLE_LOW_PERFORMANCE_ENTITIES_FIELD_NUMBER = 345; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sampleLowPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LOW performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_low_performance_entities = 345; * @return A list containing the sampleLowPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleLowPerformanceEntitiesList() { return sampleLowPerformanceEntities_; } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LOW performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_low_performance_entities = 345; * @return The count of sampleLowPerformanceEntities. */ public int getSampleLowPerformanceEntitiesCount() { return sampleLowPerformanceEntities_.size(); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LOW performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_low_performance_entities = 345; * @param index The index of the element to return. * @return The sampleLowPerformanceEntities at the given index. */ public java.lang.String getSampleLowPerformanceEntities(int index) { return sampleLowPerformanceEntities_.get(index); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LOW performance label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_low_performance_entities = 345; * @param index The index of the value to return. * @return The bytes of the sampleLowPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleLowPerformanceEntitiesBytes(int index) { return sampleLowPerformanceEntities_.getByteString(index); } public static final int SAMPLE_LEARNING_PERFORMANCE_ENTITIES_FIELD_NUMBER = 346; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sampleLearningPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LEARNING performance
   * label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_learning_performance_entities = 346; * @return A list containing the sampleLearningPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleLearningPerformanceEntitiesList() { return sampleLearningPerformanceEntities_; } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LEARNING performance
   * label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_learning_performance_entities = 346; * @return The count of sampleLearningPerformanceEntities. */ public int getSampleLearningPerformanceEntitiesCount() { return sampleLearningPerformanceEntities_.size(); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LEARNING performance
   * label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_learning_performance_entities = 346; * @param index The index of the element to return. * @return The sampleLearningPerformanceEntities at the given index. */ public java.lang.String getSampleLearningPerformanceEntities(int index) { return sampleLearningPerformanceEntities_.get(index); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the asset had the AssetPerformanceLabel.LEARNING performance
   * label.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_learning_performance_entities = 346; * @param index The index of the value to return. * @return The bytes of the sampleLearningPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleLearningPerformanceEntitiesBytes(int index) { return sampleLearningPerformanceEntities_.getByteString(index); } public static final int SAMPLE_UNRATED_PERFORMANCE_ENTITIES_FIELD_NUMBER = 347; @SuppressWarnings("serial") private com.google.protobuf.LazyStringArrayList sampleUnratedPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the assets had AssetPerformanceLabel performance label other
   * than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_unrated_performance_entities = 347; * @return A list containing the sampleUnratedPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleUnratedPerformanceEntitiesList() { return sampleUnratedPerformanceEntities_; } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the assets had AssetPerformanceLabel performance label other
   * than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_unrated_performance_entities = 347; * @return The count of sampleUnratedPerformanceEntities. */ public int getSampleUnratedPerformanceEntitiesCount() { return sampleUnratedPerformanceEntities_.size(); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the assets had AssetPerformanceLabel performance label other
   * than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_unrated_performance_entities = 347; * @param index The index of the element to return. * @return The sampleUnratedPerformanceEntities at the given index. */ public java.lang.String getSampleUnratedPerformanceEntities(int index) { return sampleUnratedPerformanceEntities_.get(index); } /** *
   * A list of up to 20 sample linked resources with impressions in the last 30
   * days where the assets had AssetPerformanceLabel performance label other
   * than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * 
* * repeated string sample_unrated_performance_entities = 347; * @param index The index of the value to return. * @return The bytes of the sampleUnratedPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleUnratedPerformanceEntitiesBytes(int index) { return sampleUnratedPerformanceEntities_.getByteString(index); } public static final int ASSET_PINNED_TOTAL_COUNT_FIELD_NUMBER = 348; private long assetPinnedTotalCount_ = 0L; /** *
   * Number of total usages in which the asset is pinned.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_total_count = 348; * @return Whether the assetPinnedTotalCount field is set. */ @java.lang.Override public boolean hasAssetPinnedTotalCount() { return ((bitField5_ & 0x00000100) != 0); } /** *
   * Number of total usages in which the asset is pinned.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_total_count = 348; * @return The assetPinnedTotalCount. */ @java.lang.Override public long getAssetPinnedTotalCount() { return assetPinnedTotalCount_; } public static final int ASSET_PINNED_AS_HEADLINE_POSITION_ONE_COUNT_FIELD_NUMBER = 349; private long assetPinnedAsHeadlinePositionOneCount_ = 0L; /** *
   * Number of entities in which the asset is pinned to headline 1.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_headline_position_one_count = 349; * @return Whether the assetPinnedAsHeadlinePositionOneCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsHeadlinePositionOneCount() { return ((bitField5_ & 0x00000200) != 0); } /** *
   * Number of entities in which the asset is pinned to headline 1.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_headline_position_one_count = 349; * @return The assetPinnedAsHeadlinePositionOneCount. */ @java.lang.Override public long getAssetPinnedAsHeadlinePositionOneCount() { return assetPinnedAsHeadlinePositionOneCount_; } public static final int ASSET_PINNED_AS_HEADLINE_POSITION_TWO_COUNT_FIELD_NUMBER = 350; private long assetPinnedAsHeadlinePositionTwoCount_ = 0L; /** *
   * Number of entities in which the asset is pinned to headline 2.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_headline_position_two_count = 350; * @return Whether the assetPinnedAsHeadlinePositionTwoCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsHeadlinePositionTwoCount() { return ((bitField5_ & 0x00000400) != 0); } /** *
   * Number of entities in which the asset is pinned to headline 2.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_headline_position_two_count = 350; * @return The assetPinnedAsHeadlinePositionTwoCount. */ @java.lang.Override public long getAssetPinnedAsHeadlinePositionTwoCount() { return assetPinnedAsHeadlinePositionTwoCount_; } public static final int ASSET_PINNED_AS_HEADLINE_POSITION_THREE_COUNT_FIELD_NUMBER = 351; private long assetPinnedAsHeadlinePositionThreeCount_ = 0L; /** *
   * Number of entities in which the asset is pinned to headline 3.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_headline_position_three_count = 351; * @return Whether the assetPinnedAsHeadlinePositionThreeCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsHeadlinePositionThreeCount() { return ((bitField5_ & 0x00000800) != 0); } /** *
   * Number of entities in which the asset is pinned to headline 3.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_headline_position_three_count = 351; * @return The assetPinnedAsHeadlinePositionThreeCount. */ @java.lang.Override public long getAssetPinnedAsHeadlinePositionThreeCount() { return assetPinnedAsHeadlinePositionThreeCount_; } public static final int ASSET_PINNED_AS_DESCRIPTION_POSITION_ONE_COUNT_FIELD_NUMBER = 352; private long assetPinnedAsDescriptionPositionOneCount_ = 0L; /** *
   * Number of entities in which the asset is pinned to description 1.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_description_position_one_count = 352; * @return Whether the assetPinnedAsDescriptionPositionOneCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsDescriptionPositionOneCount() { return ((bitField5_ & 0x00001000) != 0); } /** *
   * Number of entities in which the asset is pinned to description 1.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_description_position_one_count = 352; * @return The assetPinnedAsDescriptionPositionOneCount. */ @java.lang.Override public long getAssetPinnedAsDescriptionPositionOneCount() { return assetPinnedAsDescriptionPositionOneCount_; } public static final int ASSET_PINNED_AS_DESCRIPTION_POSITION_TWO_COUNT_FIELD_NUMBER = 353; private long assetPinnedAsDescriptionPositionTwoCount_ = 0L; /** *
   * Number of entities in which the asset is pinned to description 2.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_description_position_two_count = 353; * @return Whether the assetPinnedAsDescriptionPositionTwoCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsDescriptionPositionTwoCount() { return ((bitField5_ & 0x00002000) != 0); } /** *
   * Number of entities in which the asset is pinned to description 2.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional int64 asset_pinned_as_description_position_two_count = 353; * @return The assetPinnedAsDescriptionPositionTwoCount. */ @java.lang.Override public long getAssetPinnedAsDescriptionPositionTwoCount() { return assetPinnedAsDescriptionPositionTwoCount_; } public static final int ASSET_BEST_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 354; private double assetBestPerformanceImpressionPercentage_ = 0D; /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.BEST.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_best_performance_impression_percentage = 354; * @return Whether the assetBestPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetBestPerformanceImpressionPercentage() { return ((bitField5_ & 0x00004000) != 0); } /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.BEST.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_best_performance_impression_percentage = 354; * @return The assetBestPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetBestPerformanceImpressionPercentage() { return assetBestPerformanceImpressionPercentage_; } public static final int ASSET_GOOD_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 355; private double assetGoodPerformanceImpressionPercentage_ = 0D; /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.GOOD.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_good_performance_impression_percentage = 355; * @return Whether the assetGoodPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetGoodPerformanceImpressionPercentage() { return ((bitField5_ & 0x00008000) != 0); } /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.GOOD.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_good_performance_impression_percentage = 355; * @return The assetGoodPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetGoodPerformanceImpressionPercentage() { return assetGoodPerformanceImpressionPercentage_; } public static final int ASSET_LOW_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 356; private double assetLowPerformanceImpressionPercentage_ = 0D; /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.LOW.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_low_performance_impression_percentage = 356; * @return Whether the assetLowPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetLowPerformanceImpressionPercentage() { return ((bitField5_ & 0x00010000) != 0); } /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.LOW.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_low_performance_impression_percentage = 356; * @return The assetLowPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetLowPerformanceImpressionPercentage() { return assetLowPerformanceImpressionPercentage_; } public static final int ASSET_LEARNING_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 357; private double assetLearningPerformanceImpressionPercentage_ = 0D; /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_learning_performance_impression_percentage = 357; * @return Whether the assetLearningPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetLearningPerformanceImpressionPercentage() { return ((bitField5_ & 0x00020000) != 0); } /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel.LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_learning_performance_impression_percentage = 357; * @return The assetLearningPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetLearningPerformanceImpressionPercentage() { return assetLearningPerformanceImpressionPercentage_; } public static final int ASSET_UNRATED_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER = 358; private double assetUnratedPerformanceImpressionPercentage_ = 0D; /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel other than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_unrated_performance_impression_percentage = 358; * @return Whether the assetUnratedPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetUnratedPerformanceImpressionPercentage() { return ((bitField5_ & 0x00040000) != 0); } /** *
   * Percentage of impressions the asset received in ads with
   * AssetPerformanceLabel other than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Search channel.
   * 
* * optional double asset_unrated_performance_impression_percentage = 358; * @return The assetUnratedPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetUnratedPerformanceImpressionPercentage() { return assetUnratedPerformanceImpressionPercentage_; } public static final int ASSET_BEST_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER = 359; private double assetBestPerformanceCostPercentage_ = 0D; /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.BEST.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_best_performance_cost_percentage = 359; * @return Whether the assetBestPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetBestPerformanceCostPercentage() { return ((bitField5_ & 0x00080000) != 0); } /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.BEST.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_best_performance_cost_percentage = 359; * @return The assetBestPerformanceCostPercentage. */ @java.lang.Override public double getAssetBestPerformanceCostPercentage() { return assetBestPerformanceCostPercentage_; } public static final int ASSET_GOOD_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER = 360; private double assetGoodPerformanceCostPercentage_ = 0D; /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.GOOD.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_good_performance_cost_percentage = 360; * @return Whether the assetGoodPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetGoodPerformanceCostPercentage() { return ((bitField5_ & 0x00100000) != 0); } /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.GOOD.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_good_performance_cost_percentage = 360; * @return The assetGoodPerformanceCostPercentage. */ @java.lang.Override public double getAssetGoodPerformanceCostPercentage() { return assetGoodPerformanceCostPercentage_; } public static final int ASSET_LOW_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER = 361; private double assetLowPerformanceCostPercentage_ = 0D; /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.LOW.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_low_performance_cost_percentage = 361; * @return Whether the assetLowPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetLowPerformanceCostPercentage() { return ((bitField5_ & 0x00200000) != 0); } /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.LOW.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_low_performance_cost_percentage = 361; * @return The assetLowPerformanceCostPercentage. */ @java.lang.Override public double getAssetLowPerformanceCostPercentage() { return assetLowPerformanceCostPercentage_; } public static final int ASSET_LEARNING_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER = 362; private double assetLearningPerformanceCostPercentage_ = 0D; /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_learning_performance_cost_percentage = 362; * @return Whether the assetLearningPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetLearningPerformanceCostPercentage() { return ((bitField5_ & 0x00400000) != 0); } /** *
   * Percentage of cost the asset received in ads with
   * AssetPerformanceLabel.LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_learning_performance_cost_percentage = 362; * @return The assetLearningPerformanceCostPercentage. */ @java.lang.Override public double getAssetLearningPerformanceCostPercentage() { return assetLearningPerformanceCostPercentage_; } public static final int ASSET_UNRATED_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER = 363; private double assetUnratedPerformanceCostPercentage_ = 0D; /** *
   * Percentage of cost the asset received in ads with AssetPerformanceLabel
   * other than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_unrated_performance_cost_percentage = 363; * @return Whether the assetUnratedPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetUnratedPerformanceCostPercentage() { return ((bitField5_ & 0x00800000) != 0); } /** *
   * Percentage of cost the asset received in ads with AssetPerformanceLabel
   * other than BEST, GOOD, LOW, and LEARNING.
   * This metric can only be selected with ChannelAggregateAssetView and
   * CampaignAggregateAssetView.
   * This metric is only supported in Performance Max channel.
   * 
* * optional double asset_unrated_performance_cost_percentage = 363; * @return The assetUnratedPerformanceCostPercentage. */ @java.lang.Override public double getAssetUnratedPerformanceCostPercentage() { return assetUnratedPerformanceCostPercentage_; } public static final int STORE_VISITS_LAST_CLICK_MODEL_ATTRIBUTED_CONVERSIONS_FIELD_NUMBER = 365; private double storeVisitsLastClickModelAttributedConversions_ = 0D; /** *
   * The amount of store visits attributed by the last click model.
   * 
* * optional double store_visits_last_click_model_attributed_conversions = 365; * @return Whether the storeVisitsLastClickModelAttributedConversions field is set. */ @java.lang.Override public boolean hasStoreVisitsLastClickModelAttributedConversions() { return ((bitField5_ & 0x01000000) != 0); } /** *
   * The amount of store visits attributed by the last click model.
   * 
* * optional double store_visits_last_click_model_attributed_conversions = 365; * @return The storeVisitsLastClickModelAttributedConversions. */ @java.lang.Override public double getStoreVisitsLastClickModelAttributedConversions() { return storeVisitsLastClickModelAttributedConversions_; } public static final int RESULTS_CONVERSIONS_PURCHASE_FIELD_NUMBER = 366; private double resultsConversionsPurchase_ = 0D; /** *
   * The purchase conversion stats for the unified goals results.
   * 
* * optional double results_conversions_purchase = 366; * @return Whether the resultsConversionsPurchase field is set. */ @java.lang.Override public boolean hasResultsConversionsPurchase() { return ((bitField5_ & 0x02000000) != 0); } /** *
   * The purchase conversion stats for the unified goals results.
   * 
* * optional double results_conversions_purchase = 366; * @return The resultsConversionsPurchase. */ @java.lang.Override public double getResultsConversionsPurchase() { return resultsConversionsPurchase_; } public static final int VIDEO_VIEW_RATE_IN_FEED_FIELD_NUMBER = 367; private double videoViewRateInFeed_ = 0D; /** *
   * The number of video views divided by number of impressions that can
   * potentially lead to video views for in-feed formats.
   * 
* * optional double video_view_rate_in_feed = 367; * @return Whether the videoViewRateInFeed field is set. */ @java.lang.Override public boolean hasVideoViewRateInFeed() { return ((bitField5_ & 0x04000000) != 0); } /** *
   * The number of video views divided by number of impressions that can
   * potentially lead to video views for in-feed formats.
   * 
* * optional double video_view_rate_in_feed = 367; * @return The videoViewRateInFeed. */ @java.lang.Override public double getVideoViewRateInFeed() { return videoViewRateInFeed_; } public static final int VIDEO_VIEW_RATE_IN_STREAM_FIELD_NUMBER = 368; private double videoViewRateInStream_ = 0D; /** *
   * The number of video views divided by number of impressions that can
   * potentially lead to video views for in-stream formats.
   * 
* * optional double video_view_rate_in_stream = 368; * @return Whether the videoViewRateInStream field is set. */ @java.lang.Override public boolean hasVideoViewRateInStream() { return ((bitField5_ & 0x08000000) != 0); } /** *
   * The number of video views divided by number of impressions that can
   * potentially lead to video views for in-stream formats.
   * 
* * optional double video_view_rate_in_stream = 368; * @return The videoViewRateInStream. */ @java.lang.Override public double getVideoViewRateInStream() { return videoViewRateInStream_; } public static final int VIDEO_VIEW_RATE_SHORTS_FIELD_NUMBER = 369; private double videoViewRateShorts_ = 0D; /** *
   * The number of video views divided by number of impressions that can
   * potentially lead to video views for in shorts formats.
   * 
* * optional double video_view_rate_shorts = 369; * @return Whether the videoViewRateShorts field is set. */ @java.lang.Override public boolean hasVideoViewRateShorts() { return ((bitField5_ & 0x10000000) != 0); } /** *
   * The number of video views divided by number of impressions that can
   * potentially lead to video views for in shorts formats.
   * 
* * optional double video_view_rate_shorts = 369; * @return The videoViewRateShorts. */ @java.lang.Override public double getVideoViewRateShorts() { return videoViewRateShorts_; } private byte memoizedIsInitialized = -1; @java.lang.Override public final boolean isInitialized() { byte isInitialized = memoizedIsInitialized; if (isInitialized == 1) return true; if (isInitialized == 0) return false; memoizedIsInitialized = 1; return true; } @java.lang.Override public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException { getSerializedSize(); if (historicalCreativeQualityScore_ != com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNSPECIFIED.getNumber()) { output.writeEnum(80, historicalCreativeQualityScore_); } if (historicalLandingPageQualityScore_ != com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNSPECIFIED.getNumber()) { output.writeEnum(81, historicalLandingPageQualityScore_); } if (historicalSearchPredictedCtr_ != com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNSPECIFIED.getNumber()) { output.writeEnum(83, historicalSearchPredictedCtr_); } if (getInteractionEventTypesList().size() > 0) { output.writeUInt32NoTag(802); output.writeUInt32NoTag(interactionEventTypesMemoizedSerializedSize); } for (int i = 0; i < interactionEventTypes_.size(); i++) { output.writeEnumNoTag(interactionEventTypes_.get(i)); } if (((bitField1_ & 0x00000200) != 0)) { output.writeInt64(131, clicks_); } if (((bitField3_ & 0x80000000) != 0)) { output.writeDouble(132, videoQuartileP100Rate_); } if (((bitField4_ & 0x00000001) != 0)) { output.writeDouble(133, videoQuartileP25Rate_); } if (((bitField4_ & 0x00000002) != 0)) { output.writeDouble(134, videoQuartileP50Rate_); } if (((bitField4_ & 0x00000004) != 0)) { output.writeDouble(135, videoQuartileP75Rate_); } if (((bitField3_ & 0x00000200) != 0)) { output.writeDouble(136, searchAbsoluteTopImpressionShare_); } if (((bitField3_ & 0x00000400) != 0)) { output.writeDouble(137, searchBudgetLostAbsoluteTopImpressionShare_); } if (((bitField3_ & 0x00000800) != 0)) { output.writeDouble(138, searchBudgetLostImpressionShare_); } if (((bitField3_ & 0x00001000) != 0)) { output.writeDouble(139, searchBudgetLostTopImpressionShare_); } if (((bitField3_ & 0x00002000) != 0)) { output.writeDouble(140, searchClickShare_); } if (((bitField3_ & 0x00004000) != 0)) { output.writeDouble(141, searchExactMatchImpressionShare_); } if (((bitField3_ & 0x00008000) != 0)) { output.writeDouble(142, searchImpressionShare_); } if (((bitField3_ & 0x00010000) != 0)) { output.writeDouble(143, searchRankLostAbsoluteTopImpressionShare_); } if (((bitField3_ & 0x00020000) != 0)) { output.writeDouble(144, searchRankLostImpressionShare_); } if (((bitField3_ & 0x00040000) != 0)) { output.writeDouble(145, searchRankLostTopImpressionShare_); } if (((bitField3_ & 0x00080000) != 0)) { output.writeDouble(146, searchTopImpressionShare_); } if (((bitField3_ & 0x00200000) != 0)) { output.writeInt64(147, speedScore_); } if (((bitField3_ & 0x01000000) != 0)) { output.writeDouble(148, topImpressionPercentage_); } if (((bitField3_ & 0x02000000) != 0)) { output.writeDouble(149, validAcceleratedMobilePagesClicksPercentage_); } if (((bitField3_ & 0x04000000) != 0)) { output.writeDouble(150, valuePerAllConversions_); } if (((bitField3_ & 0x10000000) != 0)) { output.writeDouble(151, valuePerConversion_); } if (((bitField3_ & 0x40000000) != 0)) { output.writeDouble(152, valuePerCurrentModelAttributedConversion_); } if (((bitField4_ & 0x00000008) != 0)) { output.writeDouble(153, videoViewRate_); } if (((bitField4_ & 0x00000010) != 0)) { output.writeInt64(154, videoViews_); } if (((bitField4_ & 0x00000020) != 0)) { output.writeInt64(155, viewThroughConversions_); } if (((bitField1_ & 0x00000400) != 0)) { output.writeInt64(156, combinedClicks_); } if (((bitField1_ & 0x00000800) != 0)) { output.writeDouble(157, combinedClicksPerQuery_); } if (((bitField1_ & 0x00001000) != 0)) { output.writeInt64(158, combinedQueries_); } if (((bitField1_ & 0x00002000) != 0)) { output.writeDouble(159, contentBudgetLostImpressionShare_); } if (((bitField1_ & 0x00004000) != 0)) { output.writeDouble(160, contentImpressionShare_); } if (((bitField1_ & 0x00008000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 161, conversionLastReceivedRequestDateTime_); } if (((bitField1_ & 0x00010000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 162, conversionLastConversionDate_); } if (((bitField1_ & 0x00020000) != 0)) { output.writeDouble(163, contentRankLostImpressionShare_); } if (((bitField1_ & 0x00040000) != 0)) { output.writeDouble(164, conversionsFromInteractionsRate_); } if (((bitField1_ & 0x00080000) != 0)) { output.writeDouble(165, conversionsValue_); } if (((bitField1_ & 0x00400000) != 0)) { output.writeDouble(166, conversionsValuePerCost_); } if (((bitField1_ & 0x00800000) != 0)) { output.writeDouble(167, conversionsFromInteractionsValuePerInteraction_); } if (((bitField1_ & 0x01000000) != 0)) { output.writeDouble(168, conversions_); } if (((bitField1_ & 0x04000000) != 0)) { output.writeInt64(169, costMicros_); } if (((bitField1_ & 0x08000000) != 0)) { output.writeDouble(170, costPerAllConversions_); } if (((bitField1_ & 0x10000000) != 0)) { output.writeDouble(171, costPerConversion_); } if (((bitField1_ & 0x20000000) != 0)) { output.writeDouble(172, costPerCurrentModelAttributedConversion_); } if (((bitField1_ & 0x40000000) != 0)) { output.writeDouble(173, crossDeviceConversions_); } if (((bitField2_ & 0x00000001) != 0)) { output.writeDouble(174, ctr_); } if (((bitField2_ & 0x00000002) != 0)) { output.writeDouble(175, currentModelAttributedConversions_); } if (((bitField2_ & 0x00000004) != 0)) { output.writeDouble(176, currentModelAttributedConversionsFromInteractionsRate_); } if (((bitField2_ & 0x00000008) != 0)) { output.writeDouble(177, currentModelAttributedConversionsFromInteractionsValuePerInteraction_); } if (((bitField2_ & 0x00000010) != 0)) { output.writeDouble(178, currentModelAttributedConversionsValue_); } if (((bitField2_ & 0x00000020) != 0)) { output.writeDouble(179, currentModelAttributedConversionsValuePerCost_); } if (((bitField2_ & 0x00000040) != 0)) { output.writeDouble(180, engagementRate_); } if (((bitField2_ & 0x00000080) != 0)) { output.writeInt64(181, engagements_); } if (((bitField0_ & 0x00000001) != 0)) { output.writeDouble(183, absoluteTopImpressionPercentage_); } if (((bitField0_ & 0x00000002) != 0)) { output.writeDouble(184, activeViewCpm_); } if (((bitField0_ & 0x00000004) != 0)) { output.writeDouble(185, activeViewCtr_); } if (((bitField0_ & 0x00000008) != 0)) { output.writeInt64(186, activeViewImpressions_); } if (((bitField0_ & 0x00000010) != 0)) { output.writeDouble(187, activeViewMeasurability_); } if (((bitField0_ & 0x00000020) != 0)) { output.writeInt64(188, activeViewMeasurableCostMicros_); } if (((bitField0_ & 0x00000040) != 0)) { output.writeInt64(189, activeViewMeasurableImpressions_); } if (((bitField0_ & 0x00000080) != 0)) { output.writeDouble(190, activeViewViewability_); } if (((bitField0_ & 0x00000100) != 0)) { output.writeDouble(191, allConversionsFromInteractionsRate_); } if (((bitField0_ & 0x00000200) != 0)) { output.writeDouble(192, allConversionsValue_); } if (((bitField0_ & 0x00001000) != 0)) { output.writeDouble(193, allConversions_); } if (((bitField0_ & 0x00004000) != 0)) { output.writeDouble(194, allConversionsValuePerCost_); } if (((bitField0_ & 0x00008000) != 0)) { output.writeDouble(195, allConversionsFromClickToCall_); } if (((bitField0_ & 0x00010000) != 0)) { output.writeDouble(196, allConversionsFromDirections_); } if (((bitField0_ & 0x00020000) != 0)) { output.writeDouble(197, allConversionsFromInteractionsValuePerInteraction_); } if (((bitField0_ & 0x00040000) != 0)) { output.writeDouble(198, allConversionsFromMenu_); } if (((bitField0_ & 0x00080000) != 0)) { output.writeDouble(199, allConversionsFromOrder_); } if (((bitField0_ & 0x00100000) != 0)) { output.writeDouble(200, allConversionsFromOtherEngagement_); } if (((bitField0_ & 0x00200000) != 0)) { output.writeDouble(201, allConversionsFromStoreVisit_); } if (((bitField0_ & 0x00400000) != 0)) { output.writeDouble(202, allConversionsFromStoreWebsite_); } if (((bitField0_ & 0x20000000) != 0)) { output.writeDouble(203, averageCost_); } if (((bitField0_ & 0x40000000) != 0)) { output.writeDouble(204, averageCpc_); } if (((bitField0_ & 0x80000000) != 0)) { output.writeDouble(205, averageCpe_); } if (((bitField1_ & 0x00000001) != 0)) { output.writeDouble(206, averageCpm_); } if (((bitField1_ & 0x00000002) != 0)) { output.writeDouble(207, averageCpv_); } if (((bitField1_ & 0x00000004) != 0)) { output.writeDouble(208, averagePageViews_); } if (((bitField1_ & 0x00000008) != 0)) { output.writeDouble(209, averageTimeOnSite_); } if (((bitField1_ & 0x00000010) != 0)) { output.writeDouble(210, benchmarkAverageMaxCpc_); } if (((bitField1_ & 0x00000080) != 0)) { output.writeDouble(211, benchmarkCtr_); } if (((bitField1_ & 0x00000100) != 0)) { output.writeDouble(212, bounceRate_); } if (((bitField2_ & 0x00000100) != 0)) { output.writeDouble(213, hotelAverageLeadValueMicros_); } if (((bitField2_ & 0x00000800) != 0)) { output.writeDouble(214, hotelPriceDifferencePercentage_); } if (((bitField2_ & 0x00001000) != 0)) { output.writeInt64(215, hotelEligibleImpressions_); } if (((bitField2_ & 0x00002000) != 0)) { output.writeInt64(216, historicalQualityScore_); } if (((bitField2_ & 0x00004000) != 0)) { output.writeInt64(217, gmailForwards_); } if (((bitField2_ & 0x00008000) != 0)) { output.writeInt64(218, gmailSaves_); } if (((bitField2_ & 0x00010000) != 0)) { output.writeInt64(219, gmailSecondaryClicks_); } if (((bitField2_ & 0x00020000) != 0)) { output.writeInt64(220, impressionsFromStoreReach_); } if (((bitField2_ & 0x00040000) != 0)) { output.writeInt64(221, impressions_); } if (((bitField2_ & 0x00080000) != 0)) { output.writeDouble(222, interactionRate_); } if (((bitField2_ & 0x00100000) != 0)) { output.writeInt64(223, interactions_); } if (((bitField2_ & 0x00200000) != 0)) { output.writeDouble(224, invalidClickRate_); } if (((bitField2_ & 0x00400000) != 0)) { output.writeInt64(225, invalidClicks_); } if (((bitField2_ & 0x02000000) != 0)) { output.writeInt64(226, messageChats_); } if (((bitField2_ & 0x04000000) != 0)) { output.writeInt64(227, messageImpressions_); } if (((bitField2_ & 0x08000000) != 0)) { output.writeDouble(228, messageChatRate_); } if (((bitField2_ & 0x10000000) != 0)) { output.writeDouble(229, mobileFriendlyClicksPercentage_); } if (((bitField2_ & 0x80000000) != 0)) { output.writeInt64(230, organicClicks_); } if (((bitField3_ & 0x00000001) != 0)) { output.writeDouble(231, organicClicksPerQuery_); } if (((bitField3_ & 0x00000002) != 0)) { output.writeInt64(232, organicImpressions_); } if (((bitField3_ & 0x00000004) != 0)) { output.writeDouble(233, organicImpressionsPerQuery_); } if (((bitField3_ & 0x00000008) != 0)) { output.writeInt64(234, organicQueries_); } if (((bitField3_ & 0x00000010) != 0)) { output.writeDouble(235, percentNewVisitors_); } if (((bitField3_ & 0x00000020) != 0)) { output.writeInt64(236, phoneCalls_); } if (((bitField3_ & 0x00000040) != 0)) { output.writeInt64(237, phoneImpressions_); } if (((bitField3_ & 0x00000080) != 0)) { output.writeDouble(238, phoneThroughRate_); } if (((bitField3_ & 0x00000100) != 0)) { output.writeDouble(239, relativeCtr_); } if (((bitField0_ & 0x00000400) != 0)) { output.writeDouble(240, allConversionsValueByConversionDate_); } if (((bitField0_ & 0x00002000) != 0)) { output.writeDouble(241, allConversionsByConversionDate_); } if (((bitField1_ & 0x00100000) != 0)) { output.writeDouble(242, conversionsValueByConversionDate_); } if (((bitField1_ & 0x02000000) != 0)) { output.writeDouble(243, conversionsByConversionDate_); } if (((bitField3_ & 0x08000000) != 0)) { output.writeDouble(244, valuePerAllConversionsByConversionDate_); } if (((bitField3_ & 0x20000000) != 0)) { output.writeDouble(245, valuePerConversionsByConversionDate_); } if (skAdNetworkInstalls_ != 0L) { output.writeInt64(246, skAdNetworkInstalls_); } if (((bitField2_ & 0x20000000) != 0)) { output.writeDouble(247, optimizationScoreUplift_); } if (((bitField2_ & 0x40000000) != 0)) { com.google.protobuf.GeneratedMessageV3.writeString(output, 248, optimizationScoreUrl_); } if (((bitField3_ & 0x00800000) != 0)) { output.writeDouble(250, averageTargetRoas_); } if (((bitField1_ & 0x00000020) != 0)) { output.writeDouble(254, biddableAppInstallConversions_); } if (((bitField1_ & 0x00000040) != 0)) { output.writeDouble(255, biddableAppPostInstallConversions_); } if (((bitField2_ & 0x00000200) != 0)) { output.writeInt64(256, hotelCommissionRateMicros_); } if (((bitField2_ & 0x00000400) != 0)) { output.writeDouble(257, hotelExpectedCommissionCost_); } if (((bitField0_ & 0x00800000) != 0)) { output.writeDouble(258, auctionInsightSearchAbsoluteTopImpressionPercentage_); } if (((bitField0_ & 0x01000000) != 0)) { output.writeDouble(259, auctionInsightSearchImpressionShare_); } if (((bitField0_ & 0x02000000) != 0)) { output.writeDouble(260, auctionInsightSearchOutrankingShare_); } if (((bitField0_ & 0x04000000) != 0)) { output.writeDouble(261, auctionInsightSearchOverlapRate_); } if (((bitField0_ & 0x08000000) != 0)) { output.writeDouble(262, auctionInsightSearchPositionAboveRate_); } if (((bitField0_ & 0x10000000) != 0)) { output.writeDouble(263, auctionInsightSearchTopImpressionPercentage_); } if (publisherPurchasedClicks_ != 0L) { output.writeInt64(264, publisherPurchasedClicks_); } if (publisherOrganicClicks_ != 0L) { output.writeInt64(265, publisherOrganicClicks_); } if (publisherUnknownClicks_ != 0L) { output.writeInt64(266, publisherUnknownClicks_); } if (((bitField4_ & 0x00000040) != 0)) { output.writeDouble(267, allConversionsFromLocationAssetClickToCall_); } if (((bitField4_ & 0x00000080) != 0)) { output.writeDouble(268, allConversionsFromLocationAssetDirections_); } if (((bitField4_ & 0x00000100) != 0)) { output.writeDouble(269, allConversionsFromLocationAssetMenu_); } if (((bitField4_ & 0x00000200) != 0)) { output.writeDouble(270, allConversionsFromLocationAssetOrder_); } if (((bitField4_ & 0x00000400) != 0)) { output.writeDouble(271, allConversionsFromLocationAssetOtherEngagement_); } if (((bitField4_ & 0x00000800) != 0)) { output.writeDouble(272, allConversionsFromLocationAssetStoreVisits_); } if (((bitField4_ & 0x00001000) != 0)) { output.writeDouble(273, allConversionsFromLocationAssetWebsite_); } if (((bitField4_ & 0x00002000) != 0)) { output.writeInt64(274, eligibleImpressionsFromLocationAssetStoreReach_); } if (((bitField4_ & 0x00004000) != 0)) { output.writeDouble(275, viewThroughConversionsFromLocationAssetClickToCall_); } if (((bitField4_ & 0x00008000) != 0)) { output.writeDouble(276, viewThroughConversionsFromLocationAssetDirections_); } if (((bitField4_ & 0x00010000) != 0)) { output.writeDouble(277, viewThroughConversionsFromLocationAssetMenu_); } if (((bitField4_ & 0x00020000) != 0)) { output.writeDouble(278, viewThroughConversionsFromLocationAssetOrder_); } if (((bitField4_ & 0x00040000) != 0)) { output.writeDouble(279, viewThroughConversionsFromLocationAssetOtherEngagement_); } if (((bitField4_ & 0x00080000) != 0)) { output.writeDouble(280, viewThroughConversionsFromLocationAssetStoreVisits_); } if (((bitField4_ & 0x00100000) != 0)) { output.writeDouble(281, viewThroughConversionsFromLocationAssetWebsite_); } if (((bitField3_ & 0x00400000) != 0)) { output.writeInt64(290, averageTargetCpaMicros_); } if (skAdNetworkTotalConversions_ != 0L) { output.writeInt64(292, skAdNetworkTotalConversions_); } if (((bitField1_ & 0x00200000) != 0)) { output.writeDouble(293, newCustomerLifetimeValue_); } if (((bitField0_ & 0x00000800) != 0)) { output.writeDouble(294, allNewCustomerLifetimeValue_); } if (((bitField3_ & 0x00100000) != 0)) { output.writeMessage(295, getSearchVolume()); } if (((bitField4_ & 0x00200000) != 0)) { output.writeDouble(296, orders_); } if (((bitField4_ & 0x00400000) != 0)) { output.writeInt64(297, averageOrderValueMicros_); } if (((bitField4_ & 0x00800000) != 0)) { output.writeDouble(298, averageCartSize_); } if (((bitField4_ & 0x01000000) != 0)) { output.writeInt64(299, costOfGoodsSoldMicros_); } if (((bitField4_ & 0x02000000) != 0)) { output.writeInt64(300, grossProfitMicros_); } if (((bitField4_ & 0x04000000) != 0)) { output.writeDouble(301, grossProfitMargin_); } if (((bitField4_ & 0x08000000) != 0)) { output.writeInt64(302, revenueMicros_); } if (((bitField4_ & 0x10000000) != 0)) { output.writeDouble(303, unitsSold_); } if (((bitField4_ & 0x20000000) != 0)) { output.writeInt64(304, crossSellCostOfGoodsSoldMicros_); } if (((bitField4_ & 0x40000000) != 0)) { output.writeInt64(305, crossSellGrossProfitMicros_); } if (((bitField4_ & 0x80000000) != 0)) { output.writeInt64(306, crossSellRevenueMicros_); } if (((bitField5_ & 0x00000001) != 0)) { output.writeDouble(307, crossSellUnitsSold_); } if (((bitField5_ & 0x00000002) != 0)) { output.writeInt64(308, leadCostOfGoodsSoldMicros_); } if (((bitField5_ & 0x00000004) != 0)) { output.writeInt64(309, leadGrossProfitMicros_); } if (((bitField5_ & 0x00000008) != 0)) { output.writeInt64(310, leadRevenueMicros_); } if (((bitField5_ & 0x00000010) != 0)) { output.writeDouble(311, leadUnitsSold_); } if (((bitField1_ & 0x80000000) != 0)) { output.writeInt64(312, crossDeviceConversionsValueMicros_); } if (((bitField5_ & 0x00000020) != 0)) { output.writeInt64(319, uniqueUsers_); } if (((bitField5_ & 0x00000040) != 0)) { output.writeDouble(320, averageImpressionFrequencyPerUser_); } if (((bitField5_ & 0x00000080) != 0)) { output.writeInt64(341, linkedEntitiesCount_); } for (int i = 0; i < linkedSampleEntities_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 342, linkedSampleEntities_.getRaw(i)); } for (int i = 0; i < sampleBestPerformanceEntities_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 343, sampleBestPerformanceEntities_.getRaw(i)); } for (int i = 0; i < sampleGoodPerformanceEntities_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 344, sampleGoodPerformanceEntities_.getRaw(i)); } for (int i = 0; i < sampleLowPerformanceEntities_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 345, sampleLowPerformanceEntities_.getRaw(i)); } for (int i = 0; i < sampleLearningPerformanceEntities_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 346, sampleLearningPerformanceEntities_.getRaw(i)); } for (int i = 0; i < sampleUnratedPerformanceEntities_.size(); i++) { com.google.protobuf.GeneratedMessageV3.writeString(output, 347, sampleUnratedPerformanceEntities_.getRaw(i)); } if (((bitField5_ & 0x00000100) != 0)) { output.writeInt64(348, assetPinnedTotalCount_); } if (((bitField5_ & 0x00000200) != 0)) { output.writeInt64(349, assetPinnedAsHeadlinePositionOneCount_); } if (((bitField5_ & 0x00000400) != 0)) { output.writeInt64(350, assetPinnedAsHeadlinePositionTwoCount_); } if (((bitField5_ & 0x00000800) != 0)) { output.writeInt64(351, assetPinnedAsHeadlinePositionThreeCount_); } if (((bitField5_ & 0x00001000) != 0)) { output.writeInt64(352, assetPinnedAsDescriptionPositionOneCount_); } if (((bitField5_ & 0x00002000) != 0)) { output.writeInt64(353, assetPinnedAsDescriptionPositionTwoCount_); } if (((bitField5_ & 0x00004000) != 0)) { output.writeDouble(354, assetBestPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00008000) != 0)) { output.writeDouble(355, assetGoodPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00010000) != 0)) { output.writeDouble(356, assetLowPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00020000) != 0)) { output.writeDouble(357, assetLearningPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00040000) != 0)) { output.writeDouble(358, assetUnratedPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00080000) != 0)) { output.writeDouble(359, assetBestPerformanceCostPercentage_); } if (((bitField5_ & 0x00100000) != 0)) { output.writeDouble(360, assetGoodPerformanceCostPercentage_); } if (((bitField5_ & 0x00200000) != 0)) { output.writeDouble(361, assetLowPerformanceCostPercentage_); } if (((bitField5_ & 0x00400000) != 0)) { output.writeDouble(362, assetLearningPerformanceCostPercentage_); } if (((bitField5_ & 0x00800000) != 0)) { output.writeDouble(363, assetUnratedPerformanceCostPercentage_); } if (((bitField5_ & 0x01000000) != 0)) { output.writeDouble(365, storeVisitsLastClickModelAttributedConversions_); } if (((bitField5_ & 0x02000000) != 0)) { output.writeDouble(366, resultsConversionsPurchase_); } if (((bitField5_ & 0x04000000) != 0)) { output.writeDouble(367, videoViewRateInFeed_); } if (((bitField5_ & 0x08000000) != 0)) { output.writeDouble(368, videoViewRateInStream_); } if (((bitField5_ & 0x10000000) != 0)) { output.writeDouble(369, videoViewRateShorts_); } if (((bitField2_ & 0x00800000) != 0)) { output.writeDouble(370, generalInvalidClickRate_); } if (((bitField2_ & 0x01000000) != 0)) { output.writeInt64(371, generalInvalidClicks_); } getUnknownFields().writeTo(output); } @java.lang.Override public int getSerializedSize() { int size = memoizedSize; if (size != -1) return size; size = 0; if (historicalCreativeQualityScore_ != com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(80, historicalCreativeQualityScore_); } if (historicalLandingPageQualityScore_ != com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(81, historicalLandingPageQualityScore_); } if (historicalSearchPredictedCtr_ != com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNSPECIFIED.getNumber()) { size += com.google.protobuf.CodedOutputStream .computeEnumSize(83, historicalSearchPredictedCtr_); } { int dataSize = 0; for (int i = 0; i < interactionEventTypes_.size(); i++) { dataSize += com.google.protobuf.CodedOutputStream .computeEnumSizeNoTag(interactionEventTypes_.get(i)); } size += dataSize; if (!getInteractionEventTypesList().isEmpty()) { size += 2; size += com.google.protobuf.CodedOutputStream .computeUInt32SizeNoTag(dataSize); }interactionEventTypesMemoizedSerializedSize = dataSize; } if (((bitField1_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(131, clicks_); } if (((bitField3_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(132, videoQuartileP100Rate_); } if (((bitField4_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(133, videoQuartileP25Rate_); } if (((bitField4_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(134, videoQuartileP50Rate_); } if (((bitField4_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(135, videoQuartileP75Rate_); } if (((bitField3_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(136, searchAbsoluteTopImpressionShare_); } if (((bitField3_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(137, searchBudgetLostAbsoluteTopImpressionShare_); } if (((bitField3_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(138, searchBudgetLostImpressionShare_); } if (((bitField3_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(139, searchBudgetLostTopImpressionShare_); } if (((bitField3_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(140, searchClickShare_); } if (((bitField3_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(141, searchExactMatchImpressionShare_); } if (((bitField3_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(142, searchImpressionShare_); } if (((bitField3_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(143, searchRankLostAbsoluteTopImpressionShare_); } if (((bitField3_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(144, searchRankLostImpressionShare_); } if (((bitField3_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(145, searchRankLostTopImpressionShare_); } if (((bitField3_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(146, searchTopImpressionShare_); } if (((bitField3_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(147, speedScore_); } if (((bitField3_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(148, topImpressionPercentage_); } if (((bitField3_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(149, validAcceleratedMobilePagesClicksPercentage_); } if (((bitField3_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(150, valuePerAllConversions_); } if (((bitField3_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(151, valuePerConversion_); } if (((bitField3_ & 0x40000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(152, valuePerCurrentModelAttributedConversion_); } if (((bitField4_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(153, videoViewRate_); } if (((bitField4_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(154, videoViews_); } if (((bitField4_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(155, viewThroughConversions_); } if (((bitField1_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(156, combinedClicks_); } if (((bitField1_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(157, combinedClicksPerQuery_); } if (((bitField1_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(158, combinedQueries_); } if (((bitField1_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(159, contentBudgetLostImpressionShare_); } if (((bitField1_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(160, contentImpressionShare_); } if (((bitField1_ & 0x00008000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(161, conversionLastReceivedRequestDateTime_); } if (((bitField1_ & 0x00010000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(162, conversionLastConversionDate_); } if (((bitField1_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(163, contentRankLostImpressionShare_); } if (((bitField1_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(164, conversionsFromInteractionsRate_); } if (((bitField1_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(165, conversionsValue_); } if (((bitField1_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(166, conversionsValuePerCost_); } if (((bitField1_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(167, conversionsFromInteractionsValuePerInteraction_); } if (((bitField1_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(168, conversions_); } if (((bitField1_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(169, costMicros_); } if (((bitField1_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(170, costPerAllConversions_); } if (((bitField1_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(171, costPerConversion_); } if (((bitField1_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(172, costPerCurrentModelAttributedConversion_); } if (((bitField1_ & 0x40000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(173, crossDeviceConversions_); } if (((bitField2_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(174, ctr_); } if (((bitField2_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(175, currentModelAttributedConversions_); } if (((bitField2_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(176, currentModelAttributedConversionsFromInteractionsRate_); } if (((bitField2_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(177, currentModelAttributedConversionsFromInteractionsValuePerInteraction_); } if (((bitField2_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(178, currentModelAttributedConversionsValue_); } if (((bitField2_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(179, currentModelAttributedConversionsValuePerCost_); } if (((bitField2_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(180, engagementRate_); } if (((bitField2_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(181, engagements_); } if (((bitField0_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(183, absoluteTopImpressionPercentage_); } if (((bitField0_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(184, activeViewCpm_); } if (((bitField0_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(185, activeViewCtr_); } if (((bitField0_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(186, activeViewImpressions_); } if (((bitField0_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(187, activeViewMeasurability_); } if (((bitField0_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(188, activeViewMeasurableCostMicros_); } if (((bitField0_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(189, activeViewMeasurableImpressions_); } if (((bitField0_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(190, activeViewViewability_); } if (((bitField0_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(191, allConversionsFromInteractionsRate_); } if (((bitField0_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(192, allConversionsValue_); } if (((bitField0_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(193, allConversions_); } if (((bitField0_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(194, allConversionsValuePerCost_); } if (((bitField0_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(195, allConversionsFromClickToCall_); } if (((bitField0_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(196, allConversionsFromDirections_); } if (((bitField0_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(197, allConversionsFromInteractionsValuePerInteraction_); } if (((bitField0_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(198, allConversionsFromMenu_); } if (((bitField0_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(199, allConversionsFromOrder_); } if (((bitField0_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(200, allConversionsFromOtherEngagement_); } if (((bitField0_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(201, allConversionsFromStoreVisit_); } if (((bitField0_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(202, allConversionsFromStoreWebsite_); } if (((bitField0_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(203, averageCost_); } if (((bitField0_ & 0x40000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(204, averageCpc_); } if (((bitField0_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(205, averageCpe_); } if (((bitField1_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(206, averageCpm_); } if (((bitField1_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(207, averageCpv_); } if (((bitField1_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(208, averagePageViews_); } if (((bitField1_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(209, averageTimeOnSite_); } if (((bitField1_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(210, benchmarkAverageMaxCpc_); } if (((bitField1_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(211, benchmarkCtr_); } if (((bitField1_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(212, bounceRate_); } if (((bitField2_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(213, hotelAverageLeadValueMicros_); } if (((bitField2_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(214, hotelPriceDifferencePercentage_); } if (((bitField2_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(215, hotelEligibleImpressions_); } if (((bitField2_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(216, historicalQualityScore_); } if (((bitField2_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(217, gmailForwards_); } if (((bitField2_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(218, gmailSaves_); } if (((bitField2_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(219, gmailSecondaryClicks_); } if (((bitField2_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(220, impressionsFromStoreReach_); } if (((bitField2_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(221, impressions_); } if (((bitField2_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(222, interactionRate_); } if (((bitField2_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(223, interactions_); } if (((bitField2_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(224, invalidClickRate_); } if (((bitField2_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(225, invalidClicks_); } if (((bitField2_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(226, messageChats_); } if (((bitField2_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(227, messageImpressions_); } if (((bitField2_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(228, messageChatRate_); } if (((bitField2_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(229, mobileFriendlyClicksPercentage_); } if (((bitField2_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(230, organicClicks_); } if (((bitField3_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(231, organicClicksPerQuery_); } if (((bitField3_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(232, organicImpressions_); } if (((bitField3_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(233, organicImpressionsPerQuery_); } if (((bitField3_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(234, organicQueries_); } if (((bitField3_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(235, percentNewVisitors_); } if (((bitField3_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(236, phoneCalls_); } if (((bitField3_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(237, phoneImpressions_); } if (((bitField3_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(238, phoneThroughRate_); } if (((bitField3_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(239, relativeCtr_); } if (((bitField0_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(240, allConversionsValueByConversionDate_); } if (((bitField0_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(241, allConversionsByConversionDate_); } if (((bitField1_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(242, conversionsValueByConversionDate_); } if (((bitField1_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(243, conversionsByConversionDate_); } if (((bitField3_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(244, valuePerAllConversionsByConversionDate_); } if (((bitField3_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(245, valuePerConversionsByConversionDate_); } if (skAdNetworkInstalls_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(246, skAdNetworkInstalls_); } if (((bitField2_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(247, optimizationScoreUplift_); } if (((bitField2_ & 0x40000000) != 0)) { size += com.google.protobuf.GeneratedMessageV3.computeStringSize(248, optimizationScoreUrl_); } if (((bitField3_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(250, averageTargetRoas_); } if (((bitField1_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(254, biddableAppInstallConversions_); } if (((bitField1_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(255, biddableAppPostInstallConversions_); } if (((bitField2_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(256, hotelCommissionRateMicros_); } if (((bitField2_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(257, hotelExpectedCommissionCost_); } if (((bitField0_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(258, auctionInsightSearchAbsoluteTopImpressionPercentage_); } if (((bitField0_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(259, auctionInsightSearchImpressionShare_); } if (((bitField0_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(260, auctionInsightSearchOutrankingShare_); } if (((bitField0_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(261, auctionInsightSearchOverlapRate_); } if (((bitField0_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(262, auctionInsightSearchPositionAboveRate_); } if (((bitField0_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(263, auctionInsightSearchTopImpressionPercentage_); } if (publisherPurchasedClicks_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(264, publisherPurchasedClicks_); } if (publisherOrganicClicks_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(265, publisherOrganicClicks_); } if (publisherUnknownClicks_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(266, publisherUnknownClicks_); } if (((bitField4_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(267, allConversionsFromLocationAssetClickToCall_); } if (((bitField4_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(268, allConversionsFromLocationAssetDirections_); } if (((bitField4_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(269, allConversionsFromLocationAssetMenu_); } if (((bitField4_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(270, allConversionsFromLocationAssetOrder_); } if (((bitField4_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(271, allConversionsFromLocationAssetOtherEngagement_); } if (((bitField4_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(272, allConversionsFromLocationAssetStoreVisits_); } if (((bitField4_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(273, allConversionsFromLocationAssetWebsite_); } if (((bitField4_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(274, eligibleImpressionsFromLocationAssetStoreReach_); } if (((bitField4_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(275, viewThroughConversionsFromLocationAssetClickToCall_); } if (((bitField4_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(276, viewThroughConversionsFromLocationAssetDirections_); } if (((bitField4_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(277, viewThroughConversionsFromLocationAssetMenu_); } if (((bitField4_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(278, viewThroughConversionsFromLocationAssetOrder_); } if (((bitField4_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(279, viewThroughConversionsFromLocationAssetOtherEngagement_); } if (((bitField4_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(280, viewThroughConversionsFromLocationAssetStoreVisits_); } if (((bitField4_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(281, viewThroughConversionsFromLocationAssetWebsite_); } if (((bitField3_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(290, averageTargetCpaMicros_); } if (skAdNetworkTotalConversions_ != 0L) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(292, skAdNetworkTotalConversions_); } if (((bitField1_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(293, newCustomerLifetimeValue_); } if (((bitField0_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(294, allNewCustomerLifetimeValue_); } if (((bitField3_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeMessageSize(295, getSearchVolume()); } if (((bitField4_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(296, orders_); } if (((bitField4_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(297, averageOrderValueMicros_); } if (((bitField4_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(298, averageCartSize_); } if (((bitField4_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(299, costOfGoodsSoldMicros_); } if (((bitField4_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(300, grossProfitMicros_); } if (((bitField4_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(301, grossProfitMargin_); } if (((bitField4_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(302, revenueMicros_); } if (((bitField4_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(303, unitsSold_); } if (((bitField4_ & 0x20000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(304, crossSellCostOfGoodsSoldMicros_); } if (((bitField4_ & 0x40000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(305, crossSellGrossProfitMicros_); } if (((bitField4_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(306, crossSellRevenueMicros_); } if (((bitField5_ & 0x00000001) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(307, crossSellUnitsSold_); } if (((bitField5_ & 0x00000002) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(308, leadCostOfGoodsSoldMicros_); } if (((bitField5_ & 0x00000004) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(309, leadGrossProfitMicros_); } if (((bitField5_ & 0x00000008) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(310, leadRevenueMicros_); } if (((bitField5_ & 0x00000010) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(311, leadUnitsSold_); } if (((bitField1_ & 0x80000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(312, crossDeviceConversionsValueMicros_); } if (((bitField5_ & 0x00000020) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(319, uniqueUsers_); } if (((bitField5_ & 0x00000040) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(320, averageImpressionFrequencyPerUser_); } if (((bitField5_ & 0x00000080) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(341, linkedEntitiesCount_); } { int dataSize = 0; for (int i = 0; i < linkedSampleEntities_.size(); i++) { dataSize += computeStringSizeNoTag(linkedSampleEntities_.getRaw(i)); } size += dataSize; size += 2 * getLinkedSampleEntitiesList().size(); } { int dataSize = 0; for (int i = 0; i < sampleBestPerformanceEntities_.size(); i++) { dataSize += computeStringSizeNoTag(sampleBestPerformanceEntities_.getRaw(i)); } size += dataSize; size += 2 * getSampleBestPerformanceEntitiesList().size(); } { int dataSize = 0; for (int i = 0; i < sampleGoodPerformanceEntities_.size(); i++) { dataSize += computeStringSizeNoTag(sampleGoodPerformanceEntities_.getRaw(i)); } size += dataSize; size += 2 * getSampleGoodPerformanceEntitiesList().size(); } { int dataSize = 0; for (int i = 0; i < sampleLowPerformanceEntities_.size(); i++) { dataSize += computeStringSizeNoTag(sampleLowPerformanceEntities_.getRaw(i)); } size += dataSize; size += 2 * getSampleLowPerformanceEntitiesList().size(); } { int dataSize = 0; for (int i = 0; i < sampleLearningPerformanceEntities_.size(); i++) { dataSize += computeStringSizeNoTag(sampleLearningPerformanceEntities_.getRaw(i)); } size += dataSize; size += 2 * getSampleLearningPerformanceEntitiesList().size(); } { int dataSize = 0; for (int i = 0; i < sampleUnratedPerformanceEntities_.size(); i++) { dataSize += computeStringSizeNoTag(sampleUnratedPerformanceEntities_.getRaw(i)); } size += dataSize; size += 2 * getSampleUnratedPerformanceEntitiesList().size(); } if (((bitField5_ & 0x00000100) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(348, assetPinnedTotalCount_); } if (((bitField5_ & 0x00000200) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(349, assetPinnedAsHeadlinePositionOneCount_); } if (((bitField5_ & 0x00000400) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(350, assetPinnedAsHeadlinePositionTwoCount_); } if (((bitField5_ & 0x00000800) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(351, assetPinnedAsHeadlinePositionThreeCount_); } if (((bitField5_ & 0x00001000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(352, assetPinnedAsDescriptionPositionOneCount_); } if (((bitField5_ & 0x00002000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(353, assetPinnedAsDescriptionPositionTwoCount_); } if (((bitField5_ & 0x00004000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(354, assetBestPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00008000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(355, assetGoodPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00010000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(356, assetLowPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00020000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(357, assetLearningPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00040000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(358, assetUnratedPerformanceImpressionPercentage_); } if (((bitField5_ & 0x00080000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(359, assetBestPerformanceCostPercentage_); } if (((bitField5_ & 0x00100000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(360, assetGoodPerformanceCostPercentage_); } if (((bitField5_ & 0x00200000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(361, assetLowPerformanceCostPercentage_); } if (((bitField5_ & 0x00400000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(362, assetLearningPerformanceCostPercentage_); } if (((bitField5_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(363, assetUnratedPerformanceCostPercentage_); } if (((bitField5_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(365, storeVisitsLastClickModelAttributedConversions_); } if (((bitField5_ & 0x02000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(366, resultsConversionsPurchase_); } if (((bitField5_ & 0x04000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(367, videoViewRateInFeed_); } if (((bitField5_ & 0x08000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(368, videoViewRateInStream_); } if (((bitField5_ & 0x10000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(369, videoViewRateShorts_); } if (((bitField2_ & 0x00800000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeDoubleSize(370, generalInvalidClickRate_); } if (((bitField2_ & 0x01000000) != 0)) { size += com.google.protobuf.CodedOutputStream .computeInt64Size(371, generalInvalidClicks_); } size += getUnknownFields().getSerializedSize(); memoizedSize = size; return size; } @java.lang.Override public boolean equals(final java.lang.Object obj) { if (obj == this) { return true; } if (!(obj instanceof com.google.ads.googleads.v18.common.Metrics)) { return super.equals(obj); } com.google.ads.googleads.v18.common.Metrics other = (com.google.ads.googleads.v18.common.Metrics) obj; if (hasAbsoluteTopImpressionPercentage() != other.hasAbsoluteTopImpressionPercentage()) return false; if (hasAbsoluteTopImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAbsoluteTopImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAbsoluteTopImpressionPercentage())) return false; } if (hasActiveViewCpm() != other.hasActiveViewCpm()) return false; if (hasActiveViewCpm()) { if (java.lang.Double.doubleToLongBits(getActiveViewCpm()) != java.lang.Double.doubleToLongBits( other.getActiveViewCpm())) return false; } if (hasActiveViewCtr() != other.hasActiveViewCtr()) return false; if (hasActiveViewCtr()) { if (java.lang.Double.doubleToLongBits(getActiveViewCtr()) != java.lang.Double.doubleToLongBits( other.getActiveViewCtr())) return false; } if (hasActiveViewImpressions() != other.hasActiveViewImpressions()) return false; if (hasActiveViewImpressions()) { if (getActiveViewImpressions() != other.getActiveViewImpressions()) return false; } if (hasActiveViewMeasurability() != other.hasActiveViewMeasurability()) return false; if (hasActiveViewMeasurability()) { if (java.lang.Double.doubleToLongBits(getActiveViewMeasurability()) != java.lang.Double.doubleToLongBits( other.getActiveViewMeasurability())) return false; } if (hasActiveViewMeasurableCostMicros() != other.hasActiveViewMeasurableCostMicros()) return false; if (hasActiveViewMeasurableCostMicros()) { if (getActiveViewMeasurableCostMicros() != other.getActiveViewMeasurableCostMicros()) return false; } if (hasActiveViewMeasurableImpressions() != other.hasActiveViewMeasurableImpressions()) return false; if (hasActiveViewMeasurableImpressions()) { if (getActiveViewMeasurableImpressions() != other.getActiveViewMeasurableImpressions()) return false; } if (hasActiveViewViewability() != other.hasActiveViewViewability()) return false; if (hasActiveViewViewability()) { if (java.lang.Double.doubleToLongBits(getActiveViewViewability()) != java.lang.Double.doubleToLongBits( other.getActiveViewViewability())) return false; } if (hasAllConversionsFromInteractionsRate() != other.hasAllConversionsFromInteractionsRate()) return false; if (hasAllConversionsFromInteractionsRate()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromInteractionsRate()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromInteractionsRate())) return false; } if (hasAllConversionsValue() != other.hasAllConversionsValue()) return false; if (hasAllConversionsValue()) { if (java.lang.Double.doubleToLongBits(getAllConversionsValue()) != java.lang.Double.doubleToLongBits( other.getAllConversionsValue())) return false; } if (hasAllConversionsValueByConversionDate() != other.hasAllConversionsValueByConversionDate()) return false; if (hasAllConversionsValueByConversionDate()) { if (java.lang.Double.doubleToLongBits(getAllConversionsValueByConversionDate()) != java.lang.Double.doubleToLongBits( other.getAllConversionsValueByConversionDate())) return false; } if (hasAllNewCustomerLifetimeValue() != other.hasAllNewCustomerLifetimeValue()) return false; if (hasAllNewCustomerLifetimeValue()) { if (java.lang.Double.doubleToLongBits(getAllNewCustomerLifetimeValue()) != java.lang.Double.doubleToLongBits( other.getAllNewCustomerLifetimeValue())) return false; } if (hasAllConversions() != other.hasAllConversions()) return false; if (hasAllConversions()) { if (java.lang.Double.doubleToLongBits(getAllConversions()) != java.lang.Double.doubleToLongBits( other.getAllConversions())) return false; } if (hasAllConversionsByConversionDate() != other.hasAllConversionsByConversionDate()) return false; if (hasAllConversionsByConversionDate()) { if (java.lang.Double.doubleToLongBits(getAllConversionsByConversionDate()) != java.lang.Double.doubleToLongBits( other.getAllConversionsByConversionDate())) return false; } if (hasAllConversionsValuePerCost() != other.hasAllConversionsValuePerCost()) return false; if (hasAllConversionsValuePerCost()) { if (java.lang.Double.doubleToLongBits(getAllConversionsValuePerCost()) != java.lang.Double.doubleToLongBits( other.getAllConversionsValuePerCost())) return false; } if (hasAllConversionsFromClickToCall() != other.hasAllConversionsFromClickToCall()) return false; if (hasAllConversionsFromClickToCall()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromClickToCall()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromClickToCall())) return false; } if (hasAllConversionsFromDirections() != other.hasAllConversionsFromDirections()) return false; if (hasAllConversionsFromDirections()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromDirections()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromDirections())) return false; } if (hasAllConversionsFromInteractionsValuePerInteraction() != other.hasAllConversionsFromInteractionsValuePerInteraction()) return false; if (hasAllConversionsFromInteractionsValuePerInteraction()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromInteractionsValuePerInteraction()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromInteractionsValuePerInteraction())) return false; } if (hasAllConversionsFromMenu() != other.hasAllConversionsFromMenu()) return false; if (hasAllConversionsFromMenu()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromMenu()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromMenu())) return false; } if (hasAllConversionsFromOrder() != other.hasAllConversionsFromOrder()) return false; if (hasAllConversionsFromOrder()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromOrder()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromOrder())) return false; } if (hasAllConversionsFromOtherEngagement() != other.hasAllConversionsFromOtherEngagement()) return false; if (hasAllConversionsFromOtherEngagement()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromOtherEngagement()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromOtherEngagement())) return false; } if (hasAllConversionsFromStoreVisit() != other.hasAllConversionsFromStoreVisit()) return false; if (hasAllConversionsFromStoreVisit()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromStoreVisit()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromStoreVisit())) return false; } if (hasAllConversionsFromStoreWebsite() != other.hasAllConversionsFromStoreWebsite()) return false; if (hasAllConversionsFromStoreWebsite()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromStoreWebsite()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromStoreWebsite())) return false; } if (hasAuctionInsightSearchAbsoluteTopImpressionPercentage() != other.hasAuctionInsightSearchAbsoluteTopImpressionPercentage()) return false; if (hasAuctionInsightSearchAbsoluteTopImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAuctionInsightSearchAbsoluteTopImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAuctionInsightSearchAbsoluteTopImpressionPercentage())) return false; } if (hasAuctionInsightSearchImpressionShare() != other.hasAuctionInsightSearchImpressionShare()) return false; if (hasAuctionInsightSearchImpressionShare()) { if (java.lang.Double.doubleToLongBits(getAuctionInsightSearchImpressionShare()) != java.lang.Double.doubleToLongBits( other.getAuctionInsightSearchImpressionShare())) return false; } if (hasAuctionInsightSearchOutrankingShare() != other.hasAuctionInsightSearchOutrankingShare()) return false; if (hasAuctionInsightSearchOutrankingShare()) { if (java.lang.Double.doubleToLongBits(getAuctionInsightSearchOutrankingShare()) != java.lang.Double.doubleToLongBits( other.getAuctionInsightSearchOutrankingShare())) return false; } if (hasAuctionInsightSearchOverlapRate() != other.hasAuctionInsightSearchOverlapRate()) return false; if (hasAuctionInsightSearchOverlapRate()) { if (java.lang.Double.doubleToLongBits(getAuctionInsightSearchOverlapRate()) != java.lang.Double.doubleToLongBits( other.getAuctionInsightSearchOverlapRate())) return false; } if (hasAuctionInsightSearchPositionAboveRate() != other.hasAuctionInsightSearchPositionAboveRate()) return false; if (hasAuctionInsightSearchPositionAboveRate()) { if (java.lang.Double.doubleToLongBits(getAuctionInsightSearchPositionAboveRate()) != java.lang.Double.doubleToLongBits( other.getAuctionInsightSearchPositionAboveRate())) return false; } if (hasAuctionInsightSearchTopImpressionPercentage() != other.hasAuctionInsightSearchTopImpressionPercentage()) return false; if (hasAuctionInsightSearchTopImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAuctionInsightSearchTopImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAuctionInsightSearchTopImpressionPercentage())) return false; } if (hasAverageCost() != other.hasAverageCost()) return false; if (hasAverageCost()) { if (java.lang.Double.doubleToLongBits(getAverageCost()) != java.lang.Double.doubleToLongBits( other.getAverageCost())) return false; } if (hasAverageCpc() != other.hasAverageCpc()) return false; if (hasAverageCpc()) { if (java.lang.Double.doubleToLongBits(getAverageCpc()) != java.lang.Double.doubleToLongBits( other.getAverageCpc())) return false; } if (hasAverageCpe() != other.hasAverageCpe()) return false; if (hasAverageCpe()) { if (java.lang.Double.doubleToLongBits(getAverageCpe()) != java.lang.Double.doubleToLongBits( other.getAverageCpe())) return false; } if (hasAverageCpm() != other.hasAverageCpm()) return false; if (hasAverageCpm()) { if (java.lang.Double.doubleToLongBits(getAverageCpm()) != java.lang.Double.doubleToLongBits( other.getAverageCpm())) return false; } if (hasAverageCpv() != other.hasAverageCpv()) return false; if (hasAverageCpv()) { if (java.lang.Double.doubleToLongBits(getAverageCpv()) != java.lang.Double.doubleToLongBits( other.getAverageCpv())) return false; } if (hasAveragePageViews() != other.hasAveragePageViews()) return false; if (hasAveragePageViews()) { if (java.lang.Double.doubleToLongBits(getAveragePageViews()) != java.lang.Double.doubleToLongBits( other.getAveragePageViews())) return false; } if (hasAverageTimeOnSite() != other.hasAverageTimeOnSite()) return false; if (hasAverageTimeOnSite()) { if (java.lang.Double.doubleToLongBits(getAverageTimeOnSite()) != java.lang.Double.doubleToLongBits( other.getAverageTimeOnSite())) return false; } if (hasBenchmarkAverageMaxCpc() != other.hasBenchmarkAverageMaxCpc()) return false; if (hasBenchmarkAverageMaxCpc()) { if (java.lang.Double.doubleToLongBits(getBenchmarkAverageMaxCpc()) != java.lang.Double.doubleToLongBits( other.getBenchmarkAverageMaxCpc())) return false; } if (hasBiddableAppInstallConversions() != other.hasBiddableAppInstallConversions()) return false; if (hasBiddableAppInstallConversions()) { if (java.lang.Double.doubleToLongBits(getBiddableAppInstallConversions()) != java.lang.Double.doubleToLongBits( other.getBiddableAppInstallConversions())) return false; } if (hasBiddableAppPostInstallConversions() != other.hasBiddableAppPostInstallConversions()) return false; if (hasBiddableAppPostInstallConversions()) { if (java.lang.Double.doubleToLongBits(getBiddableAppPostInstallConversions()) != java.lang.Double.doubleToLongBits( other.getBiddableAppPostInstallConversions())) return false; } if (hasBenchmarkCtr() != other.hasBenchmarkCtr()) return false; if (hasBenchmarkCtr()) { if (java.lang.Double.doubleToLongBits(getBenchmarkCtr()) != java.lang.Double.doubleToLongBits( other.getBenchmarkCtr())) return false; } if (hasBounceRate() != other.hasBounceRate()) return false; if (hasBounceRate()) { if (java.lang.Double.doubleToLongBits(getBounceRate()) != java.lang.Double.doubleToLongBits( other.getBounceRate())) return false; } if (hasClicks() != other.hasClicks()) return false; if (hasClicks()) { if (getClicks() != other.getClicks()) return false; } if (hasCombinedClicks() != other.hasCombinedClicks()) return false; if (hasCombinedClicks()) { if (getCombinedClicks() != other.getCombinedClicks()) return false; } if (hasCombinedClicksPerQuery() != other.hasCombinedClicksPerQuery()) return false; if (hasCombinedClicksPerQuery()) { if (java.lang.Double.doubleToLongBits(getCombinedClicksPerQuery()) != java.lang.Double.doubleToLongBits( other.getCombinedClicksPerQuery())) return false; } if (hasCombinedQueries() != other.hasCombinedQueries()) return false; if (hasCombinedQueries()) { if (getCombinedQueries() != other.getCombinedQueries()) return false; } if (hasContentBudgetLostImpressionShare() != other.hasContentBudgetLostImpressionShare()) return false; if (hasContentBudgetLostImpressionShare()) { if (java.lang.Double.doubleToLongBits(getContentBudgetLostImpressionShare()) != java.lang.Double.doubleToLongBits( other.getContentBudgetLostImpressionShare())) return false; } if (hasContentImpressionShare() != other.hasContentImpressionShare()) return false; if (hasContentImpressionShare()) { if (java.lang.Double.doubleToLongBits(getContentImpressionShare()) != java.lang.Double.doubleToLongBits( other.getContentImpressionShare())) return false; } if (hasConversionLastReceivedRequestDateTime() != other.hasConversionLastReceivedRequestDateTime()) return false; if (hasConversionLastReceivedRequestDateTime()) { if (!getConversionLastReceivedRequestDateTime() .equals(other.getConversionLastReceivedRequestDateTime())) return false; } if (hasConversionLastConversionDate() != other.hasConversionLastConversionDate()) return false; if (hasConversionLastConversionDate()) { if (!getConversionLastConversionDate() .equals(other.getConversionLastConversionDate())) return false; } if (hasContentRankLostImpressionShare() != other.hasContentRankLostImpressionShare()) return false; if (hasContentRankLostImpressionShare()) { if (java.lang.Double.doubleToLongBits(getContentRankLostImpressionShare()) != java.lang.Double.doubleToLongBits( other.getContentRankLostImpressionShare())) return false; } if (hasConversionsFromInteractionsRate() != other.hasConversionsFromInteractionsRate()) return false; if (hasConversionsFromInteractionsRate()) { if (java.lang.Double.doubleToLongBits(getConversionsFromInteractionsRate()) != java.lang.Double.doubleToLongBits( other.getConversionsFromInteractionsRate())) return false; } if (hasConversionsValue() != other.hasConversionsValue()) return false; if (hasConversionsValue()) { if (java.lang.Double.doubleToLongBits(getConversionsValue()) != java.lang.Double.doubleToLongBits( other.getConversionsValue())) return false; } if (hasConversionsValueByConversionDate() != other.hasConversionsValueByConversionDate()) return false; if (hasConversionsValueByConversionDate()) { if (java.lang.Double.doubleToLongBits(getConversionsValueByConversionDate()) != java.lang.Double.doubleToLongBits( other.getConversionsValueByConversionDate())) return false; } if (hasNewCustomerLifetimeValue() != other.hasNewCustomerLifetimeValue()) return false; if (hasNewCustomerLifetimeValue()) { if (java.lang.Double.doubleToLongBits(getNewCustomerLifetimeValue()) != java.lang.Double.doubleToLongBits( other.getNewCustomerLifetimeValue())) return false; } if (hasConversionsValuePerCost() != other.hasConversionsValuePerCost()) return false; if (hasConversionsValuePerCost()) { if (java.lang.Double.doubleToLongBits(getConversionsValuePerCost()) != java.lang.Double.doubleToLongBits( other.getConversionsValuePerCost())) return false; } if (hasConversionsFromInteractionsValuePerInteraction() != other.hasConversionsFromInteractionsValuePerInteraction()) return false; if (hasConversionsFromInteractionsValuePerInteraction()) { if (java.lang.Double.doubleToLongBits(getConversionsFromInteractionsValuePerInteraction()) != java.lang.Double.doubleToLongBits( other.getConversionsFromInteractionsValuePerInteraction())) return false; } if (hasConversions() != other.hasConversions()) return false; if (hasConversions()) { if (java.lang.Double.doubleToLongBits(getConversions()) != java.lang.Double.doubleToLongBits( other.getConversions())) return false; } if (hasConversionsByConversionDate() != other.hasConversionsByConversionDate()) return false; if (hasConversionsByConversionDate()) { if (java.lang.Double.doubleToLongBits(getConversionsByConversionDate()) != java.lang.Double.doubleToLongBits( other.getConversionsByConversionDate())) return false; } if (hasCostMicros() != other.hasCostMicros()) return false; if (hasCostMicros()) { if (getCostMicros() != other.getCostMicros()) return false; } if (hasCostPerAllConversions() != other.hasCostPerAllConversions()) return false; if (hasCostPerAllConversions()) { if (java.lang.Double.doubleToLongBits(getCostPerAllConversions()) != java.lang.Double.doubleToLongBits( other.getCostPerAllConversions())) return false; } if (hasCostPerConversion() != other.hasCostPerConversion()) return false; if (hasCostPerConversion()) { if (java.lang.Double.doubleToLongBits(getCostPerConversion()) != java.lang.Double.doubleToLongBits( other.getCostPerConversion())) return false; } if (hasCostPerCurrentModelAttributedConversion() != other.hasCostPerCurrentModelAttributedConversion()) return false; if (hasCostPerCurrentModelAttributedConversion()) { if (java.lang.Double.doubleToLongBits(getCostPerCurrentModelAttributedConversion()) != java.lang.Double.doubleToLongBits( other.getCostPerCurrentModelAttributedConversion())) return false; } if (hasCrossDeviceConversions() != other.hasCrossDeviceConversions()) return false; if (hasCrossDeviceConversions()) { if (java.lang.Double.doubleToLongBits(getCrossDeviceConversions()) != java.lang.Double.doubleToLongBits( other.getCrossDeviceConversions())) return false; } if (hasCrossDeviceConversionsValueMicros() != other.hasCrossDeviceConversionsValueMicros()) return false; if (hasCrossDeviceConversionsValueMicros()) { if (getCrossDeviceConversionsValueMicros() != other.getCrossDeviceConversionsValueMicros()) return false; } if (hasCtr() != other.hasCtr()) return false; if (hasCtr()) { if (java.lang.Double.doubleToLongBits(getCtr()) != java.lang.Double.doubleToLongBits( other.getCtr())) return false; } if (hasCurrentModelAttributedConversions() != other.hasCurrentModelAttributedConversions()) return false; if (hasCurrentModelAttributedConversions()) { if (java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversions()) != java.lang.Double.doubleToLongBits( other.getCurrentModelAttributedConversions())) return false; } if (hasCurrentModelAttributedConversionsFromInteractionsRate() != other.hasCurrentModelAttributedConversionsFromInteractionsRate()) return false; if (hasCurrentModelAttributedConversionsFromInteractionsRate()) { if (java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsFromInteractionsRate()) != java.lang.Double.doubleToLongBits( other.getCurrentModelAttributedConversionsFromInteractionsRate())) return false; } if (hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() != other.hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()) return false; if (hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()) { if (java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()) != java.lang.Double.doubleToLongBits( other.getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction())) return false; } if (hasCurrentModelAttributedConversionsValue() != other.hasCurrentModelAttributedConversionsValue()) return false; if (hasCurrentModelAttributedConversionsValue()) { if (java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsValue()) != java.lang.Double.doubleToLongBits( other.getCurrentModelAttributedConversionsValue())) return false; } if (hasCurrentModelAttributedConversionsValuePerCost() != other.hasCurrentModelAttributedConversionsValuePerCost()) return false; if (hasCurrentModelAttributedConversionsValuePerCost()) { if (java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsValuePerCost()) != java.lang.Double.doubleToLongBits( other.getCurrentModelAttributedConversionsValuePerCost())) return false; } if (hasEngagementRate() != other.hasEngagementRate()) return false; if (hasEngagementRate()) { if (java.lang.Double.doubleToLongBits(getEngagementRate()) != java.lang.Double.doubleToLongBits( other.getEngagementRate())) return false; } if (hasEngagements() != other.hasEngagements()) return false; if (hasEngagements()) { if (getEngagements() != other.getEngagements()) return false; } if (hasHotelAverageLeadValueMicros() != other.hasHotelAverageLeadValueMicros()) return false; if (hasHotelAverageLeadValueMicros()) { if (java.lang.Double.doubleToLongBits(getHotelAverageLeadValueMicros()) != java.lang.Double.doubleToLongBits( other.getHotelAverageLeadValueMicros())) return false; } if (hasHotelCommissionRateMicros() != other.hasHotelCommissionRateMicros()) return false; if (hasHotelCommissionRateMicros()) { if (getHotelCommissionRateMicros() != other.getHotelCommissionRateMicros()) return false; } if (hasHotelExpectedCommissionCost() != other.hasHotelExpectedCommissionCost()) return false; if (hasHotelExpectedCommissionCost()) { if (java.lang.Double.doubleToLongBits(getHotelExpectedCommissionCost()) != java.lang.Double.doubleToLongBits( other.getHotelExpectedCommissionCost())) return false; } if (hasHotelPriceDifferencePercentage() != other.hasHotelPriceDifferencePercentage()) return false; if (hasHotelPriceDifferencePercentage()) { if (java.lang.Double.doubleToLongBits(getHotelPriceDifferencePercentage()) != java.lang.Double.doubleToLongBits( other.getHotelPriceDifferencePercentage())) return false; } if (hasHotelEligibleImpressions() != other.hasHotelEligibleImpressions()) return false; if (hasHotelEligibleImpressions()) { if (getHotelEligibleImpressions() != other.getHotelEligibleImpressions()) return false; } if (historicalCreativeQualityScore_ != other.historicalCreativeQualityScore_) return false; if (historicalLandingPageQualityScore_ != other.historicalLandingPageQualityScore_) return false; if (hasHistoricalQualityScore() != other.hasHistoricalQualityScore()) return false; if (hasHistoricalQualityScore()) { if (getHistoricalQualityScore() != other.getHistoricalQualityScore()) return false; } if (historicalSearchPredictedCtr_ != other.historicalSearchPredictedCtr_) return false; if (hasGmailForwards() != other.hasGmailForwards()) return false; if (hasGmailForwards()) { if (getGmailForwards() != other.getGmailForwards()) return false; } if (hasGmailSaves() != other.hasGmailSaves()) return false; if (hasGmailSaves()) { if (getGmailSaves() != other.getGmailSaves()) return false; } if (hasGmailSecondaryClicks() != other.hasGmailSecondaryClicks()) return false; if (hasGmailSecondaryClicks()) { if (getGmailSecondaryClicks() != other.getGmailSecondaryClicks()) return false; } if (hasImpressionsFromStoreReach() != other.hasImpressionsFromStoreReach()) return false; if (hasImpressionsFromStoreReach()) { if (getImpressionsFromStoreReach() != other.getImpressionsFromStoreReach()) return false; } if (hasImpressions() != other.hasImpressions()) return false; if (hasImpressions()) { if (getImpressions() != other.getImpressions()) return false; } if (hasInteractionRate() != other.hasInteractionRate()) return false; if (hasInteractionRate()) { if (java.lang.Double.doubleToLongBits(getInteractionRate()) != java.lang.Double.doubleToLongBits( other.getInteractionRate())) return false; } if (hasInteractions() != other.hasInteractions()) return false; if (hasInteractions()) { if (getInteractions() != other.getInteractions()) return false; } if (!interactionEventTypes_.equals(other.interactionEventTypes_)) return false; if (hasInvalidClickRate() != other.hasInvalidClickRate()) return false; if (hasInvalidClickRate()) { if (java.lang.Double.doubleToLongBits(getInvalidClickRate()) != java.lang.Double.doubleToLongBits( other.getInvalidClickRate())) return false; } if (hasInvalidClicks() != other.hasInvalidClicks()) return false; if (hasInvalidClicks()) { if (getInvalidClicks() != other.getInvalidClicks()) return false; } if (hasGeneralInvalidClickRate() != other.hasGeneralInvalidClickRate()) return false; if (hasGeneralInvalidClickRate()) { if (java.lang.Double.doubleToLongBits(getGeneralInvalidClickRate()) != java.lang.Double.doubleToLongBits( other.getGeneralInvalidClickRate())) return false; } if (hasGeneralInvalidClicks() != other.hasGeneralInvalidClicks()) return false; if (hasGeneralInvalidClicks()) { if (getGeneralInvalidClicks() != other.getGeneralInvalidClicks()) return false; } if (hasMessageChats() != other.hasMessageChats()) return false; if (hasMessageChats()) { if (getMessageChats() != other.getMessageChats()) return false; } if (hasMessageImpressions() != other.hasMessageImpressions()) return false; if (hasMessageImpressions()) { if (getMessageImpressions() != other.getMessageImpressions()) return false; } if (hasMessageChatRate() != other.hasMessageChatRate()) return false; if (hasMessageChatRate()) { if (java.lang.Double.doubleToLongBits(getMessageChatRate()) != java.lang.Double.doubleToLongBits( other.getMessageChatRate())) return false; } if (hasMobileFriendlyClicksPercentage() != other.hasMobileFriendlyClicksPercentage()) return false; if (hasMobileFriendlyClicksPercentage()) { if (java.lang.Double.doubleToLongBits(getMobileFriendlyClicksPercentage()) != java.lang.Double.doubleToLongBits( other.getMobileFriendlyClicksPercentage())) return false; } if (hasOptimizationScoreUplift() != other.hasOptimizationScoreUplift()) return false; if (hasOptimizationScoreUplift()) { if (java.lang.Double.doubleToLongBits(getOptimizationScoreUplift()) != java.lang.Double.doubleToLongBits( other.getOptimizationScoreUplift())) return false; } if (hasOptimizationScoreUrl() != other.hasOptimizationScoreUrl()) return false; if (hasOptimizationScoreUrl()) { if (!getOptimizationScoreUrl() .equals(other.getOptimizationScoreUrl())) return false; } if (hasOrganicClicks() != other.hasOrganicClicks()) return false; if (hasOrganicClicks()) { if (getOrganicClicks() != other.getOrganicClicks()) return false; } if (hasOrganicClicksPerQuery() != other.hasOrganicClicksPerQuery()) return false; if (hasOrganicClicksPerQuery()) { if (java.lang.Double.doubleToLongBits(getOrganicClicksPerQuery()) != java.lang.Double.doubleToLongBits( other.getOrganicClicksPerQuery())) return false; } if (hasOrganicImpressions() != other.hasOrganicImpressions()) return false; if (hasOrganicImpressions()) { if (getOrganicImpressions() != other.getOrganicImpressions()) return false; } if (hasOrganicImpressionsPerQuery() != other.hasOrganicImpressionsPerQuery()) return false; if (hasOrganicImpressionsPerQuery()) { if (java.lang.Double.doubleToLongBits(getOrganicImpressionsPerQuery()) != java.lang.Double.doubleToLongBits( other.getOrganicImpressionsPerQuery())) return false; } if (hasOrganicQueries() != other.hasOrganicQueries()) return false; if (hasOrganicQueries()) { if (getOrganicQueries() != other.getOrganicQueries()) return false; } if (hasPercentNewVisitors() != other.hasPercentNewVisitors()) return false; if (hasPercentNewVisitors()) { if (java.lang.Double.doubleToLongBits(getPercentNewVisitors()) != java.lang.Double.doubleToLongBits( other.getPercentNewVisitors())) return false; } if (hasPhoneCalls() != other.hasPhoneCalls()) return false; if (hasPhoneCalls()) { if (getPhoneCalls() != other.getPhoneCalls()) return false; } if (hasPhoneImpressions() != other.hasPhoneImpressions()) return false; if (hasPhoneImpressions()) { if (getPhoneImpressions() != other.getPhoneImpressions()) return false; } if (hasPhoneThroughRate() != other.hasPhoneThroughRate()) return false; if (hasPhoneThroughRate()) { if (java.lang.Double.doubleToLongBits(getPhoneThroughRate()) != java.lang.Double.doubleToLongBits( other.getPhoneThroughRate())) return false; } if (hasRelativeCtr() != other.hasRelativeCtr()) return false; if (hasRelativeCtr()) { if (java.lang.Double.doubleToLongBits(getRelativeCtr()) != java.lang.Double.doubleToLongBits( other.getRelativeCtr())) return false; } if (hasSearchAbsoluteTopImpressionShare() != other.hasSearchAbsoluteTopImpressionShare()) return false; if (hasSearchAbsoluteTopImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchAbsoluteTopImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchAbsoluteTopImpressionShare())) return false; } if (hasSearchBudgetLostAbsoluteTopImpressionShare() != other.hasSearchBudgetLostAbsoluteTopImpressionShare()) return false; if (hasSearchBudgetLostAbsoluteTopImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchBudgetLostAbsoluteTopImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchBudgetLostAbsoluteTopImpressionShare())) return false; } if (hasSearchBudgetLostImpressionShare() != other.hasSearchBudgetLostImpressionShare()) return false; if (hasSearchBudgetLostImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchBudgetLostImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchBudgetLostImpressionShare())) return false; } if (hasSearchBudgetLostTopImpressionShare() != other.hasSearchBudgetLostTopImpressionShare()) return false; if (hasSearchBudgetLostTopImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchBudgetLostTopImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchBudgetLostTopImpressionShare())) return false; } if (hasSearchClickShare() != other.hasSearchClickShare()) return false; if (hasSearchClickShare()) { if (java.lang.Double.doubleToLongBits(getSearchClickShare()) != java.lang.Double.doubleToLongBits( other.getSearchClickShare())) return false; } if (hasSearchExactMatchImpressionShare() != other.hasSearchExactMatchImpressionShare()) return false; if (hasSearchExactMatchImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchExactMatchImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchExactMatchImpressionShare())) return false; } if (hasSearchImpressionShare() != other.hasSearchImpressionShare()) return false; if (hasSearchImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchImpressionShare())) return false; } if (hasSearchRankLostAbsoluteTopImpressionShare() != other.hasSearchRankLostAbsoluteTopImpressionShare()) return false; if (hasSearchRankLostAbsoluteTopImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchRankLostAbsoluteTopImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchRankLostAbsoluteTopImpressionShare())) return false; } if (hasSearchRankLostImpressionShare() != other.hasSearchRankLostImpressionShare()) return false; if (hasSearchRankLostImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchRankLostImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchRankLostImpressionShare())) return false; } if (hasSearchRankLostTopImpressionShare() != other.hasSearchRankLostTopImpressionShare()) return false; if (hasSearchRankLostTopImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchRankLostTopImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchRankLostTopImpressionShare())) return false; } if (hasSearchTopImpressionShare() != other.hasSearchTopImpressionShare()) return false; if (hasSearchTopImpressionShare()) { if (java.lang.Double.doubleToLongBits(getSearchTopImpressionShare()) != java.lang.Double.doubleToLongBits( other.getSearchTopImpressionShare())) return false; } if (hasSearchVolume() != other.hasSearchVolume()) return false; if (hasSearchVolume()) { if (!getSearchVolume() .equals(other.getSearchVolume())) return false; } if (hasSpeedScore() != other.hasSpeedScore()) return false; if (hasSpeedScore()) { if (getSpeedScore() != other.getSpeedScore()) return false; } if (hasAverageTargetCpaMicros() != other.hasAverageTargetCpaMicros()) return false; if (hasAverageTargetCpaMicros()) { if (getAverageTargetCpaMicros() != other.getAverageTargetCpaMicros()) return false; } if (hasAverageTargetRoas() != other.hasAverageTargetRoas()) return false; if (hasAverageTargetRoas()) { if (java.lang.Double.doubleToLongBits(getAverageTargetRoas()) != java.lang.Double.doubleToLongBits( other.getAverageTargetRoas())) return false; } if (hasTopImpressionPercentage() != other.hasTopImpressionPercentage()) return false; if (hasTopImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getTopImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getTopImpressionPercentage())) return false; } if (hasValidAcceleratedMobilePagesClicksPercentage() != other.hasValidAcceleratedMobilePagesClicksPercentage()) return false; if (hasValidAcceleratedMobilePagesClicksPercentage()) { if (java.lang.Double.doubleToLongBits(getValidAcceleratedMobilePagesClicksPercentage()) != java.lang.Double.doubleToLongBits( other.getValidAcceleratedMobilePagesClicksPercentage())) return false; } if (hasValuePerAllConversions() != other.hasValuePerAllConversions()) return false; if (hasValuePerAllConversions()) { if (java.lang.Double.doubleToLongBits(getValuePerAllConversions()) != java.lang.Double.doubleToLongBits( other.getValuePerAllConversions())) return false; } if (hasValuePerAllConversionsByConversionDate() != other.hasValuePerAllConversionsByConversionDate()) return false; if (hasValuePerAllConversionsByConversionDate()) { if (java.lang.Double.doubleToLongBits(getValuePerAllConversionsByConversionDate()) != java.lang.Double.doubleToLongBits( other.getValuePerAllConversionsByConversionDate())) return false; } if (hasValuePerConversion() != other.hasValuePerConversion()) return false; if (hasValuePerConversion()) { if (java.lang.Double.doubleToLongBits(getValuePerConversion()) != java.lang.Double.doubleToLongBits( other.getValuePerConversion())) return false; } if (hasValuePerConversionsByConversionDate() != other.hasValuePerConversionsByConversionDate()) return false; if (hasValuePerConversionsByConversionDate()) { if (java.lang.Double.doubleToLongBits(getValuePerConversionsByConversionDate()) != java.lang.Double.doubleToLongBits( other.getValuePerConversionsByConversionDate())) return false; } if (hasValuePerCurrentModelAttributedConversion() != other.hasValuePerCurrentModelAttributedConversion()) return false; if (hasValuePerCurrentModelAttributedConversion()) { if (java.lang.Double.doubleToLongBits(getValuePerCurrentModelAttributedConversion()) != java.lang.Double.doubleToLongBits( other.getValuePerCurrentModelAttributedConversion())) return false; } if (hasVideoQuartileP100Rate() != other.hasVideoQuartileP100Rate()) return false; if (hasVideoQuartileP100Rate()) { if (java.lang.Double.doubleToLongBits(getVideoQuartileP100Rate()) != java.lang.Double.doubleToLongBits( other.getVideoQuartileP100Rate())) return false; } if (hasVideoQuartileP25Rate() != other.hasVideoQuartileP25Rate()) return false; if (hasVideoQuartileP25Rate()) { if (java.lang.Double.doubleToLongBits(getVideoQuartileP25Rate()) != java.lang.Double.doubleToLongBits( other.getVideoQuartileP25Rate())) return false; } if (hasVideoQuartileP50Rate() != other.hasVideoQuartileP50Rate()) return false; if (hasVideoQuartileP50Rate()) { if (java.lang.Double.doubleToLongBits(getVideoQuartileP50Rate()) != java.lang.Double.doubleToLongBits( other.getVideoQuartileP50Rate())) return false; } if (hasVideoQuartileP75Rate() != other.hasVideoQuartileP75Rate()) return false; if (hasVideoQuartileP75Rate()) { if (java.lang.Double.doubleToLongBits(getVideoQuartileP75Rate()) != java.lang.Double.doubleToLongBits( other.getVideoQuartileP75Rate())) return false; } if (hasVideoViewRate() != other.hasVideoViewRate()) return false; if (hasVideoViewRate()) { if (java.lang.Double.doubleToLongBits(getVideoViewRate()) != java.lang.Double.doubleToLongBits( other.getVideoViewRate())) return false; } if (hasVideoViews() != other.hasVideoViews()) return false; if (hasVideoViews()) { if (getVideoViews() != other.getVideoViews()) return false; } if (hasViewThroughConversions() != other.hasViewThroughConversions()) return false; if (hasViewThroughConversions()) { if (getViewThroughConversions() != other.getViewThroughConversions()) return false; } if (getSkAdNetworkInstalls() != other.getSkAdNetworkInstalls()) return false; if (getSkAdNetworkTotalConversions() != other.getSkAdNetworkTotalConversions()) return false; if (getPublisherPurchasedClicks() != other.getPublisherPurchasedClicks()) return false; if (getPublisherOrganicClicks() != other.getPublisherOrganicClicks()) return false; if (getPublisherUnknownClicks() != other.getPublisherUnknownClicks()) return false; if (hasAllConversionsFromLocationAssetClickToCall() != other.hasAllConversionsFromLocationAssetClickToCall()) return false; if (hasAllConversionsFromLocationAssetClickToCall()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetClickToCall()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetClickToCall())) return false; } if (hasAllConversionsFromLocationAssetDirections() != other.hasAllConversionsFromLocationAssetDirections()) return false; if (hasAllConversionsFromLocationAssetDirections()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetDirections()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetDirections())) return false; } if (hasAllConversionsFromLocationAssetMenu() != other.hasAllConversionsFromLocationAssetMenu()) return false; if (hasAllConversionsFromLocationAssetMenu()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetMenu()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetMenu())) return false; } if (hasAllConversionsFromLocationAssetOrder() != other.hasAllConversionsFromLocationAssetOrder()) return false; if (hasAllConversionsFromLocationAssetOrder()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetOrder()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetOrder())) return false; } if (hasAllConversionsFromLocationAssetOtherEngagement() != other.hasAllConversionsFromLocationAssetOtherEngagement()) return false; if (hasAllConversionsFromLocationAssetOtherEngagement()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetOtherEngagement()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetOtherEngagement())) return false; } if (hasAllConversionsFromLocationAssetStoreVisits() != other.hasAllConversionsFromLocationAssetStoreVisits()) return false; if (hasAllConversionsFromLocationAssetStoreVisits()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetStoreVisits()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetStoreVisits())) return false; } if (hasAllConversionsFromLocationAssetWebsite() != other.hasAllConversionsFromLocationAssetWebsite()) return false; if (hasAllConversionsFromLocationAssetWebsite()) { if (java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetWebsite()) != java.lang.Double.doubleToLongBits( other.getAllConversionsFromLocationAssetWebsite())) return false; } if (hasEligibleImpressionsFromLocationAssetStoreReach() != other.hasEligibleImpressionsFromLocationAssetStoreReach()) return false; if (hasEligibleImpressionsFromLocationAssetStoreReach()) { if (getEligibleImpressionsFromLocationAssetStoreReach() != other.getEligibleImpressionsFromLocationAssetStoreReach()) return false; } if (hasViewThroughConversionsFromLocationAssetClickToCall() != other.hasViewThroughConversionsFromLocationAssetClickToCall()) return false; if (hasViewThroughConversionsFromLocationAssetClickToCall()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetClickToCall()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetClickToCall())) return false; } if (hasViewThroughConversionsFromLocationAssetDirections() != other.hasViewThroughConversionsFromLocationAssetDirections()) return false; if (hasViewThroughConversionsFromLocationAssetDirections()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetDirections()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetDirections())) return false; } if (hasViewThroughConversionsFromLocationAssetMenu() != other.hasViewThroughConversionsFromLocationAssetMenu()) return false; if (hasViewThroughConversionsFromLocationAssetMenu()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetMenu()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetMenu())) return false; } if (hasViewThroughConversionsFromLocationAssetOrder() != other.hasViewThroughConversionsFromLocationAssetOrder()) return false; if (hasViewThroughConversionsFromLocationAssetOrder()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetOrder()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetOrder())) return false; } if (hasViewThroughConversionsFromLocationAssetOtherEngagement() != other.hasViewThroughConversionsFromLocationAssetOtherEngagement()) return false; if (hasViewThroughConversionsFromLocationAssetOtherEngagement()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetOtherEngagement()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetOtherEngagement())) return false; } if (hasViewThroughConversionsFromLocationAssetStoreVisits() != other.hasViewThroughConversionsFromLocationAssetStoreVisits()) return false; if (hasViewThroughConversionsFromLocationAssetStoreVisits()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetStoreVisits()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetStoreVisits())) return false; } if (hasViewThroughConversionsFromLocationAssetWebsite() != other.hasViewThroughConversionsFromLocationAssetWebsite()) return false; if (hasViewThroughConversionsFromLocationAssetWebsite()) { if (java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetWebsite()) != java.lang.Double.doubleToLongBits( other.getViewThroughConversionsFromLocationAssetWebsite())) return false; } if (hasOrders() != other.hasOrders()) return false; if (hasOrders()) { if (java.lang.Double.doubleToLongBits(getOrders()) != java.lang.Double.doubleToLongBits( other.getOrders())) return false; } if (hasAverageOrderValueMicros() != other.hasAverageOrderValueMicros()) return false; if (hasAverageOrderValueMicros()) { if (getAverageOrderValueMicros() != other.getAverageOrderValueMicros()) return false; } if (hasAverageCartSize() != other.hasAverageCartSize()) return false; if (hasAverageCartSize()) { if (java.lang.Double.doubleToLongBits(getAverageCartSize()) != java.lang.Double.doubleToLongBits( other.getAverageCartSize())) return false; } if (hasCostOfGoodsSoldMicros() != other.hasCostOfGoodsSoldMicros()) return false; if (hasCostOfGoodsSoldMicros()) { if (getCostOfGoodsSoldMicros() != other.getCostOfGoodsSoldMicros()) return false; } if (hasGrossProfitMicros() != other.hasGrossProfitMicros()) return false; if (hasGrossProfitMicros()) { if (getGrossProfitMicros() != other.getGrossProfitMicros()) return false; } if (hasGrossProfitMargin() != other.hasGrossProfitMargin()) return false; if (hasGrossProfitMargin()) { if (java.lang.Double.doubleToLongBits(getGrossProfitMargin()) != java.lang.Double.doubleToLongBits( other.getGrossProfitMargin())) return false; } if (hasRevenueMicros() != other.hasRevenueMicros()) return false; if (hasRevenueMicros()) { if (getRevenueMicros() != other.getRevenueMicros()) return false; } if (hasUnitsSold() != other.hasUnitsSold()) return false; if (hasUnitsSold()) { if (java.lang.Double.doubleToLongBits(getUnitsSold()) != java.lang.Double.doubleToLongBits( other.getUnitsSold())) return false; } if (hasCrossSellCostOfGoodsSoldMicros() != other.hasCrossSellCostOfGoodsSoldMicros()) return false; if (hasCrossSellCostOfGoodsSoldMicros()) { if (getCrossSellCostOfGoodsSoldMicros() != other.getCrossSellCostOfGoodsSoldMicros()) return false; } if (hasCrossSellGrossProfitMicros() != other.hasCrossSellGrossProfitMicros()) return false; if (hasCrossSellGrossProfitMicros()) { if (getCrossSellGrossProfitMicros() != other.getCrossSellGrossProfitMicros()) return false; } if (hasCrossSellRevenueMicros() != other.hasCrossSellRevenueMicros()) return false; if (hasCrossSellRevenueMicros()) { if (getCrossSellRevenueMicros() != other.getCrossSellRevenueMicros()) return false; } if (hasCrossSellUnitsSold() != other.hasCrossSellUnitsSold()) return false; if (hasCrossSellUnitsSold()) { if (java.lang.Double.doubleToLongBits(getCrossSellUnitsSold()) != java.lang.Double.doubleToLongBits( other.getCrossSellUnitsSold())) return false; } if (hasLeadCostOfGoodsSoldMicros() != other.hasLeadCostOfGoodsSoldMicros()) return false; if (hasLeadCostOfGoodsSoldMicros()) { if (getLeadCostOfGoodsSoldMicros() != other.getLeadCostOfGoodsSoldMicros()) return false; } if (hasLeadGrossProfitMicros() != other.hasLeadGrossProfitMicros()) return false; if (hasLeadGrossProfitMicros()) { if (getLeadGrossProfitMicros() != other.getLeadGrossProfitMicros()) return false; } if (hasLeadRevenueMicros() != other.hasLeadRevenueMicros()) return false; if (hasLeadRevenueMicros()) { if (getLeadRevenueMicros() != other.getLeadRevenueMicros()) return false; } if (hasLeadUnitsSold() != other.hasLeadUnitsSold()) return false; if (hasLeadUnitsSold()) { if (java.lang.Double.doubleToLongBits(getLeadUnitsSold()) != java.lang.Double.doubleToLongBits( other.getLeadUnitsSold())) return false; } if (hasUniqueUsers() != other.hasUniqueUsers()) return false; if (hasUniqueUsers()) { if (getUniqueUsers() != other.getUniqueUsers()) return false; } if (hasAverageImpressionFrequencyPerUser() != other.hasAverageImpressionFrequencyPerUser()) return false; if (hasAverageImpressionFrequencyPerUser()) { if (java.lang.Double.doubleToLongBits(getAverageImpressionFrequencyPerUser()) != java.lang.Double.doubleToLongBits( other.getAverageImpressionFrequencyPerUser())) return false; } if (hasLinkedEntitiesCount() != other.hasLinkedEntitiesCount()) return false; if (hasLinkedEntitiesCount()) { if (getLinkedEntitiesCount() != other.getLinkedEntitiesCount()) return false; } if (!getLinkedSampleEntitiesList() .equals(other.getLinkedSampleEntitiesList())) return false; if (!getSampleBestPerformanceEntitiesList() .equals(other.getSampleBestPerformanceEntitiesList())) return false; if (!getSampleGoodPerformanceEntitiesList() .equals(other.getSampleGoodPerformanceEntitiesList())) return false; if (!getSampleLowPerformanceEntitiesList() .equals(other.getSampleLowPerformanceEntitiesList())) return false; if (!getSampleLearningPerformanceEntitiesList() .equals(other.getSampleLearningPerformanceEntitiesList())) return false; if (!getSampleUnratedPerformanceEntitiesList() .equals(other.getSampleUnratedPerformanceEntitiesList())) return false; if (hasAssetPinnedTotalCount() != other.hasAssetPinnedTotalCount()) return false; if (hasAssetPinnedTotalCount()) { if (getAssetPinnedTotalCount() != other.getAssetPinnedTotalCount()) return false; } if (hasAssetPinnedAsHeadlinePositionOneCount() != other.hasAssetPinnedAsHeadlinePositionOneCount()) return false; if (hasAssetPinnedAsHeadlinePositionOneCount()) { if (getAssetPinnedAsHeadlinePositionOneCount() != other.getAssetPinnedAsHeadlinePositionOneCount()) return false; } if (hasAssetPinnedAsHeadlinePositionTwoCount() != other.hasAssetPinnedAsHeadlinePositionTwoCount()) return false; if (hasAssetPinnedAsHeadlinePositionTwoCount()) { if (getAssetPinnedAsHeadlinePositionTwoCount() != other.getAssetPinnedAsHeadlinePositionTwoCount()) return false; } if (hasAssetPinnedAsHeadlinePositionThreeCount() != other.hasAssetPinnedAsHeadlinePositionThreeCount()) return false; if (hasAssetPinnedAsHeadlinePositionThreeCount()) { if (getAssetPinnedAsHeadlinePositionThreeCount() != other.getAssetPinnedAsHeadlinePositionThreeCount()) return false; } if (hasAssetPinnedAsDescriptionPositionOneCount() != other.hasAssetPinnedAsDescriptionPositionOneCount()) return false; if (hasAssetPinnedAsDescriptionPositionOneCount()) { if (getAssetPinnedAsDescriptionPositionOneCount() != other.getAssetPinnedAsDescriptionPositionOneCount()) return false; } if (hasAssetPinnedAsDescriptionPositionTwoCount() != other.hasAssetPinnedAsDescriptionPositionTwoCount()) return false; if (hasAssetPinnedAsDescriptionPositionTwoCount()) { if (getAssetPinnedAsDescriptionPositionTwoCount() != other.getAssetPinnedAsDescriptionPositionTwoCount()) return false; } if (hasAssetBestPerformanceImpressionPercentage() != other.hasAssetBestPerformanceImpressionPercentage()) return false; if (hasAssetBestPerformanceImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetBestPerformanceImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetBestPerformanceImpressionPercentage())) return false; } if (hasAssetGoodPerformanceImpressionPercentage() != other.hasAssetGoodPerformanceImpressionPercentage()) return false; if (hasAssetGoodPerformanceImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetGoodPerformanceImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetGoodPerformanceImpressionPercentage())) return false; } if (hasAssetLowPerformanceImpressionPercentage() != other.hasAssetLowPerformanceImpressionPercentage()) return false; if (hasAssetLowPerformanceImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetLowPerformanceImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetLowPerformanceImpressionPercentage())) return false; } if (hasAssetLearningPerformanceImpressionPercentage() != other.hasAssetLearningPerformanceImpressionPercentage()) return false; if (hasAssetLearningPerformanceImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetLearningPerformanceImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetLearningPerformanceImpressionPercentage())) return false; } if (hasAssetUnratedPerformanceImpressionPercentage() != other.hasAssetUnratedPerformanceImpressionPercentage()) return false; if (hasAssetUnratedPerformanceImpressionPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetUnratedPerformanceImpressionPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetUnratedPerformanceImpressionPercentage())) return false; } if (hasAssetBestPerformanceCostPercentage() != other.hasAssetBestPerformanceCostPercentage()) return false; if (hasAssetBestPerformanceCostPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetBestPerformanceCostPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetBestPerformanceCostPercentage())) return false; } if (hasAssetGoodPerformanceCostPercentage() != other.hasAssetGoodPerformanceCostPercentage()) return false; if (hasAssetGoodPerformanceCostPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetGoodPerformanceCostPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetGoodPerformanceCostPercentage())) return false; } if (hasAssetLowPerformanceCostPercentage() != other.hasAssetLowPerformanceCostPercentage()) return false; if (hasAssetLowPerformanceCostPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetLowPerformanceCostPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetLowPerformanceCostPercentage())) return false; } if (hasAssetLearningPerformanceCostPercentage() != other.hasAssetLearningPerformanceCostPercentage()) return false; if (hasAssetLearningPerformanceCostPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetLearningPerformanceCostPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetLearningPerformanceCostPercentage())) return false; } if (hasAssetUnratedPerformanceCostPercentage() != other.hasAssetUnratedPerformanceCostPercentage()) return false; if (hasAssetUnratedPerformanceCostPercentage()) { if (java.lang.Double.doubleToLongBits(getAssetUnratedPerformanceCostPercentage()) != java.lang.Double.doubleToLongBits( other.getAssetUnratedPerformanceCostPercentage())) return false; } if (hasStoreVisitsLastClickModelAttributedConversions() != other.hasStoreVisitsLastClickModelAttributedConversions()) return false; if (hasStoreVisitsLastClickModelAttributedConversions()) { if (java.lang.Double.doubleToLongBits(getStoreVisitsLastClickModelAttributedConversions()) != java.lang.Double.doubleToLongBits( other.getStoreVisitsLastClickModelAttributedConversions())) return false; } if (hasResultsConversionsPurchase() != other.hasResultsConversionsPurchase()) return false; if (hasResultsConversionsPurchase()) { if (java.lang.Double.doubleToLongBits(getResultsConversionsPurchase()) != java.lang.Double.doubleToLongBits( other.getResultsConversionsPurchase())) return false; } if (hasVideoViewRateInFeed() != other.hasVideoViewRateInFeed()) return false; if (hasVideoViewRateInFeed()) { if (java.lang.Double.doubleToLongBits(getVideoViewRateInFeed()) != java.lang.Double.doubleToLongBits( other.getVideoViewRateInFeed())) return false; } if (hasVideoViewRateInStream() != other.hasVideoViewRateInStream()) return false; if (hasVideoViewRateInStream()) { if (java.lang.Double.doubleToLongBits(getVideoViewRateInStream()) != java.lang.Double.doubleToLongBits( other.getVideoViewRateInStream())) return false; } if (hasVideoViewRateShorts() != other.hasVideoViewRateShorts()) return false; if (hasVideoViewRateShorts()) { if (java.lang.Double.doubleToLongBits(getVideoViewRateShorts()) != java.lang.Double.doubleToLongBits( other.getVideoViewRateShorts())) return false; } if (!getUnknownFields().equals(other.getUnknownFields())) return false; return true; } @java.lang.Override public int hashCode() { if (memoizedHashCode != 0) { return memoizedHashCode; } int hash = 41; hash = (19 * hash) + getDescriptor().hashCode(); if (hasAbsoluteTopImpressionPercentage()) { hash = (37 * hash) + ABSOLUTE_TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAbsoluteTopImpressionPercentage())); } if (hasActiveViewCpm()) { hash = (37 * hash) + ACTIVE_VIEW_CPM_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getActiveViewCpm())); } if (hasActiveViewCtr()) { hash = (37 * hash) + ACTIVE_VIEW_CTR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getActiveViewCtr())); } if (hasActiveViewImpressions()) { hash = (37 * hash) + ACTIVE_VIEW_IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getActiveViewImpressions()); } if (hasActiveViewMeasurability()) { hash = (37 * hash) + ACTIVE_VIEW_MEASURABILITY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getActiveViewMeasurability())); } if (hasActiveViewMeasurableCostMicros()) { hash = (37 * hash) + ACTIVE_VIEW_MEASURABLE_COST_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getActiveViewMeasurableCostMicros()); } if (hasActiveViewMeasurableImpressions()) { hash = (37 * hash) + ACTIVE_VIEW_MEASURABLE_IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getActiveViewMeasurableImpressions()); } if (hasActiveViewViewability()) { hash = (37 * hash) + ACTIVE_VIEW_VIEWABILITY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getActiveViewViewability())); } if (hasAllConversionsFromInteractionsRate()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_INTERACTIONS_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromInteractionsRate())); } if (hasAllConversionsValue()) { hash = (37 * hash) + ALL_CONVERSIONS_VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsValue())); } if (hasAllConversionsValueByConversionDate()) { hash = (37 * hash) + ALL_CONVERSIONS_VALUE_BY_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsValueByConversionDate())); } if (hasAllNewCustomerLifetimeValue()) { hash = (37 * hash) + ALL_NEW_CUSTOMER_LIFETIME_VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllNewCustomerLifetimeValue())); } if (hasAllConversions()) { hash = (37 * hash) + ALL_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversions())); } if (hasAllConversionsByConversionDate()) { hash = (37 * hash) + ALL_CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsByConversionDate())); } if (hasAllConversionsValuePerCost()) { hash = (37 * hash) + ALL_CONVERSIONS_VALUE_PER_COST_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsValuePerCost())); } if (hasAllConversionsFromClickToCall()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_CLICK_TO_CALL_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromClickToCall())); } if (hasAllConversionsFromDirections()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_DIRECTIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromDirections())); } if (hasAllConversionsFromInteractionsValuePerInteraction()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_INTERACTIONS_VALUE_PER_INTERACTION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromInteractionsValuePerInteraction())); } if (hasAllConversionsFromMenu()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_MENU_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromMenu())); } if (hasAllConversionsFromOrder()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_ORDER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromOrder())); } if (hasAllConversionsFromOtherEngagement()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_OTHER_ENGAGEMENT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromOtherEngagement())); } if (hasAllConversionsFromStoreVisit()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_STORE_VISIT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromStoreVisit())); } if (hasAllConversionsFromStoreWebsite()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_STORE_WEBSITE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromStoreWebsite())); } if (hasAuctionInsightSearchAbsoluteTopImpressionPercentage()) { hash = (37 * hash) + AUCTION_INSIGHT_SEARCH_ABSOLUTE_TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAuctionInsightSearchAbsoluteTopImpressionPercentage())); } if (hasAuctionInsightSearchImpressionShare()) { hash = (37 * hash) + AUCTION_INSIGHT_SEARCH_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAuctionInsightSearchImpressionShare())); } if (hasAuctionInsightSearchOutrankingShare()) { hash = (37 * hash) + AUCTION_INSIGHT_SEARCH_OUTRANKING_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAuctionInsightSearchOutrankingShare())); } if (hasAuctionInsightSearchOverlapRate()) { hash = (37 * hash) + AUCTION_INSIGHT_SEARCH_OVERLAP_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAuctionInsightSearchOverlapRate())); } if (hasAuctionInsightSearchPositionAboveRate()) { hash = (37 * hash) + AUCTION_INSIGHT_SEARCH_POSITION_ABOVE_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAuctionInsightSearchPositionAboveRate())); } if (hasAuctionInsightSearchTopImpressionPercentage()) { hash = (37 * hash) + AUCTION_INSIGHT_SEARCH_TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAuctionInsightSearchTopImpressionPercentage())); } if (hasAverageCost()) { hash = (37 * hash) + AVERAGE_COST_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageCost())); } if (hasAverageCpc()) { hash = (37 * hash) + AVERAGE_CPC_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageCpc())); } if (hasAverageCpe()) { hash = (37 * hash) + AVERAGE_CPE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageCpe())); } if (hasAverageCpm()) { hash = (37 * hash) + AVERAGE_CPM_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageCpm())); } if (hasAverageCpv()) { hash = (37 * hash) + AVERAGE_CPV_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageCpv())); } if (hasAveragePageViews()) { hash = (37 * hash) + AVERAGE_PAGE_VIEWS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAveragePageViews())); } if (hasAverageTimeOnSite()) { hash = (37 * hash) + AVERAGE_TIME_ON_SITE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageTimeOnSite())); } if (hasBenchmarkAverageMaxCpc()) { hash = (37 * hash) + BENCHMARK_AVERAGE_MAX_CPC_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getBenchmarkAverageMaxCpc())); } if (hasBiddableAppInstallConversions()) { hash = (37 * hash) + BIDDABLE_APP_INSTALL_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getBiddableAppInstallConversions())); } if (hasBiddableAppPostInstallConversions()) { hash = (37 * hash) + BIDDABLE_APP_POST_INSTALL_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getBiddableAppPostInstallConversions())); } if (hasBenchmarkCtr()) { hash = (37 * hash) + BENCHMARK_CTR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getBenchmarkCtr())); } if (hasBounceRate()) { hash = (37 * hash) + BOUNCE_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getBounceRate())); } if (hasClicks()) { hash = (37 * hash) + CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getClicks()); } if (hasCombinedClicks()) { hash = (37 * hash) + COMBINED_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCombinedClicks()); } if (hasCombinedClicksPerQuery()) { hash = (37 * hash) + COMBINED_CLICKS_PER_QUERY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCombinedClicksPerQuery())); } if (hasCombinedQueries()) { hash = (37 * hash) + COMBINED_QUERIES_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCombinedQueries()); } if (hasContentBudgetLostImpressionShare()) { hash = (37 * hash) + CONTENT_BUDGET_LOST_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getContentBudgetLostImpressionShare())); } if (hasContentImpressionShare()) { hash = (37 * hash) + CONTENT_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getContentImpressionShare())); } if (hasConversionLastReceivedRequestDateTime()) { hash = (37 * hash) + CONVERSION_LAST_RECEIVED_REQUEST_DATE_TIME_FIELD_NUMBER; hash = (53 * hash) + getConversionLastReceivedRequestDateTime().hashCode(); } if (hasConversionLastConversionDate()) { hash = (37 * hash) + CONVERSION_LAST_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + getConversionLastConversionDate().hashCode(); } if (hasContentRankLostImpressionShare()) { hash = (37 * hash) + CONTENT_RANK_LOST_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getContentRankLostImpressionShare())); } if (hasConversionsFromInteractionsRate()) { hash = (37 * hash) + CONVERSIONS_FROM_INTERACTIONS_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversionsFromInteractionsRate())); } if (hasConversionsValue()) { hash = (37 * hash) + CONVERSIONS_VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversionsValue())); } if (hasConversionsValueByConversionDate()) { hash = (37 * hash) + CONVERSIONS_VALUE_BY_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversionsValueByConversionDate())); } if (hasNewCustomerLifetimeValue()) { hash = (37 * hash) + NEW_CUSTOMER_LIFETIME_VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getNewCustomerLifetimeValue())); } if (hasConversionsValuePerCost()) { hash = (37 * hash) + CONVERSIONS_VALUE_PER_COST_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversionsValuePerCost())); } if (hasConversionsFromInteractionsValuePerInteraction()) { hash = (37 * hash) + CONVERSIONS_FROM_INTERACTIONS_VALUE_PER_INTERACTION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversionsFromInteractionsValuePerInteraction())); } if (hasConversions()) { hash = (37 * hash) + CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversions())); } if (hasConversionsByConversionDate()) { hash = (37 * hash) + CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getConversionsByConversionDate())); } if (hasCostMicros()) { hash = (37 * hash) + COST_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCostMicros()); } if (hasCostPerAllConversions()) { hash = (37 * hash) + COST_PER_ALL_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCostPerAllConversions())); } if (hasCostPerConversion()) { hash = (37 * hash) + COST_PER_CONVERSION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCostPerConversion())); } if (hasCostPerCurrentModelAttributedConversion()) { hash = (37 * hash) + COST_PER_CURRENT_MODEL_ATTRIBUTED_CONVERSION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCostPerCurrentModelAttributedConversion())); } if (hasCrossDeviceConversions()) { hash = (37 * hash) + CROSS_DEVICE_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCrossDeviceConversions())); } if (hasCrossDeviceConversionsValueMicros()) { hash = (37 * hash) + CROSS_DEVICE_CONVERSIONS_VALUE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCrossDeviceConversionsValueMicros()); } if (hasCtr()) { hash = (37 * hash) + CTR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCtr())); } if (hasCurrentModelAttributedConversions()) { hash = (37 * hash) + CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversions())); } if (hasCurrentModelAttributedConversionsFromInteractionsRate()) { hash = (37 * hash) + CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_FROM_INTERACTIONS_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsFromInteractionsRate())); } if (hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()) { hash = (37 * hash) + CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_FROM_INTERACTIONS_VALUE_PER_INTERACTION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction())); } if (hasCurrentModelAttributedConversionsValue()) { hash = (37 * hash) + CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_VALUE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsValue())); } if (hasCurrentModelAttributedConversionsValuePerCost()) { hash = (37 * hash) + CURRENT_MODEL_ATTRIBUTED_CONVERSIONS_VALUE_PER_COST_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCurrentModelAttributedConversionsValuePerCost())); } if (hasEngagementRate()) { hash = (37 * hash) + ENGAGEMENT_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getEngagementRate())); } if (hasEngagements()) { hash = (37 * hash) + ENGAGEMENTS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getEngagements()); } if (hasHotelAverageLeadValueMicros()) { hash = (37 * hash) + HOTEL_AVERAGE_LEAD_VALUE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getHotelAverageLeadValueMicros())); } if (hasHotelCommissionRateMicros()) { hash = (37 * hash) + HOTEL_COMMISSION_RATE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getHotelCommissionRateMicros()); } if (hasHotelExpectedCommissionCost()) { hash = (37 * hash) + HOTEL_EXPECTED_COMMISSION_COST_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getHotelExpectedCommissionCost())); } if (hasHotelPriceDifferencePercentage()) { hash = (37 * hash) + HOTEL_PRICE_DIFFERENCE_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getHotelPriceDifferencePercentage())); } if (hasHotelEligibleImpressions()) { hash = (37 * hash) + HOTEL_ELIGIBLE_IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getHotelEligibleImpressions()); } hash = (37 * hash) + HISTORICAL_CREATIVE_QUALITY_SCORE_FIELD_NUMBER; hash = (53 * hash) + historicalCreativeQualityScore_; hash = (37 * hash) + HISTORICAL_LANDING_PAGE_QUALITY_SCORE_FIELD_NUMBER; hash = (53 * hash) + historicalLandingPageQualityScore_; if (hasHistoricalQualityScore()) { hash = (37 * hash) + HISTORICAL_QUALITY_SCORE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getHistoricalQualityScore()); } hash = (37 * hash) + HISTORICAL_SEARCH_PREDICTED_CTR_FIELD_NUMBER; hash = (53 * hash) + historicalSearchPredictedCtr_; if (hasGmailForwards()) { hash = (37 * hash) + GMAIL_FORWARDS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getGmailForwards()); } if (hasGmailSaves()) { hash = (37 * hash) + GMAIL_SAVES_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getGmailSaves()); } if (hasGmailSecondaryClicks()) { hash = (37 * hash) + GMAIL_SECONDARY_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getGmailSecondaryClicks()); } if (hasImpressionsFromStoreReach()) { hash = (37 * hash) + IMPRESSIONS_FROM_STORE_REACH_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getImpressionsFromStoreReach()); } if (hasImpressions()) { hash = (37 * hash) + IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getImpressions()); } if (hasInteractionRate()) { hash = (37 * hash) + INTERACTION_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getInteractionRate())); } if (hasInteractions()) { hash = (37 * hash) + INTERACTIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getInteractions()); } if (getInteractionEventTypesCount() > 0) { hash = (37 * hash) + INTERACTION_EVENT_TYPES_FIELD_NUMBER; hash = (53 * hash) + interactionEventTypes_.hashCode(); } if (hasInvalidClickRate()) { hash = (37 * hash) + INVALID_CLICK_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getInvalidClickRate())); } if (hasInvalidClicks()) { hash = (37 * hash) + INVALID_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getInvalidClicks()); } if (hasGeneralInvalidClickRate()) { hash = (37 * hash) + GENERAL_INVALID_CLICK_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getGeneralInvalidClickRate())); } if (hasGeneralInvalidClicks()) { hash = (37 * hash) + GENERAL_INVALID_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getGeneralInvalidClicks()); } if (hasMessageChats()) { hash = (37 * hash) + MESSAGE_CHATS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getMessageChats()); } if (hasMessageImpressions()) { hash = (37 * hash) + MESSAGE_IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getMessageImpressions()); } if (hasMessageChatRate()) { hash = (37 * hash) + MESSAGE_CHAT_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMessageChatRate())); } if (hasMobileFriendlyClicksPercentage()) { hash = (37 * hash) + MOBILE_FRIENDLY_CLICKS_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getMobileFriendlyClicksPercentage())); } if (hasOptimizationScoreUplift()) { hash = (37 * hash) + OPTIMIZATION_SCORE_UPLIFT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getOptimizationScoreUplift())); } if (hasOptimizationScoreUrl()) { hash = (37 * hash) + OPTIMIZATION_SCORE_URL_FIELD_NUMBER; hash = (53 * hash) + getOptimizationScoreUrl().hashCode(); } if (hasOrganicClicks()) { hash = (37 * hash) + ORGANIC_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getOrganicClicks()); } if (hasOrganicClicksPerQuery()) { hash = (37 * hash) + ORGANIC_CLICKS_PER_QUERY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getOrganicClicksPerQuery())); } if (hasOrganicImpressions()) { hash = (37 * hash) + ORGANIC_IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getOrganicImpressions()); } if (hasOrganicImpressionsPerQuery()) { hash = (37 * hash) + ORGANIC_IMPRESSIONS_PER_QUERY_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getOrganicImpressionsPerQuery())); } if (hasOrganicQueries()) { hash = (37 * hash) + ORGANIC_QUERIES_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getOrganicQueries()); } if (hasPercentNewVisitors()) { hash = (37 * hash) + PERCENT_NEW_VISITORS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getPercentNewVisitors())); } if (hasPhoneCalls()) { hash = (37 * hash) + PHONE_CALLS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getPhoneCalls()); } if (hasPhoneImpressions()) { hash = (37 * hash) + PHONE_IMPRESSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getPhoneImpressions()); } if (hasPhoneThroughRate()) { hash = (37 * hash) + PHONE_THROUGH_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getPhoneThroughRate())); } if (hasRelativeCtr()) { hash = (37 * hash) + RELATIVE_CTR_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getRelativeCtr())); } if (hasSearchAbsoluteTopImpressionShare()) { hash = (37 * hash) + SEARCH_ABSOLUTE_TOP_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchAbsoluteTopImpressionShare())); } if (hasSearchBudgetLostAbsoluteTopImpressionShare()) { hash = (37 * hash) + SEARCH_BUDGET_LOST_ABSOLUTE_TOP_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchBudgetLostAbsoluteTopImpressionShare())); } if (hasSearchBudgetLostImpressionShare()) { hash = (37 * hash) + SEARCH_BUDGET_LOST_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchBudgetLostImpressionShare())); } if (hasSearchBudgetLostTopImpressionShare()) { hash = (37 * hash) + SEARCH_BUDGET_LOST_TOP_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchBudgetLostTopImpressionShare())); } if (hasSearchClickShare()) { hash = (37 * hash) + SEARCH_CLICK_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchClickShare())); } if (hasSearchExactMatchImpressionShare()) { hash = (37 * hash) + SEARCH_EXACT_MATCH_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchExactMatchImpressionShare())); } if (hasSearchImpressionShare()) { hash = (37 * hash) + SEARCH_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchImpressionShare())); } if (hasSearchRankLostAbsoluteTopImpressionShare()) { hash = (37 * hash) + SEARCH_RANK_LOST_ABSOLUTE_TOP_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchRankLostAbsoluteTopImpressionShare())); } if (hasSearchRankLostImpressionShare()) { hash = (37 * hash) + SEARCH_RANK_LOST_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchRankLostImpressionShare())); } if (hasSearchRankLostTopImpressionShare()) { hash = (37 * hash) + SEARCH_RANK_LOST_TOP_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchRankLostTopImpressionShare())); } if (hasSearchTopImpressionShare()) { hash = (37 * hash) + SEARCH_TOP_IMPRESSION_SHARE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getSearchTopImpressionShare())); } if (hasSearchVolume()) { hash = (37 * hash) + SEARCH_VOLUME_FIELD_NUMBER; hash = (53 * hash) + getSearchVolume().hashCode(); } if (hasSpeedScore()) { hash = (37 * hash) + SPEED_SCORE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getSpeedScore()); } if (hasAverageTargetCpaMicros()) { hash = (37 * hash) + AVERAGE_TARGET_CPA_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAverageTargetCpaMicros()); } if (hasAverageTargetRoas()) { hash = (37 * hash) + AVERAGE_TARGET_ROAS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageTargetRoas())); } if (hasTopImpressionPercentage()) { hash = (37 * hash) + TOP_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getTopImpressionPercentage())); } if (hasValidAcceleratedMobilePagesClicksPercentage()) { hash = (37 * hash) + VALID_ACCELERATED_MOBILE_PAGES_CLICKS_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValidAcceleratedMobilePagesClicksPercentage())); } if (hasValuePerAllConversions()) { hash = (37 * hash) + VALUE_PER_ALL_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValuePerAllConversions())); } if (hasValuePerAllConversionsByConversionDate()) { hash = (37 * hash) + VALUE_PER_ALL_CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValuePerAllConversionsByConversionDate())); } if (hasValuePerConversion()) { hash = (37 * hash) + VALUE_PER_CONVERSION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValuePerConversion())); } if (hasValuePerConversionsByConversionDate()) { hash = (37 * hash) + VALUE_PER_CONVERSIONS_BY_CONVERSION_DATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValuePerConversionsByConversionDate())); } if (hasValuePerCurrentModelAttributedConversion()) { hash = (37 * hash) + VALUE_PER_CURRENT_MODEL_ATTRIBUTED_CONVERSION_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getValuePerCurrentModelAttributedConversion())); } if (hasVideoQuartileP100Rate()) { hash = (37 * hash) + VIDEO_QUARTILE_P100_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoQuartileP100Rate())); } if (hasVideoQuartileP25Rate()) { hash = (37 * hash) + VIDEO_QUARTILE_P25_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoQuartileP25Rate())); } if (hasVideoQuartileP50Rate()) { hash = (37 * hash) + VIDEO_QUARTILE_P50_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoQuartileP50Rate())); } if (hasVideoQuartileP75Rate()) { hash = (37 * hash) + VIDEO_QUARTILE_P75_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoQuartileP75Rate())); } if (hasVideoViewRate()) { hash = (37 * hash) + VIDEO_VIEW_RATE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoViewRate())); } if (hasVideoViews()) { hash = (37 * hash) + VIDEO_VIEWS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getVideoViews()); } if (hasViewThroughConversions()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getViewThroughConversions()); } hash = (37 * hash) + SK_AD_NETWORK_INSTALLS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getSkAdNetworkInstalls()); hash = (37 * hash) + SK_AD_NETWORK_TOTAL_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getSkAdNetworkTotalConversions()); hash = (37 * hash) + PUBLISHER_PURCHASED_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getPublisherPurchasedClicks()); hash = (37 * hash) + PUBLISHER_ORGANIC_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getPublisherOrganicClicks()); hash = (37 * hash) + PUBLISHER_UNKNOWN_CLICKS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getPublisherUnknownClicks()); if (hasAllConversionsFromLocationAssetClickToCall()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_CLICK_TO_CALL_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetClickToCall())); } if (hasAllConversionsFromLocationAssetDirections()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_DIRECTIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetDirections())); } if (hasAllConversionsFromLocationAssetMenu()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_MENU_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetMenu())); } if (hasAllConversionsFromLocationAssetOrder()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_ORDER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetOrder())); } if (hasAllConversionsFromLocationAssetOtherEngagement()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_OTHER_ENGAGEMENT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetOtherEngagement())); } if (hasAllConversionsFromLocationAssetStoreVisits()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_STORE_VISITS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetStoreVisits())); } if (hasAllConversionsFromLocationAssetWebsite()) { hash = (37 * hash) + ALL_CONVERSIONS_FROM_LOCATION_ASSET_WEBSITE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAllConversionsFromLocationAssetWebsite())); } if (hasEligibleImpressionsFromLocationAssetStoreReach()) { hash = (37 * hash) + ELIGIBLE_IMPRESSIONS_FROM_LOCATION_ASSET_STORE_REACH_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getEligibleImpressionsFromLocationAssetStoreReach()); } if (hasViewThroughConversionsFromLocationAssetClickToCall()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_CLICK_TO_CALL_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetClickToCall())); } if (hasViewThroughConversionsFromLocationAssetDirections()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_DIRECTIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetDirections())); } if (hasViewThroughConversionsFromLocationAssetMenu()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_MENU_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetMenu())); } if (hasViewThroughConversionsFromLocationAssetOrder()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_ORDER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetOrder())); } if (hasViewThroughConversionsFromLocationAssetOtherEngagement()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_OTHER_ENGAGEMENT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetOtherEngagement())); } if (hasViewThroughConversionsFromLocationAssetStoreVisits()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_STORE_VISITS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetStoreVisits())); } if (hasViewThroughConversionsFromLocationAssetWebsite()) { hash = (37 * hash) + VIEW_THROUGH_CONVERSIONS_FROM_LOCATION_ASSET_WEBSITE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getViewThroughConversionsFromLocationAssetWebsite())); } if (hasOrders()) { hash = (37 * hash) + ORDERS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getOrders())); } if (hasAverageOrderValueMicros()) { hash = (37 * hash) + AVERAGE_ORDER_VALUE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAverageOrderValueMicros()); } if (hasAverageCartSize()) { hash = (37 * hash) + AVERAGE_CART_SIZE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageCartSize())); } if (hasCostOfGoodsSoldMicros()) { hash = (37 * hash) + COST_OF_GOODS_SOLD_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCostOfGoodsSoldMicros()); } if (hasGrossProfitMicros()) { hash = (37 * hash) + GROSS_PROFIT_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getGrossProfitMicros()); } if (hasGrossProfitMargin()) { hash = (37 * hash) + GROSS_PROFIT_MARGIN_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getGrossProfitMargin())); } if (hasRevenueMicros()) { hash = (37 * hash) + REVENUE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getRevenueMicros()); } if (hasUnitsSold()) { hash = (37 * hash) + UNITS_SOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getUnitsSold())); } if (hasCrossSellCostOfGoodsSoldMicros()) { hash = (37 * hash) + CROSS_SELL_COST_OF_GOODS_SOLD_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCrossSellCostOfGoodsSoldMicros()); } if (hasCrossSellGrossProfitMicros()) { hash = (37 * hash) + CROSS_SELL_GROSS_PROFIT_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCrossSellGrossProfitMicros()); } if (hasCrossSellRevenueMicros()) { hash = (37 * hash) + CROSS_SELL_REVENUE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getCrossSellRevenueMicros()); } if (hasCrossSellUnitsSold()) { hash = (37 * hash) + CROSS_SELL_UNITS_SOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getCrossSellUnitsSold())); } if (hasLeadCostOfGoodsSoldMicros()) { hash = (37 * hash) + LEAD_COST_OF_GOODS_SOLD_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getLeadCostOfGoodsSoldMicros()); } if (hasLeadGrossProfitMicros()) { hash = (37 * hash) + LEAD_GROSS_PROFIT_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getLeadGrossProfitMicros()); } if (hasLeadRevenueMicros()) { hash = (37 * hash) + LEAD_REVENUE_MICROS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getLeadRevenueMicros()); } if (hasLeadUnitsSold()) { hash = (37 * hash) + LEAD_UNITS_SOLD_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getLeadUnitsSold())); } if (hasUniqueUsers()) { hash = (37 * hash) + UNIQUE_USERS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getUniqueUsers()); } if (hasAverageImpressionFrequencyPerUser()) { hash = (37 * hash) + AVERAGE_IMPRESSION_FREQUENCY_PER_USER_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAverageImpressionFrequencyPerUser())); } if (hasLinkedEntitiesCount()) { hash = (37 * hash) + LINKED_ENTITIES_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getLinkedEntitiesCount()); } if (getLinkedSampleEntitiesCount() > 0) { hash = (37 * hash) + LINKED_SAMPLE_ENTITIES_FIELD_NUMBER; hash = (53 * hash) + getLinkedSampleEntitiesList().hashCode(); } if (getSampleBestPerformanceEntitiesCount() > 0) { hash = (37 * hash) + SAMPLE_BEST_PERFORMANCE_ENTITIES_FIELD_NUMBER; hash = (53 * hash) + getSampleBestPerformanceEntitiesList().hashCode(); } if (getSampleGoodPerformanceEntitiesCount() > 0) { hash = (37 * hash) + SAMPLE_GOOD_PERFORMANCE_ENTITIES_FIELD_NUMBER; hash = (53 * hash) + getSampleGoodPerformanceEntitiesList().hashCode(); } if (getSampleLowPerformanceEntitiesCount() > 0) { hash = (37 * hash) + SAMPLE_LOW_PERFORMANCE_ENTITIES_FIELD_NUMBER; hash = (53 * hash) + getSampleLowPerformanceEntitiesList().hashCode(); } if (getSampleLearningPerformanceEntitiesCount() > 0) { hash = (37 * hash) + SAMPLE_LEARNING_PERFORMANCE_ENTITIES_FIELD_NUMBER; hash = (53 * hash) + getSampleLearningPerformanceEntitiesList().hashCode(); } if (getSampleUnratedPerformanceEntitiesCount() > 0) { hash = (37 * hash) + SAMPLE_UNRATED_PERFORMANCE_ENTITIES_FIELD_NUMBER; hash = (53 * hash) + getSampleUnratedPerformanceEntitiesList().hashCode(); } if (hasAssetPinnedTotalCount()) { hash = (37 * hash) + ASSET_PINNED_TOTAL_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAssetPinnedTotalCount()); } if (hasAssetPinnedAsHeadlinePositionOneCount()) { hash = (37 * hash) + ASSET_PINNED_AS_HEADLINE_POSITION_ONE_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAssetPinnedAsHeadlinePositionOneCount()); } if (hasAssetPinnedAsHeadlinePositionTwoCount()) { hash = (37 * hash) + ASSET_PINNED_AS_HEADLINE_POSITION_TWO_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAssetPinnedAsHeadlinePositionTwoCount()); } if (hasAssetPinnedAsHeadlinePositionThreeCount()) { hash = (37 * hash) + ASSET_PINNED_AS_HEADLINE_POSITION_THREE_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAssetPinnedAsHeadlinePositionThreeCount()); } if (hasAssetPinnedAsDescriptionPositionOneCount()) { hash = (37 * hash) + ASSET_PINNED_AS_DESCRIPTION_POSITION_ONE_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAssetPinnedAsDescriptionPositionOneCount()); } if (hasAssetPinnedAsDescriptionPositionTwoCount()) { hash = (37 * hash) + ASSET_PINNED_AS_DESCRIPTION_POSITION_TWO_COUNT_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( getAssetPinnedAsDescriptionPositionTwoCount()); } if (hasAssetBestPerformanceImpressionPercentage()) { hash = (37 * hash) + ASSET_BEST_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetBestPerformanceImpressionPercentage())); } if (hasAssetGoodPerformanceImpressionPercentage()) { hash = (37 * hash) + ASSET_GOOD_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetGoodPerformanceImpressionPercentage())); } if (hasAssetLowPerformanceImpressionPercentage()) { hash = (37 * hash) + ASSET_LOW_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetLowPerformanceImpressionPercentage())); } if (hasAssetLearningPerformanceImpressionPercentage()) { hash = (37 * hash) + ASSET_LEARNING_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetLearningPerformanceImpressionPercentage())); } if (hasAssetUnratedPerformanceImpressionPercentage()) { hash = (37 * hash) + ASSET_UNRATED_PERFORMANCE_IMPRESSION_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetUnratedPerformanceImpressionPercentage())); } if (hasAssetBestPerformanceCostPercentage()) { hash = (37 * hash) + ASSET_BEST_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetBestPerformanceCostPercentage())); } if (hasAssetGoodPerformanceCostPercentage()) { hash = (37 * hash) + ASSET_GOOD_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetGoodPerformanceCostPercentage())); } if (hasAssetLowPerformanceCostPercentage()) { hash = (37 * hash) + ASSET_LOW_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetLowPerformanceCostPercentage())); } if (hasAssetLearningPerformanceCostPercentage()) { hash = (37 * hash) + ASSET_LEARNING_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetLearningPerformanceCostPercentage())); } if (hasAssetUnratedPerformanceCostPercentage()) { hash = (37 * hash) + ASSET_UNRATED_PERFORMANCE_COST_PERCENTAGE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getAssetUnratedPerformanceCostPercentage())); } if (hasStoreVisitsLastClickModelAttributedConversions()) { hash = (37 * hash) + STORE_VISITS_LAST_CLICK_MODEL_ATTRIBUTED_CONVERSIONS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getStoreVisitsLastClickModelAttributedConversions())); } if (hasResultsConversionsPurchase()) { hash = (37 * hash) + RESULTS_CONVERSIONS_PURCHASE_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getResultsConversionsPurchase())); } if (hasVideoViewRateInFeed()) { hash = (37 * hash) + VIDEO_VIEW_RATE_IN_FEED_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoViewRateInFeed())); } if (hasVideoViewRateInStream()) { hash = (37 * hash) + VIDEO_VIEW_RATE_IN_STREAM_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoViewRateInStream())); } if (hasVideoViewRateShorts()) { hash = (37 * hash) + VIDEO_VIEW_RATE_SHORTS_FIELD_NUMBER; hash = (53 * hash) + com.google.protobuf.Internal.hashLong( java.lang.Double.doubleToLongBits(getVideoViewRateShorts())); } hash = (29 * hash) + getUnknownFields().hashCode(); memoizedHashCode = hash; return hash; } public static com.google.ads.googleads.v18.common.Metrics parseFrom( java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v18.common.Metrics parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { return PARSER.parseFrom(data, extensionRegistry); } public static com.google.ads.googleads.v18.common.Metrics parseFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v18.common.Metrics parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input); } public static com.google.ads.googleads.v18.common.Metrics parseDelimitedFrom( java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseDelimitedWithIOException(PARSER, input, extensionRegistry); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( com.google.protobuf.CodedInputStream input) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input); } public static com.google.ads.googleads.v18.common.Metrics parseFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { return com.google.protobuf.GeneratedMessageV3 .parseWithIOException(PARSER, input, extensionRegistry); } @java.lang.Override public Builder newBuilderForType() { return newBuilder(); } public static Builder newBuilder() { return DEFAULT_INSTANCE.toBuilder(); } public static Builder newBuilder(com.google.ads.googleads.v18.common.Metrics prototype) { return DEFAULT_INSTANCE.toBuilder().mergeFrom(prototype); } @java.lang.Override public Builder toBuilder() { return this == DEFAULT_INSTANCE ? new Builder() : new Builder().mergeFrom(this); } @java.lang.Override protected Builder newBuilderForType( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { Builder builder = new Builder(parent); return builder; } /** *
   * Metrics data.
   * 
* * Protobuf type {@code google.ads.googleads.v18.common.Metrics} */ public static final class Builder extends com.google.protobuf.GeneratedMessageV3.Builder implements // @@protoc_insertion_point(builder_implements:google.ads.googleads.v18.common.Metrics) com.google.ads.googleads.v18.common.MetricsOrBuilder { public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() { return com.google.ads.googleads.v18.common.MetricsProto.internal_static_google_ads_googleads_v18_common_Metrics_descriptor; } @java.lang.Override protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable() { return com.google.ads.googleads.v18.common.MetricsProto.internal_static_google_ads_googleads_v18_common_Metrics_fieldAccessorTable .ensureFieldAccessorsInitialized( com.google.ads.googleads.v18.common.Metrics.class, com.google.ads.googleads.v18.common.Metrics.Builder.class); } // Construct using com.google.ads.googleads.v18.common.Metrics.newBuilder() private Builder() { maybeForceBuilderInitialization(); } private Builder( com.google.protobuf.GeneratedMessageV3.BuilderParent parent) { super(parent); maybeForceBuilderInitialization(); } private void maybeForceBuilderInitialization() { if (com.google.protobuf.GeneratedMessageV3 .alwaysUseFieldBuilders) { getSearchVolumeFieldBuilder(); } } @java.lang.Override public Builder clear() { super.clear(); bitField0_ = 0; bitField1_ = 0; bitField2_ = 0; bitField3_ = 0; bitField4_ = 0; bitField5_ = 0; bitField6_ = 0; absoluteTopImpressionPercentage_ = 0D; activeViewCpm_ = 0D; activeViewCtr_ = 0D; activeViewImpressions_ = 0L; activeViewMeasurability_ = 0D; activeViewMeasurableCostMicros_ = 0L; activeViewMeasurableImpressions_ = 0L; activeViewViewability_ = 0D; allConversionsFromInteractionsRate_ = 0D; allConversionsValue_ = 0D; allConversionsValueByConversionDate_ = 0D; allNewCustomerLifetimeValue_ = 0D; allConversions_ = 0D; allConversionsByConversionDate_ = 0D; allConversionsValuePerCost_ = 0D; allConversionsFromClickToCall_ = 0D; allConversionsFromDirections_ = 0D; allConversionsFromInteractionsValuePerInteraction_ = 0D; allConversionsFromMenu_ = 0D; allConversionsFromOrder_ = 0D; allConversionsFromOtherEngagement_ = 0D; allConversionsFromStoreVisit_ = 0D; allConversionsFromStoreWebsite_ = 0D; auctionInsightSearchAbsoluteTopImpressionPercentage_ = 0D; auctionInsightSearchImpressionShare_ = 0D; auctionInsightSearchOutrankingShare_ = 0D; auctionInsightSearchOverlapRate_ = 0D; auctionInsightSearchPositionAboveRate_ = 0D; auctionInsightSearchTopImpressionPercentage_ = 0D; averageCost_ = 0D; averageCpc_ = 0D; averageCpe_ = 0D; averageCpm_ = 0D; averageCpv_ = 0D; averagePageViews_ = 0D; averageTimeOnSite_ = 0D; benchmarkAverageMaxCpc_ = 0D; biddableAppInstallConversions_ = 0D; biddableAppPostInstallConversions_ = 0D; benchmarkCtr_ = 0D; bounceRate_ = 0D; clicks_ = 0L; combinedClicks_ = 0L; combinedClicksPerQuery_ = 0D; combinedQueries_ = 0L; contentBudgetLostImpressionShare_ = 0D; contentImpressionShare_ = 0D; conversionLastReceivedRequestDateTime_ = ""; conversionLastConversionDate_ = ""; contentRankLostImpressionShare_ = 0D; conversionsFromInteractionsRate_ = 0D; conversionsValue_ = 0D; conversionsValueByConversionDate_ = 0D; newCustomerLifetimeValue_ = 0D; conversionsValuePerCost_ = 0D; conversionsFromInteractionsValuePerInteraction_ = 0D; conversions_ = 0D; conversionsByConversionDate_ = 0D; costMicros_ = 0L; costPerAllConversions_ = 0D; costPerConversion_ = 0D; costPerCurrentModelAttributedConversion_ = 0D; crossDeviceConversions_ = 0D; crossDeviceConversionsValueMicros_ = 0L; ctr_ = 0D; currentModelAttributedConversions_ = 0D; currentModelAttributedConversionsFromInteractionsRate_ = 0D; currentModelAttributedConversionsFromInteractionsValuePerInteraction_ = 0D; currentModelAttributedConversionsValue_ = 0D; currentModelAttributedConversionsValuePerCost_ = 0D; engagementRate_ = 0D; engagements_ = 0L; hotelAverageLeadValueMicros_ = 0D; hotelCommissionRateMicros_ = 0L; hotelExpectedCommissionCost_ = 0D; hotelPriceDifferencePercentage_ = 0D; hotelEligibleImpressions_ = 0L; historicalCreativeQualityScore_ = 0; historicalLandingPageQualityScore_ = 0; historicalQualityScore_ = 0L; historicalSearchPredictedCtr_ = 0; gmailForwards_ = 0L; gmailSaves_ = 0L; gmailSecondaryClicks_ = 0L; impressionsFromStoreReach_ = 0L; impressions_ = 0L; interactionRate_ = 0D; interactions_ = 0L; interactionEventTypes_ = java.util.Collections.emptyList(); bitField2_ = (bitField2_ & ~0x01000000); invalidClickRate_ = 0D; invalidClicks_ = 0L; generalInvalidClickRate_ = 0D; generalInvalidClicks_ = 0L; messageChats_ = 0L; messageImpressions_ = 0L; messageChatRate_ = 0D; mobileFriendlyClicksPercentage_ = 0D; optimizationScoreUplift_ = 0D; optimizationScoreUrl_ = ""; organicClicks_ = 0L; organicClicksPerQuery_ = 0D; organicImpressions_ = 0L; organicImpressionsPerQuery_ = 0D; organicQueries_ = 0L; percentNewVisitors_ = 0D; phoneCalls_ = 0L; phoneImpressions_ = 0L; phoneThroughRate_ = 0D; relativeCtr_ = 0D; searchAbsoluteTopImpressionShare_ = 0D; searchBudgetLostAbsoluteTopImpressionShare_ = 0D; searchBudgetLostImpressionShare_ = 0D; searchBudgetLostTopImpressionShare_ = 0D; searchClickShare_ = 0D; searchExactMatchImpressionShare_ = 0D; searchImpressionShare_ = 0D; searchRankLostAbsoluteTopImpressionShare_ = 0D; searchRankLostImpressionShare_ = 0D; searchRankLostTopImpressionShare_ = 0D; searchTopImpressionShare_ = 0D; searchVolume_ = null; if (searchVolumeBuilder_ != null) { searchVolumeBuilder_.dispose(); searchVolumeBuilder_ = null; } speedScore_ = 0L; averageTargetCpaMicros_ = 0L; averageTargetRoas_ = 0D; topImpressionPercentage_ = 0D; validAcceleratedMobilePagesClicksPercentage_ = 0D; valuePerAllConversions_ = 0D; valuePerAllConversionsByConversionDate_ = 0D; valuePerConversion_ = 0D; valuePerConversionsByConversionDate_ = 0D; valuePerCurrentModelAttributedConversion_ = 0D; videoQuartileP100Rate_ = 0D; videoQuartileP25Rate_ = 0D; videoQuartileP50Rate_ = 0D; videoQuartileP75Rate_ = 0D; videoViewRate_ = 0D; videoViews_ = 0L; viewThroughConversions_ = 0L; skAdNetworkInstalls_ = 0L; skAdNetworkTotalConversions_ = 0L; publisherPurchasedClicks_ = 0L; publisherOrganicClicks_ = 0L; publisherUnknownClicks_ = 0L; allConversionsFromLocationAssetClickToCall_ = 0D; allConversionsFromLocationAssetDirections_ = 0D; allConversionsFromLocationAssetMenu_ = 0D; allConversionsFromLocationAssetOrder_ = 0D; allConversionsFromLocationAssetOtherEngagement_ = 0D; allConversionsFromLocationAssetStoreVisits_ = 0D; allConversionsFromLocationAssetWebsite_ = 0D; eligibleImpressionsFromLocationAssetStoreReach_ = 0L; viewThroughConversionsFromLocationAssetClickToCall_ = 0D; viewThroughConversionsFromLocationAssetDirections_ = 0D; viewThroughConversionsFromLocationAssetMenu_ = 0D; viewThroughConversionsFromLocationAssetOrder_ = 0D; viewThroughConversionsFromLocationAssetOtherEngagement_ = 0D; viewThroughConversionsFromLocationAssetStoreVisits_ = 0D; viewThroughConversionsFromLocationAssetWebsite_ = 0D; orders_ = 0D; averageOrderValueMicros_ = 0L; averageCartSize_ = 0D; costOfGoodsSoldMicros_ = 0L; grossProfitMicros_ = 0L; grossProfitMargin_ = 0D; revenueMicros_ = 0L; unitsSold_ = 0D; crossSellCostOfGoodsSoldMicros_ = 0L; crossSellGrossProfitMicros_ = 0L; crossSellRevenueMicros_ = 0L; crossSellUnitsSold_ = 0D; leadCostOfGoodsSoldMicros_ = 0L; leadGrossProfitMicros_ = 0L; leadRevenueMicros_ = 0L; leadUnitsSold_ = 0D; uniqueUsers_ = 0L; averageImpressionFrequencyPerUser_ = 0D; linkedEntitiesCount_ = 0L; linkedSampleEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleBestPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleGoodPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleLowPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleLearningPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); sampleUnratedPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); assetPinnedTotalCount_ = 0L; assetPinnedAsHeadlinePositionOneCount_ = 0L; assetPinnedAsHeadlinePositionTwoCount_ = 0L; assetPinnedAsHeadlinePositionThreeCount_ = 0L; assetPinnedAsDescriptionPositionOneCount_ = 0L; assetPinnedAsDescriptionPositionTwoCount_ = 0L; assetBestPerformanceImpressionPercentage_ = 0D; assetGoodPerformanceImpressionPercentage_ = 0D; assetLowPerformanceImpressionPercentage_ = 0D; assetLearningPerformanceImpressionPercentage_ = 0D; assetUnratedPerformanceImpressionPercentage_ = 0D; assetBestPerformanceCostPercentage_ = 0D; assetGoodPerformanceCostPercentage_ = 0D; assetLowPerformanceCostPercentage_ = 0D; assetLearningPerformanceCostPercentage_ = 0D; assetUnratedPerformanceCostPercentage_ = 0D; storeVisitsLastClickModelAttributedConversions_ = 0D; resultsConversionsPurchase_ = 0D; videoViewRateInFeed_ = 0D; videoViewRateInStream_ = 0D; videoViewRateShorts_ = 0D; return this; } @java.lang.Override public com.google.protobuf.Descriptors.Descriptor getDescriptorForType() { return com.google.ads.googleads.v18.common.MetricsProto.internal_static_google_ads_googleads_v18_common_Metrics_descriptor; } @java.lang.Override public com.google.ads.googleads.v18.common.Metrics getDefaultInstanceForType() { return com.google.ads.googleads.v18.common.Metrics.getDefaultInstance(); } @java.lang.Override public com.google.ads.googleads.v18.common.Metrics build() { com.google.ads.googleads.v18.common.Metrics result = buildPartial(); if (!result.isInitialized()) { throw newUninitializedMessageException(result); } return result; } @java.lang.Override public com.google.ads.googleads.v18.common.Metrics buildPartial() { com.google.ads.googleads.v18.common.Metrics result = new com.google.ads.googleads.v18.common.Metrics(this); buildPartialRepeatedFields(result); if (bitField0_ != 0) { buildPartial0(result); } if (bitField1_ != 0) { buildPartial1(result); } if (bitField2_ != 0) { buildPartial2(result); } if (bitField3_ != 0) { buildPartial3(result); } if (bitField4_ != 0) { buildPartial4(result); } if (bitField5_ != 0) { buildPartial5(result); } if (bitField6_ != 0) { buildPartial6(result); } onBuilt(); return result; } private void buildPartialRepeatedFields(com.google.ads.googleads.v18.common.Metrics result) { if (((bitField2_ & 0x01000000) != 0)) { interactionEventTypes_ = java.util.Collections.unmodifiableList(interactionEventTypes_); bitField2_ = (bitField2_ & ~0x01000000); } result.interactionEventTypes_ = interactionEventTypes_; } private void buildPartial0(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField0_ = bitField0_; int to_bitField0_ = 0; if (((from_bitField0_ & 0x00000001) != 0)) { result.absoluteTopImpressionPercentage_ = absoluteTopImpressionPercentage_; to_bitField0_ |= 0x00000001; } if (((from_bitField0_ & 0x00000002) != 0)) { result.activeViewCpm_ = activeViewCpm_; to_bitField0_ |= 0x00000002; } if (((from_bitField0_ & 0x00000004) != 0)) { result.activeViewCtr_ = activeViewCtr_; to_bitField0_ |= 0x00000004; } if (((from_bitField0_ & 0x00000008) != 0)) { result.activeViewImpressions_ = activeViewImpressions_; to_bitField0_ |= 0x00000008; } if (((from_bitField0_ & 0x00000010) != 0)) { result.activeViewMeasurability_ = activeViewMeasurability_; to_bitField0_ |= 0x00000010; } if (((from_bitField0_ & 0x00000020) != 0)) { result.activeViewMeasurableCostMicros_ = activeViewMeasurableCostMicros_; to_bitField0_ |= 0x00000020; } if (((from_bitField0_ & 0x00000040) != 0)) { result.activeViewMeasurableImpressions_ = activeViewMeasurableImpressions_; to_bitField0_ |= 0x00000040; } if (((from_bitField0_ & 0x00000080) != 0)) { result.activeViewViewability_ = activeViewViewability_; to_bitField0_ |= 0x00000080; } if (((from_bitField0_ & 0x00000100) != 0)) { result.allConversionsFromInteractionsRate_ = allConversionsFromInteractionsRate_; to_bitField0_ |= 0x00000100; } if (((from_bitField0_ & 0x00000200) != 0)) { result.allConversionsValue_ = allConversionsValue_; to_bitField0_ |= 0x00000200; } if (((from_bitField0_ & 0x00000400) != 0)) { result.allConversionsValueByConversionDate_ = allConversionsValueByConversionDate_; to_bitField0_ |= 0x00000400; } if (((from_bitField0_ & 0x00000800) != 0)) { result.allNewCustomerLifetimeValue_ = allNewCustomerLifetimeValue_; to_bitField0_ |= 0x00000800; } if (((from_bitField0_ & 0x00001000) != 0)) { result.allConversions_ = allConversions_; to_bitField0_ |= 0x00001000; } if (((from_bitField0_ & 0x00002000) != 0)) { result.allConversionsByConversionDate_ = allConversionsByConversionDate_; to_bitField0_ |= 0x00002000; } if (((from_bitField0_ & 0x00004000) != 0)) { result.allConversionsValuePerCost_ = allConversionsValuePerCost_; to_bitField0_ |= 0x00004000; } if (((from_bitField0_ & 0x00008000) != 0)) { result.allConversionsFromClickToCall_ = allConversionsFromClickToCall_; to_bitField0_ |= 0x00008000; } if (((from_bitField0_ & 0x00010000) != 0)) { result.allConversionsFromDirections_ = allConversionsFromDirections_; to_bitField0_ |= 0x00010000; } if (((from_bitField0_ & 0x00020000) != 0)) { result.allConversionsFromInteractionsValuePerInteraction_ = allConversionsFromInteractionsValuePerInteraction_; to_bitField0_ |= 0x00020000; } if (((from_bitField0_ & 0x00040000) != 0)) { result.allConversionsFromMenu_ = allConversionsFromMenu_; to_bitField0_ |= 0x00040000; } if (((from_bitField0_ & 0x00080000) != 0)) { result.allConversionsFromOrder_ = allConversionsFromOrder_; to_bitField0_ |= 0x00080000; } if (((from_bitField0_ & 0x00100000) != 0)) { result.allConversionsFromOtherEngagement_ = allConversionsFromOtherEngagement_; to_bitField0_ |= 0x00100000; } if (((from_bitField0_ & 0x00200000) != 0)) { result.allConversionsFromStoreVisit_ = allConversionsFromStoreVisit_; to_bitField0_ |= 0x00200000; } if (((from_bitField0_ & 0x00400000) != 0)) { result.allConversionsFromStoreWebsite_ = allConversionsFromStoreWebsite_; to_bitField0_ |= 0x00400000; } if (((from_bitField0_ & 0x00800000) != 0)) { result.auctionInsightSearchAbsoluteTopImpressionPercentage_ = auctionInsightSearchAbsoluteTopImpressionPercentage_; to_bitField0_ |= 0x00800000; } if (((from_bitField0_ & 0x01000000) != 0)) { result.auctionInsightSearchImpressionShare_ = auctionInsightSearchImpressionShare_; to_bitField0_ |= 0x01000000; } if (((from_bitField0_ & 0x02000000) != 0)) { result.auctionInsightSearchOutrankingShare_ = auctionInsightSearchOutrankingShare_; to_bitField0_ |= 0x02000000; } if (((from_bitField0_ & 0x04000000) != 0)) { result.auctionInsightSearchOverlapRate_ = auctionInsightSearchOverlapRate_; to_bitField0_ |= 0x04000000; } if (((from_bitField0_ & 0x08000000) != 0)) { result.auctionInsightSearchPositionAboveRate_ = auctionInsightSearchPositionAboveRate_; to_bitField0_ |= 0x08000000; } if (((from_bitField0_ & 0x10000000) != 0)) { result.auctionInsightSearchTopImpressionPercentage_ = auctionInsightSearchTopImpressionPercentage_; to_bitField0_ |= 0x10000000; } if (((from_bitField0_ & 0x20000000) != 0)) { result.averageCost_ = averageCost_; to_bitField0_ |= 0x20000000; } if (((from_bitField0_ & 0x40000000) != 0)) { result.averageCpc_ = averageCpc_; to_bitField0_ |= 0x40000000; } if (((from_bitField0_ & 0x80000000) != 0)) { result.averageCpe_ = averageCpe_; to_bitField0_ |= 0x80000000; } result.bitField0_ |= to_bitField0_; } private void buildPartial1(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField1_ = bitField1_; int to_bitField1_ = 0; if (((from_bitField1_ & 0x00000001) != 0)) { result.averageCpm_ = averageCpm_; to_bitField1_ |= 0x00000001; } if (((from_bitField1_ & 0x00000002) != 0)) { result.averageCpv_ = averageCpv_; to_bitField1_ |= 0x00000002; } if (((from_bitField1_ & 0x00000004) != 0)) { result.averagePageViews_ = averagePageViews_; to_bitField1_ |= 0x00000004; } if (((from_bitField1_ & 0x00000008) != 0)) { result.averageTimeOnSite_ = averageTimeOnSite_; to_bitField1_ |= 0x00000008; } if (((from_bitField1_ & 0x00000010) != 0)) { result.benchmarkAverageMaxCpc_ = benchmarkAverageMaxCpc_; to_bitField1_ |= 0x00000010; } if (((from_bitField1_ & 0x00000020) != 0)) { result.biddableAppInstallConversions_ = biddableAppInstallConversions_; to_bitField1_ |= 0x00000020; } if (((from_bitField1_ & 0x00000040) != 0)) { result.biddableAppPostInstallConversions_ = biddableAppPostInstallConversions_; to_bitField1_ |= 0x00000040; } if (((from_bitField1_ & 0x00000080) != 0)) { result.benchmarkCtr_ = benchmarkCtr_; to_bitField1_ |= 0x00000080; } if (((from_bitField1_ & 0x00000100) != 0)) { result.bounceRate_ = bounceRate_; to_bitField1_ |= 0x00000100; } if (((from_bitField1_ & 0x00000200) != 0)) { result.clicks_ = clicks_; to_bitField1_ |= 0x00000200; } if (((from_bitField1_ & 0x00000400) != 0)) { result.combinedClicks_ = combinedClicks_; to_bitField1_ |= 0x00000400; } if (((from_bitField1_ & 0x00000800) != 0)) { result.combinedClicksPerQuery_ = combinedClicksPerQuery_; to_bitField1_ |= 0x00000800; } if (((from_bitField1_ & 0x00001000) != 0)) { result.combinedQueries_ = combinedQueries_; to_bitField1_ |= 0x00001000; } if (((from_bitField1_ & 0x00002000) != 0)) { result.contentBudgetLostImpressionShare_ = contentBudgetLostImpressionShare_; to_bitField1_ |= 0x00002000; } if (((from_bitField1_ & 0x00004000) != 0)) { result.contentImpressionShare_ = contentImpressionShare_; to_bitField1_ |= 0x00004000; } if (((from_bitField1_ & 0x00008000) != 0)) { result.conversionLastReceivedRequestDateTime_ = conversionLastReceivedRequestDateTime_; to_bitField1_ |= 0x00008000; } if (((from_bitField1_ & 0x00010000) != 0)) { result.conversionLastConversionDate_ = conversionLastConversionDate_; to_bitField1_ |= 0x00010000; } if (((from_bitField1_ & 0x00020000) != 0)) { result.contentRankLostImpressionShare_ = contentRankLostImpressionShare_; to_bitField1_ |= 0x00020000; } if (((from_bitField1_ & 0x00040000) != 0)) { result.conversionsFromInteractionsRate_ = conversionsFromInteractionsRate_; to_bitField1_ |= 0x00040000; } if (((from_bitField1_ & 0x00080000) != 0)) { result.conversionsValue_ = conversionsValue_; to_bitField1_ |= 0x00080000; } if (((from_bitField1_ & 0x00100000) != 0)) { result.conversionsValueByConversionDate_ = conversionsValueByConversionDate_; to_bitField1_ |= 0x00100000; } if (((from_bitField1_ & 0x00200000) != 0)) { result.newCustomerLifetimeValue_ = newCustomerLifetimeValue_; to_bitField1_ |= 0x00200000; } if (((from_bitField1_ & 0x00400000) != 0)) { result.conversionsValuePerCost_ = conversionsValuePerCost_; to_bitField1_ |= 0x00400000; } if (((from_bitField1_ & 0x00800000) != 0)) { result.conversionsFromInteractionsValuePerInteraction_ = conversionsFromInteractionsValuePerInteraction_; to_bitField1_ |= 0x00800000; } if (((from_bitField1_ & 0x01000000) != 0)) { result.conversions_ = conversions_; to_bitField1_ |= 0x01000000; } if (((from_bitField1_ & 0x02000000) != 0)) { result.conversionsByConversionDate_ = conversionsByConversionDate_; to_bitField1_ |= 0x02000000; } if (((from_bitField1_ & 0x04000000) != 0)) { result.costMicros_ = costMicros_; to_bitField1_ |= 0x04000000; } if (((from_bitField1_ & 0x08000000) != 0)) { result.costPerAllConversions_ = costPerAllConversions_; to_bitField1_ |= 0x08000000; } if (((from_bitField1_ & 0x10000000) != 0)) { result.costPerConversion_ = costPerConversion_; to_bitField1_ |= 0x10000000; } if (((from_bitField1_ & 0x20000000) != 0)) { result.costPerCurrentModelAttributedConversion_ = costPerCurrentModelAttributedConversion_; to_bitField1_ |= 0x20000000; } if (((from_bitField1_ & 0x40000000) != 0)) { result.crossDeviceConversions_ = crossDeviceConversions_; to_bitField1_ |= 0x40000000; } if (((from_bitField1_ & 0x80000000) != 0)) { result.crossDeviceConversionsValueMicros_ = crossDeviceConversionsValueMicros_; to_bitField1_ |= 0x80000000; } result.bitField1_ |= to_bitField1_; } private void buildPartial2(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField2_ = bitField2_; int to_bitField2_ = 0; if (((from_bitField2_ & 0x00000001) != 0)) { result.ctr_ = ctr_; to_bitField2_ |= 0x00000001; } if (((from_bitField2_ & 0x00000002) != 0)) { result.currentModelAttributedConversions_ = currentModelAttributedConversions_; to_bitField2_ |= 0x00000002; } if (((from_bitField2_ & 0x00000004) != 0)) { result.currentModelAttributedConversionsFromInteractionsRate_ = currentModelAttributedConversionsFromInteractionsRate_; to_bitField2_ |= 0x00000004; } if (((from_bitField2_ & 0x00000008) != 0)) { result.currentModelAttributedConversionsFromInteractionsValuePerInteraction_ = currentModelAttributedConversionsFromInteractionsValuePerInteraction_; to_bitField2_ |= 0x00000008; } if (((from_bitField2_ & 0x00000010) != 0)) { result.currentModelAttributedConversionsValue_ = currentModelAttributedConversionsValue_; to_bitField2_ |= 0x00000010; } if (((from_bitField2_ & 0x00000020) != 0)) { result.currentModelAttributedConversionsValuePerCost_ = currentModelAttributedConversionsValuePerCost_; to_bitField2_ |= 0x00000020; } if (((from_bitField2_ & 0x00000040) != 0)) { result.engagementRate_ = engagementRate_; to_bitField2_ |= 0x00000040; } if (((from_bitField2_ & 0x00000080) != 0)) { result.engagements_ = engagements_; to_bitField2_ |= 0x00000080; } if (((from_bitField2_ & 0x00000100) != 0)) { result.hotelAverageLeadValueMicros_ = hotelAverageLeadValueMicros_; to_bitField2_ |= 0x00000100; } if (((from_bitField2_ & 0x00000200) != 0)) { result.hotelCommissionRateMicros_ = hotelCommissionRateMicros_; to_bitField2_ |= 0x00000200; } if (((from_bitField2_ & 0x00000400) != 0)) { result.hotelExpectedCommissionCost_ = hotelExpectedCommissionCost_; to_bitField2_ |= 0x00000400; } if (((from_bitField2_ & 0x00000800) != 0)) { result.hotelPriceDifferencePercentage_ = hotelPriceDifferencePercentage_; to_bitField2_ |= 0x00000800; } if (((from_bitField2_ & 0x00001000) != 0)) { result.hotelEligibleImpressions_ = hotelEligibleImpressions_; to_bitField2_ |= 0x00001000; } if (((from_bitField2_ & 0x00002000) != 0)) { result.historicalCreativeQualityScore_ = historicalCreativeQualityScore_; } if (((from_bitField2_ & 0x00004000) != 0)) { result.historicalLandingPageQualityScore_ = historicalLandingPageQualityScore_; } if (((from_bitField2_ & 0x00008000) != 0)) { result.historicalQualityScore_ = historicalQualityScore_; to_bitField2_ |= 0x00002000; } if (((from_bitField2_ & 0x00010000) != 0)) { result.historicalSearchPredictedCtr_ = historicalSearchPredictedCtr_; } if (((from_bitField2_ & 0x00020000) != 0)) { result.gmailForwards_ = gmailForwards_; to_bitField2_ |= 0x00004000; } if (((from_bitField2_ & 0x00040000) != 0)) { result.gmailSaves_ = gmailSaves_; to_bitField2_ |= 0x00008000; } if (((from_bitField2_ & 0x00080000) != 0)) { result.gmailSecondaryClicks_ = gmailSecondaryClicks_; to_bitField2_ |= 0x00010000; } if (((from_bitField2_ & 0x00100000) != 0)) { result.impressionsFromStoreReach_ = impressionsFromStoreReach_; to_bitField2_ |= 0x00020000; } if (((from_bitField2_ & 0x00200000) != 0)) { result.impressions_ = impressions_; to_bitField2_ |= 0x00040000; } if (((from_bitField2_ & 0x00400000) != 0)) { result.interactionRate_ = interactionRate_; to_bitField2_ |= 0x00080000; } if (((from_bitField2_ & 0x00800000) != 0)) { result.interactions_ = interactions_; to_bitField2_ |= 0x00100000; } if (((from_bitField2_ & 0x02000000) != 0)) { result.invalidClickRate_ = invalidClickRate_; to_bitField2_ |= 0x00200000; } if (((from_bitField2_ & 0x04000000) != 0)) { result.invalidClicks_ = invalidClicks_; to_bitField2_ |= 0x00400000; } if (((from_bitField2_ & 0x08000000) != 0)) { result.generalInvalidClickRate_ = generalInvalidClickRate_; to_bitField2_ |= 0x00800000; } if (((from_bitField2_ & 0x10000000) != 0)) { result.generalInvalidClicks_ = generalInvalidClicks_; to_bitField2_ |= 0x01000000; } if (((from_bitField2_ & 0x20000000) != 0)) { result.messageChats_ = messageChats_; to_bitField2_ |= 0x02000000; } if (((from_bitField2_ & 0x40000000) != 0)) { result.messageImpressions_ = messageImpressions_; to_bitField2_ |= 0x04000000; } if (((from_bitField2_ & 0x80000000) != 0)) { result.messageChatRate_ = messageChatRate_; to_bitField2_ |= 0x08000000; } result.bitField2_ |= to_bitField2_; } private void buildPartial3(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField3_ = bitField3_; int to_bitField2_ = 0; if (((from_bitField3_ & 0x00000001) != 0)) { result.mobileFriendlyClicksPercentage_ = mobileFriendlyClicksPercentage_; to_bitField2_ |= 0x10000000; } if (((from_bitField3_ & 0x00000002) != 0)) { result.optimizationScoreUplift_ = optimizationScoreUplift_; to_bitField2_ |= 0x20000000; } if (((from_bitField3_ & 0x00000004) != 0)) { result.optimizationScoreUrl_ = optimizationScoreUrl_; to_bitField2_ |= 0x40000000; } if (((from_bitField3_ & 0x00000008) != 0)) { result.organicClicks_ = organicClicks_; to_bitField2_ |= 0x80000000; } int to_bitField3_ = 0; if (((from_bitField3_ & 0x00000010) != 0)) { result.organicClicksPerQuery_ = organicClicksPerQuery_; to_bitField3_ |= 0x00000001; } if (((from_bitField3_ & 0x00000020) != 0)) { result.organicImpressions_ = organicImpressions_; to_bitField3_ |= 0x00000002; } if (((from_bitField3_ & 0x00000040) != 0)) { result.organicImpressionsPerQuery_ = organicImpressionsPerQuery_; to_bitField3_ |= 0x00000004; } if (((from_bitField3_ & 0x00000080) != 0)) { result.organicQueries_ = organicQueries_; to_bitField3_ |= 0x00000008; } if (((from_bitField3_ & 0x00000100) != 0)) { result.percentNewVisitors_ = percentNewVisitors_; to_bitField3_ |= 0x00000010; } if (((from_bitField3_ & 0x00000200) != 0)) { result.phoneCalls_ = phoneCalls_; to_bitField3_ |= 0x00000020; } if (((from_bitField3_ & 0x00000400) != 0)) { result.phoneImpressions_ = phoneImpressions_; to_bitField3_ |= 0x00000040; } if (((from_bitField3_ & 0x00000800) != 0)) { result.phoneThroughRate_ = phoneThroughRate_; to_bitField3_ |= 0x00000080; } if (((from_bitField3_ & 0x00001000) != 0)) { result.relativeCtr_ = relativeCtr_; to_bitField3_ |= 0x00000100; } if (((from_bitField3_ & 0x00002000) != 0)) { result.searchAbsoluteTopImpressionShare_ = searchAbsoluteTopImpressionShare_; to_bitField3_ |= 0x00000200; } if (((from_bitField3_ & 0x00004000) != 0)) { result.searchBudgetLostAbsoluteTopImpressionShare_ = searchBudgetLostAbsoluteTopImpressionShare_; to_bitField3_ |= 0x00000400; } if (((from_bitField3_ & 0x00008000) != 0)) { result.searchBudgetLostImpressionShare_ = searchBudgetLostImpressionShare_; to_bitField3_ |= 0x00000800; } if (((from_bitField3_ & 0x00010000) != 0)) { result.searchBudgetLostTopImpressionShare_ = searchBudgetLostTopImpressionShare_; to_bitField3_ |= 0x00001000; } if (((from_bitField3_ & 0x00020000) != 0)) { result.searchClickShare_ = searchClickShare_; to_bitField3_ |= 0x00002000; } if (((from_bitField3_ & 0x00040000) != 0)) { result.searchExactMatchImpressionShare_ = searchExactMatchImpressionShare_; to_bitField3_ |= 0x00004000; } if (((from_bitField3_ & 0x00080000) != 0)) { result.searchImpressionShare_ = searchImpressionShare_; to_bitField3_ |= 0x00008000; } if (((from_bitField3_ & 0x00100000) != 0)) { result.searchRankLostAbsoluteTopImpressionShare_ = searchRankLostAbsoluteTopImpressionShare_; to_bitField3_ |= 0x00010000; } if (((from_bitField3_ & 0x00200000) != 0)) { result.searchRankLostImpressionShare_ = searchRankLostImpressionShare_; to_bitField3_ |= 0x00020000; } if (((from_bitField3_ & 0x00400000) != 0)) { result.searchRankLostTopImpressionShare_ = searchRankLostTopImpressionShare_; to_bitField3_ |= 0x00040000; } if (((from_bitField3_ & 0x00800000) != 0)) { result.searchTopImpressionShare_ = searchTopImpressionShare_; to_bitField3_ |= 0x00080000; } if (((from_bitField3_ & 0x01000000) != 0)) { result.searchVolume_ = searchVolumeBuilder_ == null ? searchVolume_ : searchVolumeBuilder_.build(); to_bitField3_ |= 0x00100000; } if (((from_bitField3_ & 0x02000000) != 0)) { result.speedScore_ = speedScore_; to_bitField3_ |= 0x00200000; } if (((from_bitField3_ & 0x04000000) != 0)) { result.averageTargetCpaMicros_ = averageTargetCpaMicros_; to_bitField3_ |= 0x00400000; } if (((from_bitField3_ & 0x08000000) != 0)) { result.averageTargetRoas_ = averageTargetRoas_; to_bitField3_ |= 0x00800000; } if (((from_bitField3_ & 0x10000000) != 0)) { result.topImpressionPercentage_ = topImpressionPercentage_; to_bitField3_ |= 0x01000000; } if (((from_bitField3_ & 0x20000000) != 0)) { result.validAcceleratedMobilePagesClicksPercentage_ = validAcceleratedMobilePagesClicksPercentage_; to_bitField3_ |= 0x02000000; } if (((from_bitField3_ & 0x40000000) != 0)) { result.valuePerAllConversions_ = valuePerAllConversions_; to_bitField3_ |= 0x04000000; } if (((from_bitField3_ & 0x80000000) != 0)) { result.valuePerAllConversionsByConversionDate_ = valuePerAllConversionsByConversionDate_; to_bitField3_ |= 0x08000000; } result.bitField2_ |= to_bitField2_; result.bitField3_ |= to_bitField3_; } private void buildPartial4(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField4_ = bitField4_; int to_bitField3_ = 0; if (((from_bitField4_ & 0x00000001) != 0)) { result.valuePerConversion_ = valuePerConversion_; to_bitField3_ |= 0x10000000; } if (((from_bitField4_ & 0x00000002) != 0)) { result.valuePerConversionsByConversionDate_ = valuePerConversionsByConversionDate_; to_bitField3_ |= 0x20000000; } if (((from_bitField4_ & 0x00000004) != 0)) { result.valuePerCurrentModelAttributedConversion_ = valuePerCurrentModelAttributedConversion_; to_bitField3_ |= 0x40000000; } if (((from_bitField4_ & 0x00000008) != 0)) { result.videoQuartileP100Rate_ = videoQuartileP100Rate_; to_bitField3_ |= 0x80000000; } int to_bitField4_ = 0; if (((from_bitField4_ & 0x00000010) != 0)) { result.videoQuartileP25Rate_ = videoQuartileP25Rate_; to_bitField4_ |= 0x00000001; } if (((from_bitField4_ & 0x00000020) != 0)) { result.videoQuartileP50Rate_ = videoQuartileP50Rate_; to_bitField4_ |= 0x00000002; } if (((from_bitField4_ & 0x00000040) != 0)) { result.videoQuartileP75Rate_ = videoQuartileP75Rate_; to_bitField4_ |= 0x00000004; } if (((from_bitField4_ & 0x00000080) != 0)) { result.videoViewRate_ = videoViewRate_; to_bitField4_ |= 0x00000008; } if (((from_bitField4_ & 0x00000100) != 0)) { result.videoViews_ = videoViews_; to_bitField4_ |= 0x00000010; } if (((from_bitField4_ & 0x00000200) != 0)) { result.viewThroughConversions_ = viewThroughConversions_; to_bitField4_ |= 0x00000020; } if (((from_bitField4_ & 0x00000400) != 0)) { result.skAdNetworkInstalls_ = skAdNetworkInstalls_; } if (((from_bitField4_ & 0x00000800) != 0)) { result.skAdNetworkTotalConversions_ = skAdNetworkTotalConversions_; } if (((from_bitField4_ & 0x00001000) != 0)) { result.publisherPurchasedClicks_ = publisherPurchasedClicks_; } if (((from_bitField4_ & 0x00002000) != 0)) { result.publisherOrganicClicks_ = publisherOrganicClicks_; } if (((from_bitField4_ & 0x00004000) != 0)) { result.publisherUnknownClicks_ = publisherUnknownClicks_; } if (((from_bitField4_ & 0x00008000) != 0)) { result.allConversionsFromLocationAssetClickToCall_ = allConversionsFromLocationAssetClickToCall_; to_bitField4_ |= 0x00000040; } if (((from_bitField4_ & 0x00010000) != 0)) { result.allConversionsFromLocationAssetDirections_ = allConversionsFromLocationAssetDirections_; to_bitField4_ |= 0x00000080; } if (((from_bitField4_ & 0x00020000) != 0)) { result.allConversionsFromLocationAssetMenu_ = allConversionsFromLocationAssetMenu_; to_bitField4_ |= 0x00000100; } if (((from_bitField4_ & 0x00040000) != 0)) { result.allConversionsFromLocationAssetOrder_ = allConversionsFromLocationAssetOrder_; to_bitField4_ |= 0x00000200; } if (((from_bitField4_ & 0x00080000) != 0)) { result.allConversionsFromLocationAssetOtherEngagement_ = allConversionsFromLocationAssetOtherEngagement_; to_bitField4_ |= 0x00000400; } if (((from_bitField4_ & 0x00100000) != 0)) { result.allConversionsFromLocationAssetStoreVisits_ = allConversionsFromLocationAssetStoreVisits_; to_bitField4_ |= 0x00000800; } if (((from_bitField4_ & 0x00200000) != 0)) { result.allConversionsFromLocationAssetWebsite_ = allConversionsFromLocationAssetWebsite_; to_bitField4_ |= 0x00001000; } if (((from_bitField4_ & 0x00400000) != 0)) { result.eligibleImpressionsFromLocationAssetStoreReach_ = eligibleImpressionsFromLocationAssetStoreReach_; to_bitField4_ |= 0x00002000; } if (((from_bitField4_ & 0x00800000) != 0)) { result.viewThroughConversionsFromLocationAssetClickToCall_ = viewThroughConversionsFromLocationAssetClickToCall_; to_bitField4_ |= 0x00004000; } if (((from_bitField4_ & 0x01000000) != 0)) { result.viewThroughConversionsFromLocationAssetDirections_ = viewThroughConversionsFromLocationAssetDirections_; to_bitField4_ |= 0x00008000; } if (((from_bitField4_ & 0x02000000) != 0)) { result.viewThroughConversionsFromLocationAssetMenu_ = viewThroughConversionsFromLocationAssetMenu_; to_bitField4_ |= 0x00010000; } if (((from_bitField4_ & 0x04000000) != 0)) { result.viewThroughConversionsFromLocationAssetOrder_ = viewThroughConversionsFromLocationAssetOrder_; to_bitField4_ |= 0x00020000; } if (((from_bitField4_ & 0x08000000) != 0)) { result.viewThroughConversionsFromLocationAssetOtherEngagement_ = viewThroughConversionsFromLocationAssetOtherEngagement_; to_bitField4_ |= 0x00040000; } if (((from_bitField4_ & 0x10000000) != 0)) { result.viewThroughConversionsFromLocationAssetStoreVisits_ = viewThroughConversionsFromLocationAssetStoreVisits_; to_bitField4_ |= 0x00080000; } if (((from_bitField4_ & 0x20000000) != 0)) { result.viewThroughConversionsFromLocationAssetWebsite_ = viewThroughConversionsFromLocationAssetWebsite_; to_bitField4_ |= 0x00100000; } if (((from_bitField4_ & 0x40000000) != 0)) { result.orders_ = orders_; to_bitField4_ |= 0x00200000; } if (((from_bitField4_ & 0x80000000) != 0)) { result.averageOrderValueMicros_ = averageOrderValueMicros_; to_bitField4_ |= 0x00400000; } result.bitField3_ |= to_bitField3_; result.bitField4_ |= to_bitField4_; } private void buildPartial5(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField5_ = bitField5_; int to_bitField4_ = 0; if (((from_bitField5_ & 0x00000001) != 0)) { result.averageCartSize_ = averageCartSize_; to_bitField4_ |= 0x00800000; } if (((from_bitField5_ & 0x00000002) != 0)) { result.costOfGoodsSoldMicros_ = costOfGoodsSoldMicros_; to_bitField4_ |= 0x01000000; } if (((from_bitField5_ & 0x00000004) != 0)) { result.grossProfitMicros_ = grossProfitMicros_; to_bitField4_ |= 0x02000000; } if (((from_bitField5_ & 0x00000008) != 0)) { result.grossProfitMargin_ = grossProfitMargin_; to_bitField4_ |= 0x04000000; } if (((from_bitField5_ & 0x00000010) != 0)) { result.revenueMicros_ = revenueMicros_; to_bitField4_ |= 0x08000000; } if (((from_bitField5_ & 0x00000020) != 0)) { result.unitsSold_ = unitsSold_; to_bitField4_ |= 0x10000000; } if (((from_bitField5_ & 0x00000040) != 0)) { result.crossSellCostOfGoodsSoldMicros_ = crossSellCostOfGoodsSoldMicros_; to_bitField4_ |= 0x20000000; } if (((from_bitField5_ & 0x00000080) != 0)) { result.crossSellGrossProfitMicros_ = crossSellGrossProfitMicros_; to_bitField4_ |= 0x40000000; } if (((from_bitField5_ & 0x00000100) != 0)) { result.crossSellRevenueMicros_ = crossSellRevenueMicros_; to_bitField4_ |= 0x80000000; } int to_bitField5_ = 0; if (((from_bitField5_ & 0x00000200) != 0)) { result.crossSellUnitsSold_ = crossSellUnitsSold_; to_bitField5_ |= 0x00000001; } if (((from_bitField5_ & 0x00000400) != 0)) { result.leadCostOfGoodsSoldMicros_ = leadCostOfGoodsSoldMicros_; to_bitField5_ |= 0x00000002; } if (((from_bitField5_ & 0x00000800) != 0)) { result.leadGrossProfitMicros_ = leadGrossProfitMicros_; to_bitField5_ |= 0x00000004; } if (((from_bitField5_ & 0x00001000) != 0)) { result.leadRevenueMicros_ = leadRevenueMicros_; to_bitField5_ |= 0x00000008; } if (((from_bitField5_ & 0x00002000) != 0)) { result.leadUnitsSold_ = leadUnitsSold_; to_bitField5_ |= 0x00000010; } if (((from_bitField5_ & 0x00004000) != 0)) { result.uniqueUsers_ = uniqueUsers_; to_bitField5_ |= 0x00000020; } if (((from_bitField5_ & 0x00008000) != 0)) { result.averageImpressionFrequencyPerUser_ = averageImpressionFrequencyPerUser_; to_bitField5_ |= 0x00000040; } if (((from_bitField5_ & 0x00010000) != 0)) { result.linkedEntitiesCount_ = linkedEntitiesCount_; to_bitField5_ |= 0x00000080; } if (((from_bitField5_ & 0x00020000) != 0)) { linkedSampleEntities_.makeImmutable(); result.linkedSampleEntities_ = linkedSampleEntities_; } if (((from_bitField5_ & 0x00040000) != 0)) { sampleBestPerformanceEntities_.makeImmutable(); result.sampleBestPerformanceEntities_ = sampleBestPerformanceEntities_; } if (((from_bitField5_ & 0x00080000) != 0)) { sampleGoodPerformanceEntities_.makeImmutable(); result.sampleGoodPerformanceEntities_ = sampleGoodPerformanceEntities_; } if (((from_bitField5_ & 0x00100000) != 0)) { sampleLowPerformanceEntities_.makeImmutable(); result.sampleLowPerformanceEntities_ = sampleLowPerformanceEntities_; } if (((from_bitField5_ & 0x00200000) != 0)) { sampleLearningPerformanceEntities_.makeImmutable(); result.sampleLearningPerformanceEntities_ = sampleLearningPerformanceEntities_; } if (((from_bitField5_ & 0x00400000) != 0)) { sampleUnratedPerformanceEntities_.makeImmutable(); result.sampleUnratedPerformanceEntities_ = sampleUnratedPerformanceEntities_; } if (((from_bitField5_ & 0x00800000) != 0)) { result.assetPinnedTotalCount_ = assetPinnedTotalCount_; to_bitField5_ |= 0x00000100; } if (((from_bitField5_ & 0x01000000) != 0)) { result.assetPinnedAsHeadlinePositionOneCount_ = assetPinnedAsHeadlinePositionOneCount_; to_bitField5_ |= 0x00000200; } if (((from_bitField5_ & 0x02000000) != 0)) { result.assetPinnedAsHeadlinePositionTwoCount_ = assetPinnedAsHeadlinePositionTwoCount_; to_bitField5_ |= 0x00000400; } if (((from_bitField5_ & 0x04000000) != 0)) { result.assetPinnedAsHeadlinePositionThreeCount_ = assetPinnedAsHeadlinePositionThreeCount_; to_bitField5_ |= 0x00000800; } if (((from_bitField5_ & 0x08000000) != 0)) { result.assetPinnedAsDescriptionPositionOneCount_ = assetPinnedAsDescriptionPositionOneCount_; to_bitField5_ |= 0x00001000; } if (((from_bitField5_ & 0x10000000) != 0)) { result.assetPinnedAsDescriptionPositionTwoCount_ = assetPinnedAsDescriptionPositionTwoCount_; to_bitField5_ |= 0x00002000; } if (((from_bitField5_ & 0x20000000) != 0)) { result.assetBestPerformanceImpressionPercentage_ = assetBestPerformanceImpressionPercentage_; to_bitField5_ |= 0x00004000; } if (((from_bitField5_ & 0x40000000) != 0)) { result.assetGoodPerformanceImpressionPercentage_ = assetGoodPerformanceImpressionPercentage_; to_bitField5_ |= 0x00008000; } if (((from_bitField5_ & 0x80000000) != 0)) { result.assetLowPerformanceImpressionPercentage_ = assetLowPerformanceImpressionPercentage_; to_bitField5_ |= 0x00010000; } result.bitField4_ |= to_bitField4_; result.bitField5_ |= to_bitField5_; } private void buildPartial6(com.google.ads.googleads.v18.common.Metrics result) { int from_bitField6_ = bitField6_; int to_bitField5_ = 0; if (((from_bitField6_ & 0x00000001) != 0)) { result.assetLearningPerformanceImpressionPercentage_ = assetLearningPerformanceImpressionPercentage_; to_bitField5_ |= 0x00020000; } if (((from_bitField6_ & 0x00000002) != 0)) { result.assetUnratedPerformanceImpressionPercentage_ = assetUnratedPerformanceImpressionPercentage_; to_bitField5_ |= 0x00040000; } if (((from_bitField6_ & 0x00000004) != 0)) { result.assetBestPerformanceCostPercentage_ = assetBestPerformanceCostPercentage_; to_bitField5_ |= 0x00080000; } if (((from_bitField6_ & 0x00000008) != 0)) { result.assetGoodPerformanceCostPercentage_ = assetGoodPerformanceCostPercentage_; to_bitField5_ |= 0x00100000; } if (((from_bitField6_ & 0x00000010) != 0)) { result.assetLowPerformanceCostPercentage_ = assetLowPerformanceCostPercentage_; to_bitField5_ |= 0x00200000; } if (((from_bitField6_ & 0x00000020) != 0)) { result.assetLearningPerformanceCostPercentage_ = assetLearningPerformanceCostPercentage_; to_bitField5_ |= 0x00400000; } if (((from_bitField6_ & 0x00000040) != 0)) { result.assetUnratedPerformanceCostPercentage_ = assetUnratedPerformanceCostPercentage_; to_bitField5_ |= 0x00800000; } if (((from_bitField6_ & 0x00000080) != 0)) { result.storeVisitsLastClickModelAttributedConversions_ = storeVisitsLastClickModelAttributedConversions_; to_bitField5_ |= 0x01000000; } if (((from_bitField6_ & 0x00000100) != 0)) { result.resultsConversionsPurchase_ = resultsConversionsPurchase_; to_bitField5_ |= 0x02000000; } if (((from_bitField6_ & 0x00000200) != 0)) { result.videoViewRateInFeed_ = videoViewRateInFeed_; to_bitField5_ |= 0x04000000; } if (((from_bitField6_ & 0x00000400) != 0)) { result.videoViewRateInStream_ = videoViewRateInStream_; to_bitField5_ |= 0x08000000; } if (((from_bitField6_ & 0x00000800) != 0)) { result.videoViewRateShorts_ = videoViewRateShorts_; to_bitField5_ |= 0x10000000; } result.bitField5_ |= to_bitField5_; } @java.lang.Override public Builder clone() { return super.clone(); } @java.lang.Override public Builder setField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.setField(field, value); } @java.lang.Override public Builder clearField( com.google.protobuf.Descriptors.FieldDescriptor field) { return super.clearField(field); } @java.lang.Override public Builder clearOneof( com.google.protobuf.Descriptors.OneofDescriptor oneof) { return super.clearOneof(oneof); } @java.lang.Override public Builder setRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, int index, java.lang.Object value) { return super.setRepeatedField(field, index, value); } @java.lang.Override public Builder addRepeatedField( com.google.protobuf.Descriptors.FieldDescriptor field, java.lang.Object value) { return super.addRepeatedField(field, value); } @java.lang.Override public Builder mergeFrom(com.google.protobuf.Message other) { if (other instanceof com.google.ads.googleads.v18.common.Metrics) { return mergeFrom((com.google.ads.googleads.v18.common.Metrics)other); } else { super.mergeFrom(other); return this; } } public Builder mergeFrom(com.google.ads.googleads.v18.common.Metrics other) { if (other == com.google.ads.googleads.v18.common.Metrics.getDefaultInstance()) return this; if (other.hasAbsoluteTopImpressionPercentage()) { setAbsoluteTopImpressionPercentage(other.getAbsoluteTopImpressionPercentage()); } if (other.hasActiveViewCpm()) { setActiveViewCpm(other.getActiveViewCpm()); } if (other.hasActiveViewCtr()) { setActiveViewCtr(other.getActiveViewCtr()); } if (other.hasActiveViewImpressions()) { setActiveViewImpressions(other.getActiveViewImpressions()); } if (other.hasActiveViewMeasurability()) { setActiveViewMeasurability(other.getActiveViewMeasurability()); } if (other.hasActiveViewMeasurableCostMicros()) { setActiveViewMeasurableCostMicros(other.getActiveViewMeasurableCostMicros()); } if (other.hasActiveViewMeasurableImpressions()) { setActiveViewMeasurableImpressions(other.getActiveViewMeasurableImpressions()); } if (other.hasActiveViewViewability()) { setActiveViewViewability(other.getActiveViewViewability()); } if (other.hasAllConversionsFromInteractionsRate()) { setAllConversionsFromInteractionsRate(other.getAllConversionsFromInteractionsRate()); } if (other.hasAllConversionsValue()) { setAllConversionsValue(other.getAllConversionsValue()); } if (other.hasAllConversionsValueByConversionDate()) { setAllConversionsValueByConversionDate(other.getAllConversionsValueByConversionDate()); } if (other.hasAllNewCustomerLifetimeValue()) { setAllNewCustomerLifetimeValue(other.getAllNewCustomerLifetimeValue()); } if (other.hasAllConversions()) { setAllConversions(other.getAllConversions()); } if (other.hasAllConversionsByConversionDate()) { setAllConversionsByConversionDate(other.getAllConversionsByConversionDate()); } if (other.hasAllConversionsValuePerCost()) { setAllConversionsValuePerCost(other.getAllConversionsValuePerCost()); } if (other.hasAllConversionsFromClickToCall()) { setAllConversionsFromClickToCall(other.getAllConversionsFromClickToCall()); } if (other.hasAllConversionsFromDirections()) { setAllConversionsFromDirections(other.getAllConversionsFromDirections()); } if (other.hasAllConversionsFromInteractionsValuePerInteraction()) { setAllConversionsFromInteractionsValuePerInteraction(other.getAllConversionsFromInteractionsValuePerInteraction()); } if (other.hasAllConversionsFromMenu()) { setAllConversionsFromMenu(other.getAllConversionsFromMenu()); } if (other.hasAllConversionsFromOrder()) { setAllConversionsFromOrder(other.getAllConversionsFromOrder()); } if (other.hasAllConversionsFromOtherEngagement()) { setAllConversionsFromOtherEngagement(other.getAllConversionsFromOtherEngagement()); } if (other.hasAllConversionsFromStoreVisit()) { setAllConversionsFromStoreVisit(other.getAllConversionsFromStoreVisit()); } if (other.hasAllConversionsFromStoreWebsite()) { setAllConversionsFromStoreWebsite(other.getAllConversionsFromStoreWebsite()); } if (other.hasAuctionInsightSearchAbsoluteTopImpressionPercentage()) { setAuctionInsightSearchAbsoluteTopImpressionPercentage(other.getAuctionInsightSearchAbsoluteTopImpressionPercentage()); } if (other.hasAuctionInsightSearchImpressionShare()) { setAuctionInsightSearchImpressionShare(other.getAuctionInsightSearchImpressionShare()); } if (other.hasAuctionInsightSearchOutrankingShare()) { setAuctionInsightSearchOutrankingShare(other.getAuctionInsightSearchOutrankingShare()); } if (other.hasAuctionInsightSearchOverlapRate()) { setAuctionInsightSearchOverlapRate(other.getAuctionInsightSearchOverlapRate()); } if (other.hasAuctionInsightSearchPositionAboveRate()) { setAuctionInsightSearchPositionAboveRate(other.getAuctionInsightSearchPositionAboveRate()); } if (other.hasAuctionInsightSearchTopImpressionPercentage()) { setAuctionInsightSearchTopImpressionPercentage(other.getAuctionInsightSearchTopImpressionPercentage()); } if (other.hasAverageCost()) { setAverageCost(other.getAverageCost()); } if (other.hasAverageCpc()) { setAverageCpc(other.getAverageCpc()); } if (other.hasAverageCpe()) { setAverageCpe(other.getAverageCpe()); } if (other.hasAverageCpm()) { setAverageCpm(other.getAverageCpm()); } if (other.hasAverageCpv()) { setAverageCpv(other.getAverageCpv()); } if (other.hasAveragePageViews()) { setAveragePageViews(other.getAveragePageViews()); } if (other.hasAverageTimeOnSite()) { setAverageTimeOnSite(other.getAverageTimeOnSite()); } if (other.hasBenchmarkAverageMaxCpc()) { setBenchmarkAverageMaxCpc(other.getBenchmarkAverageMaxCpc()); } if (other.hasBiddableAppInstallConversions()) { setBiddableAppInstallConversions(other.getBiddableAppInstallConversions()); } if (other.hasBiddableAppPostInstallConversions()) { setBiddableAppPostInstallConversions(other.getBiddableAppPostInstallConversions()); } if (other.hasBenchmarkCtr()) { setBenchmarkCtr(other.getBenchmarkCtr()); } if (other.hasBounceRate()) { setBounceRate(other.getBounceRate()); } if (other.hasClicks()) { setClicks(other.getClicks()); } if (other.hasCombinedClicks()) { setCombinedClicks(other.getCombinedClicks()); } if (other.hasCombinedClicksPerQuery()) { setCombinedClicksPerQuery(other.getCombinedClicksPerQuery()); } if (other.hasCombinedQueries()) { setCombinedQueries(other.getCombinedQueries()); } if (other.hasContentBudgetLostImpressionShare()) { setContentBudgetLostImpressionShare(other.getContentBudgetLostImpressionShare()); } if (other.hasContentImpressionShare()) { setContentImpressionShare(other.getContentImpressionShare()); } if (other.hasConversionLastReceivedRequestDateTime()) { conversionLastReceivedRequestDateTime_ = other.conversionLastReceivedRequestDateTime_; bitField1_ |= 0x00008000; onChanged(); } if (other.hasConversionLastConversionDate()) { conversionLastConversionDate_ = other.conversionLastConversionDate_; bitField1_ |= 0x00010000; onChanged(); } if (other.hasContentRankLostImpressionShare()) { setContentRankLostImpressionShare(other.getContentRankLostImpressionShare()); } if (other.hasConversionsFromInteractionsRate()) { setConversionsFromInteractionsRate(other.getConversionsFromInteractionsRate()); } if (other.hasConversionsValue()) { setConversionsValue(other.getConversionsValue()); } if (other.hasConversionsValueByConversionDate()) { setConversionsValueByConversionDate(other.getConversionsValueByConversionDate()); } if (other.hasNewCustomerLifetimeValue()) { setNewCustomerLifetimeValue(other.getNewCustomerLifetimeValue()); } if (other.hasConversionsValuePerCost()) { setConversionsValuePerCost(other.getConversionsValuePerCost()); } if (other.hasConversionsFromInteractionsValuePerInteraction()) { setConversionsFromInteractionsValuePerInteraction(other.getConversionsFromInteractionsValuePerInteraction()); } if (other.hasConversions()) { setConversions(other.getConversions()); } if (other.hasConversionsByConversionDate()) { setConversionsByConversionDate(other.getConversionsByConversionDate()); } if (other.hasCostMicros()) { setCostMicros(other.getCostMicros()); } if (other.hasCostPerAllConversions()) { setCostPerAllConversions(other.getCostPerAllConversions()); } if (other.hasCostPerConversion()) { setCostPerConversion(other.getCostPerConversion()); } if (other.hasCostPerCurrentModelAttributedConversion()) { setCostPerCurrentModelAttributedConversion(other.getCostPerCurrentModelAttributedConversion()); } if (other.hasCrossDeviceConversions()) { setCrossDeviceConversions(other.getCrossDeviceConversions()); } if (other.hasCrossDeviceConversionsValueMicros()) { setCrossDeviceConversionsValueMicros(other.getCrossDeviceConversionsValueMicros()); } if (other.hasCtr()) { setCtr(other.getCtr()); } if (other.hasCurrentModelAttributedConversions()) { setCurrentModelAttributedConversions(other.getCurrentModelAttributedConversions()); } if (other.hasCurrentModelAttributedConversionsFromInteractionsRate()) { setCurrentModelAttributedConversionsFromInteractionsRate(other.getCurrentModelAttributedConversionsFromInteractionsRate()); } if (other.hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()) { setCurrentModelAttributedConversionsFromInteractionsValuePerInteraction(other.getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction()); } if (other.hasCurrentModelAttributedConversionsValue()) { setCurrentModelAttributedConversionsValue(other.getCurrentModelAttributedConversionsValue()); } if (other.hasCurrentModelAttributedConversionsValuePerCost()) { setCurrentModelAttributedConversionsValuePerCost(other.getCurrentModelAttributedConversionsValuePerCost()); } if (other.hasEngagementRate()) { setEngagementRate(other.getEngagementRate()); } if (other.hasEngagements()) { setEngagements(other.getEngagements()); } if (other.hasHotelAverageLeadValueMicros()) { setHotelAverageLeadValueMicros(other.getHotelAverageLeadValueMicros()); } if (other.hasHotelCommissionRateMicros()) { setHotelCommissionRateMicros(other.getHotelCommissionRateMicros()); } if (other.hasHotelExpectedCommissionCost()) { setHotelExpectedCommissionCost(other.getHotelExpectedCommissionCost()); } if (other.hasHotelPriceDifferencePercentage()) { setHotelPriceDifferencePercentage(other.getHotelPriceDifferencePercentage()); } if (other.hasHotelEligibleImpressions()) { setHotelEligibleImpressions(other.getHotelEligibleImpressions()); } if (other.historicalCreativeQualityScore_ != 0) { setHistoricalCreativeQualityScoreValue(other.getHistoricalCreativeQualityScoreValue()); } if (other.historicalLandingPageQualityScore_ != 0) { setHistoricalLandingPageQualityScoreValue(other.getHistoricalLandingPageQualityScoreValue()); } if (other.hasHistoricalQualityScore()) { setHistoricalQualityScore(other.getHistoricalQualityScore()); } if (other.historicalSearchPredictedCtr_ != 0) { setHistoricalSearchPredictedCtrValue(other.getHistoricalSearchPredictedCtrValue()); } if (other.hasGmailForwards()) { setGmailForwards(other.getGmailForwards()); } if (other.hasGmailSaves()) { setGmailSaves(other.getGmailSaves()); } if (other.hasGmailSecondaryClicks()) { setGmailSecondaryClicks(other.getGmailSecondaryClicks()); } if (other.hasImpressionsFromStoreReach()) { setImpressionsFromStoreReach(other.getImpressionsFromStoreReach()); } if (other.hasImpressions()) { setImpressions(other.getImpressions()); } if (other.hasInteractionRate()) { setInteractionRate(other.getInteractionRate()); } if (other.hasInteractions()) { setInteractions(other.getInteractions()); } if (!other.interactionEventTypes_.isEmpty()) { if (interactionEventTypes_.isEmpty()) { interactionEventTypes_ = other.interactionEventTypes_; bitField2_ = (bitField2_ & ~0x01000000); } else { ensureInteractionEventTypesIsMutable(); interactionEventTypes_.addAll(other.interactionEventTypes_); } onChanged(); } if (other.hasInvalidClickRate()) { setInvalidClickRate(other.getInvalidClickRate()); } if (other.hasInvalidClicks()) { setInvalidClicks(other.getInvalidClicks()); } if (other.hasGeneralInvalidClickRate()) { setGeneralInvalidClickRate(other.getGeneralInvalidClickRate()); } if (other.hasGeneralInvalidClicks()) { setGeneralInvalidClicks(other.getGeneralInvalidClicks()); } if (other.hasMessageChats()) { setMessageChats(other.getMessageChats()); } if (other.hasMessageImpressions()) { setMessageImpressions(other.getMessageImpressions()); } if (other.hasMessageChatRate()) { setMessageChatRate(other.getMessageChatRate()); } if (other.hasMobileFriendlyClicksPercentage()) { setMobileFriendlyClicksPercentage(other.getMobileFriendlyClicksPercentage()); } if (other.hasOptimizationScoreUplift()) { setOptimizationScoreUplift(other.getOptimizationScoreUplift()); } if (other.hasOptimizationScoreUrl()) { optimizationScoreUrl_ = other.optimizationScoreUrl_; bitField3_ |= 0x00000004; onChanged(); } if (other.hasOrganicClicks()) { setOrganicClicks(other.getOrganicClicks()); } if (other.hasOrganicClicksPerQuery()) { setOrganicClicksPerQuery(other.getOrganicClicksPerQuery()); } if (other.hasOrganicImpressions()) { setOrganicImpressions(other.getOrganicImpressions()); } if (other.hasOrganicImpressionsPerQuery()) { setOrganicImpressionsPerQuery(other.getOrganicImpressionsPerQuery()); } if (other.hasOrganicQueries()) { setOrganicQueries(other.getOrganicQueries()); } if (other.hasPercentNewVisitors()) { setPercentNewVisitors(other.getPercentNewVisitors()); } if (other.hasPhoneCalls()) { setPhoneCalls(other.getPhoneCalls()); } if (other.hasPhoneImpressions()) { setPhoneImpressions(other.getPhoneImpressions()); } if (other.hasPhoneThroughRate()) { setPhoneThroughRate(other.getPhoneThroughRate()); } if (other.hasRelativeCtr()) { setRelativeCtr(other.getRelativeCtr()); } if (other.hasSearchAbsoluteTopImpressionShare()) { setSearchAbsoluteTopImpressionShare(other.getSearchAbsoluteTopImpressionShare()); } if (other.hasSearchBudgetLostAbsoluteTopImpressionShare()) { setSearchBudgetLostAbsoluteTopImpressionShare(other.getSearchBudgetLostAbsoluteTopImpressionShare()); } if (other.hasSearchBudgetLostImpressionShare()) { setSearchBudgetLostImpressionShare(other.getSearchBudgetLostImpressionShare()); } if (other.hasSearchBudgetLostTopImpressionShare()) { setSearchBudgetLostTopImpressionShare(other.getSearchBudgetLostTopImpressionShare()); } if (other.hasSearchClickShare()) { setSearchClickShare(other.getSearchClickShare()); } if (other.hasSearchExactMatchImpressionShare()) { setSearchExactMatchImpressionShare(other.getSearchExactMatchImpressionShare()); } if (other.hasSearchImpressionShare()) { setSearchImpressionShare(other.getSearchImpressionShare()); } if (other.hasSearchRankLostAbsoluteTopImpressionShare()) { setSearchRankLostAbsoluteTopImpressionShare(other.getSearchRankLostAbsoluteTopImpressionShare()); } if (other.hasSearchRankLostImpressionShare()) { setSearchRankLostImpressionShare(other.getSearchRankLostImpressionShare()); } if (other.hasSearchRankLostTopImpressionShare()) { setSearchRankLostTopImpressionShare(other.getSearchRankLostTopImpressionShare()); } if (other.hasSearchTopImpressionShare()) { setSearchTopImpressionShare(other.getSearchTopImpressionShare()); } if (other.hasSearchVolume()) { mergeSearchVolume(other.getSearchVolume()); } if (other.hasSpeedScore()) { setSpeedScore(other.getSpeedScore()); } if (other.hasAverageTargetCpaMicros()) { setAverageTargetCpaMicros(other.getAverageTargetCpaMicros()); } if (other.hasAverageTargetRoas()) { setAverageTargetRoas(other.getAverageTargetRoas()); } if (other.hasTopImpressionPercentage()) { setTopImpressionPercentage(other.getTopImpressionPercentage()); } if (other.hasValidAcceleratedMobilePagesClicksPercentage()) { setValidAcceleratedMobilePagesClicksPercentage(other.getValidAcceleratedMobilePagesClicksPercentage()); } if (other.hasValuePerAllConversions()) { setValuePerAllConversions(other.getValuePerAllConversions()); } if (other.hasValuePerAllConversionsByConversionDate()) { setValuePerAllConversionsByConversionDate(other.getValuePerAllConversionsByConversionDate()); } if (other.hasValuePerConversion()) { setValuePerConversion(other.getValuePerConversion()); } if (other.hasValuePerConversionsByConversionDate()) { setValuePerConversionsByConversionDate(other.getValuePerConversionsByConversionDate()); } if (other.hasValuePerCurrentModelAttributedConversion()) { setValuePerCurrentModelAttributedConversion(other.getValuePerCurrentModelAttributedConversion()); } if (other.hasVideoQuartileP100Rate()) { setVideoQuartileP100Rate(other.getVideoQuartileP100Rate()); } if (other.hasVideoQuartileP25Rate()) { setVideoQuartileP25Rate(other.getVideoQuartileP25Rate()); } if (other.hasVideoQuartileP50Rate()) { setVideoQuartileP50Rate(other.getVideoQuartileP50Rate()); } if (other.hasVideoQuartileP75Rate()) { setVideoQuartileP75Rate(other.getVideoQuartileP75Rate()); } if (other.hasVideoViewRate()) { setVideoViewRate(other.getVideoViewRate()); } if (other.hasVideoViews()) { setVideoViews(other.getVideoViews()); } if (other.hasViewThroughConversions()) { setViewThroughConversions(other.getViewThroughConversions()); } if (other.getSkAdNetworkInstalls() != 0L) { setSkAdNetworkInstalls(other.getSkAdNetworkInstalls()); } if (other.getSkAdNetworkTotalConversions() != 0L) { setSkAdNetworkTotalConversions(other.getSkAdNetworkTotalConversions()); } if (other.getPublisherPurchasedClicks() != 0L) { setPublisherPurchasedClicks(other.getPublisherPurchasedClicks()); } if (other.getPublisherOrganicClicks() != 0L) { setPublisherOrganicClicks(other.getPublisherOrganicClicks()); } if (other.getPublisherUnknownClicks() != 0L) { setPublisherUnknownClicks(other.getPublisherUnknownClicks()); } if (other.hasAllConversionsFromLocationAssetClickToCall()) { setAllConversionsFromLocationAssetClickToCall(other.getAllConversionsFromLocationAssetClickToCall()); } if (other.hasAllConversionsFromLocationAssetDirections()) { setAllConversionsFromLocationAssetDirections(other.getAllConversionsFromLocationAssetDirections()); } if (other.hasAllConversionsFromLocationAssetMenu()) { setAllConversionsFromLocationAssetMenu(other.getAllConversionsFromLocationAssetMenu()); } if (other.hasAllConversionsFromLocationAssetOrder()) { setAllConversionsFromLocationAssetOrder(other.getAllConversionsFromLocationAssetOrder()); } if (other.hasAllConversionsFromLocationAssetOtherEngagement()) { setAllConversionsFromLocationAssetOtherEngagement(other.getAllConversionsFromLocationAssetOtherEngagement()); } if (other.hasAllConversionsFromLocationAssetStoreVisits()) { setAllConversionsFromLocationAssetStoreVisits(other.getAllConversionsFromLocationAssetStoreVisits()); } if (other.hasAllConversionsFromLocationAssetWebsite()) { setAllConversionsFromLocationAssetWebsite(other.getAllConversionsFromLocationAssetWebsite()); } if (other.hasEligibleImpressionsFromLocationAssetStoreReach()) { setEligibleImpressionsFromLocationAssetStoreReach(other.getEligibleImpressionsFromLocationAssetStoreReach()); } if (other.hasViewThroughConversionsFromLocationAssetClickToCall()) { setViewThroughConversionsFromLocationAssetClickToCall(other.getViewThroughConversionsFromLocationAssetClickToCall()); } if (other.hasViewThroughConversionsFromLocationAssetDirections()) { setViewThroughConversionsFromLocationAssetDirections(other.getViewThroughConversionsFromLocationAssetDirections()); } if (other.hasViewThroughConversionsFromLocationAssetMenu()) { setViewThroughConversionsFromLocationAssetMenu(other.getViewThroughConversionsFromLocationAssetMenu()); } if (other.hasViewThroughConversionsFromLocationAssetOrder()) { setViewThroughConversionsFromLocationAssetOrder(other.getViewThroughConversionsFromLocationAssetOrder()); } if (other.hasViewThroughConversionsFromLocationAssetOtherEngagement()) { setViewThroughConversionsFromLocationAssetOtherEngagement(other.getViewThroughConversionsFromLocationAssetOtherEngagement()); } if (other.hasViewThroughConversionsFromLocationAssetStoreVisits()) { setViewThroughConversionsFromLocationAssetStoreVisits(other.getViewThroughConversionsFromLocationAssetStoreVisits()); } if (other.hasViewThroughConversionsFromLocationAssetWebsite()) { setViewThroughConversionsFromLocationAssetWebsite(other.getViewThroughConversionsFromLocationAssetWebsite()); } if (other.hasOrders()) { setOrders(other.getOrders()); } if (other.hasAverageOrderValueMicros()) { setAverageOrderValueMicros(other.getAverageOrderValueMicros()); } if (other.hasAverageCartSize()) { setAverageCartSize(other.getAverageCartSize()); } if (other.hasCostOfGoodsSoldMicros()) { setCostOfGoodsSoldMicros(other.getCostOfGoodsSoldMicros()); } if (other.hasGrossProfitMicros()) { setGrossProfitMicros(other.getGrossProfitMicros()); } if (other.hasGrossProfitMargin()) { setGrossProfitMargin(other.getGrossProfitMargin()); } if (other.hasRevenueMicros()) { setRevenueMicros(other.getRevenueMicros()); } if (other.hasUnitsSold()) { setUnitsSold(other.getUnitsSold()); } if (other.hasCrossSellCostOfGoodsSoldMicros()) { setCrossSellCostOfGoodsSoldMicros(other.getCrossSellCostOfGoodsSoldMicros()); } if (other.hasCrossSellGrossProfitMicros()) { setCrossSellGrossProfitMicros(other.getCrossSellGrossProfitMicros()); } if (other.hasCrossSellRevenueMicros()) { setCrossSellRevenueMicros(other.getCrossSellRevenueMicros()); } if (other.hasCrossSellUnitsSold()) { setCrossSellUnitsSold(other.getCrossSellUnitsSold()); } if (other.hasLeadCostOfGoodsSoldMicros()) { setLeadCostOfGoodsSoldMicros(other.getLeadCostOfGoodsSoldMicros()); } if (other.hasLeadGrossProfitMicros()) { setLeadGrossProfitMicros(other.getLeadGrossProfitMicros()); } if (other.hasLeadRevenueMicros()) { setLeadRevenueMicros(other.getLeadRevenueMicros()); } if (other.hasLeadUnitsSold()) { setLeadUnitsSold(other.getLeadUnitsSold()); } if (other.hasUniqueUsers()) { setUniqueUsers(other.getUniqueUsers()); } if (other.hasAverageImpressionFrequencyPerUser()) { setAverageImpressionFrequencyPerUser(other.getAverageImpressionFrequencyPerUser()); } if (other.hasLinkedEntitiesCount()) { setLinkedEntitiesCount(other.getLinkedEntitiesCount()); } if (!other.linkedSampleEntities_.isEmpty()) { if (linkedSampleEntities_.isEmpty()) { linkedSampleEntities_ = other.linkedSampleEntities_; bitField5_ |= 0x00020000; } else { ensureLinkedSampleEntitiesIsMutable(); linkedSampleEntities_.addAll(other.linkedSampleEntities_); } onChanged(); } if (!other.sampleBestPerformanceEntities_.isEmpty()) { if (sampleBestPerformanceEntities_.isEmpty()) { sampleBestPerformanceEntities_ = other.sampleBestPerformanceEntities_; bitField5_ |= 0x00040000; } else { ensureSampleBestPerformanceEntitiesIsMutable(); sampleBestPerformanceEntities_.addAll(other.sampleBestPerformanceEntities_); } onChanged(); } if (!other.sampleGoodPerformanceEntities_.isEmpty()) { if (sampleGoodPerformanceEntities_.isEmpty()) { sampleGoodPerformanceEntities_ = other.sampleGoodPerformanceEntities_; bitField5_ |= 0x00080000; } else { ensureSampleGoodPerformanceEntitiesIsMutable(); sampleGoodPerformanceEntities_.addAll(other.sampleGoodPerformanceEntities_); } onChanged(); } if (!other.sampleLowPerformanceEntities_.isEmpty()) { if (sampleLowPerformanceEntities_.isEmpty()) { sampleLowPerformanceEntities_ = other.sampleLowPerformanceEntities_; bitField5_ |= 0x00100000; } else { ensureSampleLowPerformanceEntitiesIsMutable(); sampleLowPerformanceEntities_.addAll(other.sampleLowPerformanceEntities_); } onChanged(); } if (!other.sampleLearningPerformanceEntities_.isEmpty()) { if (sampleLearningPerformanceEntities_.isEmpty()) { sampleLearningPerformanceEntities_ = other.sampleLearningPerformanceEntities_; bitField5_ |= 0x00200000; } else { ensureSampleLearningPerformanceEntitiesIsMutable(); sampleLearningPerformanceEntities_.addAll(other.sampleLearningPerformanceEntities_); } onChanged(); } if (!other.sampleUnratedPerformanceEntities_.isEmpty()) { if (sampleUnratedPerformanceEntities_.isEmpty()) { sampleUnratedPerformanceEntities_ = other.sampleUnratedPerformanceEntities_; bitField5_ |= 0x00400000; } else { ensureSampleUnratedPerformanceEntitiesIsMutable(); sampleUnratedPerformanceEntities_.addAll(other.sampleUnratedPerformanceEntities_); } onChanged(); } if (other.hasAssetPinnedTotalCount()) { setAssetPinnedTotalCount(other.getAssetPinnedTotalCount()); } if (other.hasAssetPinnedAsHeadlinePositionOneCount()) { setAssetPinnedAsHeadlinePositionOneCount(other.getAssetPinnedAsHeadlinePositionOneCount()); } if (other.hasAssetPinnedAsHeadlinePositionTwoCount()) { setAssetPinnedAsHeadlinePositionTwoCount(other.getAssetPinnedAsHeadlinePositionTwoCount()); } if (other.hasAssetPinnedAsHeadlinePositionThreeCount()) { setAssetPinnedAsHeadlinePositionThreeCount(other.getAssetPinnedAsHeadlinePositionThreeCount()); } if (other.hasAssetPinnedAsDescriptionPositionOneCount()) { setAssetPinnedAsDescriptionPositionOneCount(other.getAssetPinnedAsDescriptionPositionOneCount()); } if (other.hasAssetPinnedAsDescriptionPositionTwoCount()) { setAssetPinnedAsDescriptionPositionTwoCount(other.getAssetPinnedAsDescriptionPositionTwoCount()); } if (other.hasAssetBestPerformanceImpressionPercentage()) { setAssetBestPerformanceImpressionPercentage(other.getAssetBestPerformanceImpressionPercentage()); } if (other.hasAssetGoodPerformanceImpressionPercentage()) { setAssetGoodPerformanceImpressionPercentage(other.getAssetGoodPerformanceImpressionPercentage()); } if (other.hasAssetLowPerformanceImpressionPercentage()) { setAssetLowPerformanceImpressionPercentage(other.getAssetLowPerformanceImpressionPercentage()); } if (other.hasAssetLearningPerformanceImpressionPercentage()) { setAssetLearningPerformanceImpressionPercentage(other.getAssetLearningPerformanceImpressionPercentage()); } if (other.hasAssetUnratedPerformanceImpressionPercentage()) { setAssetUnratedPerformanceImpressionPercentage(other.getAssetUnratedPerformanceImpressionPercentage()); } if (other.hasAssetBestPerformanceCostPercentage()) { setAssetBestPerformanceCostPercentage(other.getAssetBestPerformanceCostPercentage()); } if (other.hasAssetGoodPerformanceCostPercentage()) { setAssetGoodPerformanceCostPercentage(other.getAssetGoodPerformanceCostPercentage()); } if (other.hasAssetLowPerformanceCostPercentage()) { setAssetLowPerformanceCostPercentage(other.getAssetLowPerformanceCostPercentage()); } if (other.hasAssetLearningPerformanceCostPercentage()) { setAssetLearningPerformanceCostPercentage(other.getAssetLearningPerformanceCostPercentage()); } if (other.hasAssetUnratedPerformanceCostPercentage()) { setAssetUnratedPerformanceCostPercentage(other.getAssetUnratedPerformanceCostPercentage()); } if (other.hasStoreVisitsLastClickModelAttributedConversions()) { setStoreVisitsLastClickModelAttributedConversions(other.getStoreVisitsLastClickModelAttributedConversions()); } if (other.hasResultsConversionsPurchase()) { setResultsConversionsPurchase(other.getResultsConversionsPurchase()); } if (other.hasVideoViewRateInFeed()) { setVideoViewRateInFeed(other.getVideoViewRateInFeed()); } if (other.hasVideoViewRateInStream()) { setVideoViewRateInStream(other.getVideoViewRateInStream()); } if (other.hasVideoViewRateShorts()) { setVideoViewRateShorts(other.getVideoViewRateShorts()); } this.mergeUnknownFields(other.getUnknownFields()); onChanged(); return this; } @java.lang.Override public final boolean isInitialized() { return true; } @java.lang.Override public Builder mergeFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException { if (extensionRegistry == null) { throw new java.lang.NullPointerException(); } try { boolean done = false; while (!done) { int tag = input.readTag(); switch (tag) { case 0: done = true; break; case 640: { historicalCreativeQualityScore_ = input.readEnum(); bitField2_ |= 0x00002000; break; } // case 640 case 648: { historicalLandingPageQualityScore_ = input.readEnum(); bitField2_ |= 0x00004000; break; } // case 648 case 664: { historicalSearchPredictedCtr_ = input.readEnum(); bitField2_ |= 0x00010000; break; } // case 664 case 800: { int tmpRaw = input.readEnum(); ensureInteractionEventTypesIsMutable(); interactionEventTypes_.add(tmpRaw); break; } // case 800 case 802: { int length = input.readRawVarint32(); int oldLimit = input.pushLimit(length); while(input.getBytesUntilLimit() > 0) { int tmpRaw = input.readEnum(); ensureInteractionEventTypesIsMutable(); interactionEventTypes_.add(tmpRaw); } input.popLimit(oldLimit); break; } // case 802 case 1048: { clicks_ = input.readInt64(); bitField1_ |= 0x00000200; break; } // case 1048 case 1057: { videoQuartileP100Rate_ = input.readDouble(); bitField4_ |= 0x00000008; break; } // case 1057 case 1065: { videoQuartileP25Rate_ = input.readDouble(); bitField4_ |= 0x00000010; break; } // case 1065 case 1073: { videoQuartileP50Rate_ = input.readDouble(); bitField4_ |= 0x00000020; break; } // case 1073 case 1081: { videoQuartileP75Rate_ = input.readDouble(); bitField4_ |= 0x00000040; break; } // case 1081 case 1089: { searchAbsoluteTopImpressionShare_ = input.readDouble(); bitField3_ |= 0x00002000; break; } // case 1089 case 1097: { searchBudgetLostAbsoluteTopImpressionShare_ = input.readDouble(); bitField3_ |= 0x00004000; break; } // case 1097 case 1105: { searchBudgetLostImpressionShare_ = input.readDouble(); bitField3_ |= 0x00008000; break; } // case 1105 case 1113: { searchBudgetLostTopImpressionShare_ = input.readDouble(); bitField3_ |= 0x00010000; break; } // case 1113 case 1121: { searchClickShare_ = input.readDouble(); bitField3_ |= 0x00020000; break; } // case 1121 case 1129: { searchExactMatchImpressionShare_ = input.readDouble(); bitField3_ |= 0x00040000; break; } // case 1129 case 1137: { searchImpressionShare_ = input.readDouble(); bitField3_ |= 0x00080000; break; } // case 1137 case 1145: { searchRankLostAbsoluteTopImpressionShare_ = input.readDouble(); bitField3_ |= 0x00100000; break; } // case 1145 case 1153: { searchRankLostImpressionShare_ = input.readDouble(); bitField3_ |= 0x00200000; break; } // case 1153 case 1161: { searchRankLostTopImpressionShare_ = input.readDouble(); bitField3_ |= 0x00400000; break; } // case 1161 case 1169: { searchTopImpressionShare_ = input.readDouble(); bitField3_ |= 0x00800000; break; } // case 1169 case 1176: { speedScore_ = input.readInt64(); bitField3_ |= 0x02000000; break; } // case 1176 case 1185: { topImpressionPercentage_ = input.readDouble(); bitField3_ |= 0x10000000; break; } // case 1185 case 1193: { validAcceleratedMobilePagesClicksPercentage_ = input.readDouble(); bitField3_ |= 0x20000000; break; } // case 1193 case 1201: { valuePerAllConversions_ = input.readDouble(); bitField3_ |= 0x40000000; break; } // case 1201 case 1209: { valuePerConversion_ = input.readDouble(); bitField4_ |= 0x00000001; break; } // case 1209 case 1217: { valuePerCurrentModelAttributedConversion_ = input.readDouble(); bitField4_ |= 0x00000004; break; } // case 1217 case 1225: { videoViewRate_ = input.readDouble(); bitField4_ |= 0x00000080; break; } // case 1225 case 1232: { videoViews_ = input.readInt64(); bitField4_ |= 0x00000100; break; } // case 1232 case 1240: { viewThroughConversions_ = input.readInt64(); bitField4_ |= 0x00000200; break; } // case 1240 case 1248: { combinedClicks_ = input.readInt64(); bitField1_ |= 0x00000400; break; } // case 1248 case 1257: { combinedClicksPerQuery_ = input.readDouble(); bitField1_ |= 0x00000800; break; } // case 1257 case 1264: { combinedQueries_ = input.readInt64(); bitField1_ |= 0x00001000; break; } // case 1264 case 1273: { contentBudgetLostImpressionShare_ = input.readDouble(); bitField1_ |= 0x00002000; break; } // case 1273 case 1281: { contentImpressionShare_ = input.readDouble(); bitField1_ |= 0x00004000; break; } // case 1281 case 1290: { conversionLastReceivedRequestDateTime_ = input.readStringRequireUtf8(); bitField1_ |= 0x00008000; break; } // case 1290 case 1298: { conversionLastConversionDate_ = input.readStringRequireUtf8(); bitField1_ |= 0x00010000; break; } // case 1298 case 1305: { contentRankLostImpressionShare_ = input.readDouble(); bitField1_ |= 0x00020000; break; } // case 1305 case 1313: { conversionsFromInteractionsRate_ = input.readDouble(); bitField1_ |= 0x00040000; break; } // case 1313 case 1321: { conversionsValue_ = input.readDouble(); bitField1_ |= 0x00080000; break; } // case 1321 case 1329: { conversionsValuePerCost_ = input.readDouble(); bitField1_ |= 0x00400000; break; } // case 1329 case 1337: { conversionsFromInteractionsValuePerInteraction_ = input.readDouble(); bitField1_ |= 0x00800000; break; } // case 1337 case 1345: { conversions_ = input.readDouble(); bitField1_ |= 0x01000000; break; } // case 1345 case 1352: { costMicros_ = input.readInt64(); bitField1_ |= 0x04000000; break; } // case 1352 case 1361: { costPerAllConversions_ = input.readDouble(); bitField1_ |= 0x08000000; break; } // case 1361 case 1369: { costPerConversion_ = input.readDouble(); bitField1_ |= 0x10000000; break; } // case 1369 case 1377: { costPerCurrentModelAttributedConversion_ = input.readDouble(); bitField1_ |= 0x20000000; break; } // case 1377 case 1385: { crossDeviceConversions_ = input.readDouble(); bitField1_ |= 0x40000000; break; } // case 1385 case 1393: { ctr_ = input.readDouble(); bitField2_ |= 0x00000001; break; } // case 1393 case 1401: { currentModelAttributedConversions_ = input.readDouble(); bitField2_ |= 0x00000002; break; } // case 1401 case 1409: { currentModelAttributedConversionsFromInteractionsRate_ = input.readDouble(); bitField2_ |= 0x00000004; break; } // case 1409 case 1417: { currentModelAttributedConversionsFromInteractionsValuePerInteraction_ = input.readDouble(); bitField2_ |= 0x00000008; break; } // case 1417 case 1425: { currentModelAttributedConversionsValue_ = input.readDouble(); bitField2_ |= 0x00000010; break; } // case 1425 case 1433: { currentModelAttributedConversionsValuePerCost_ = input.readDouble(); bitField2_ |= 0x00000020; break; } // case 1433 case 1441: { engagementRate_ = input.readDouble(); bitField2_ |= 0x00000040; break; } // case 1441 case 1448: { engagements_ = input.readInt64(); bitField2_ |= 0x00000080; break; } // case 1448 case 1465: { absoluteTopImpressionPercentage_ = input.readDouble(); bitField0_ |= 0x00000001; break; } // case 1465 case 1473: { activeViewCpm_ = input.readDouble(); bitField0_ |= 0x00000002; break; } // case 1473 case 1481: { activeViewCtr_ = input.readDouble(); bitField0_ |= 0x00000004; break; } // case 1481 case 1488: { activeViewImpressions_ = input.readInt64(); bitField0_ |= 0x00000008; break; } // case 1488 case 1497: { activeViewMeasurability_ = input.readDouble(); bitField0_ |= 0x00000010; break; } // case 1497 case 1504: { activeViewMeasurableCostMicros_ = input.readInt64(); bitField0_ |= 0x00000020; break; } // case 1504 case 1512: { activeViewMeasurableImpressions_ = input.readInt64(); bitField0_ |= 0x00000040; break; } // case 1512 case 1521: { activeViewViewability_ = input.readDouble(); bitField0_ |= 0x00000080; break; } // case 1521 case 1529: { allConversionsFromInteractionsRate_ = input.readDouble(); bitField0_ |= 0x00000100; break; } // case 1529 case 1537: { allConversionsValue_ = input.readDouble(); bitField0_ |= 0x00000200; break; } // case 1537 case 1545: { allConversions_ = input.readDouble(); bitField0_ |= 0x00001000; break; } // case 1545 case 1553: { allConversionsValuePerCost_ = input.readDouble(); bitField0_ |= 0x00004000; break; } // case 1553 case 1561: { allConversionsFromClickToCall_ = input.readDouble(); bitField0_ |= 0x00008000; break; } // case 1561 case 1569: { allConversionsFromDirections_ = input.readDouble(); bitField0_ |= 0x00010000; break; } // case 1569 case 1577: { allConversionsFromInteractionsValuePerInteraction_ = input.readDouble(); bitField0_ |= 0x00020000; break; } // case 1577 case 1585: { allConversionsFromMenu_ = input.readDouble(); bitField0_ |= 0x00040000; break; } // case 1585 case 1593: { allConversionsFromOrder_ = input.readDouble(); bitField0_ |= 0x00080000; break; } // case 1593 case 1601: { allConversionsFromOtherEngagement_ = input.readDouble(); bitField0_ |= 0x00100000; break; } // case 1601 case 1609: { allConversionsFromStoreVisit_ = input.readDouble(); bitField0_ |= 0x00200000; break; } // case 1609 case 1617: { allConversionsFromStoreWebsite_ = input.readDouble(); bitField0_ |= 0x00400000; break; } // case 1617 case 1625: { averageCost_ = input.readDouble(); bitField0_ |= 0x20000000; break; } // case 1625 case 1633: { averageCpc_ = input.readDouble(); bitField0_ |= 0x40000000; break; } // case 1633 case 1641: { averageCpe_ = input.readDouble(); bitField0_ |= 0x80000000; break; } // case 1641 case 1649: { averageCpm_ = input.readDouble(); bitField1_ |= 0x00000001; break; } // case 1649 case 1657: { averageCpv_ = input.readDouble(); bitField1_ |= 0x00000002; break; } // case 1657 case 1665: { averagePageViews_ = input.readDouble(); bitField1_ |= 0x00000004; break; } // case 1665 case 1673: { averageTimeOnSite_ = input.readDouble(); bitField1_ |= 0x00000008; break; } // case 1673 case 1681: { benchmarkAverageMaxCpc_ = input.readDouble(); bitField1_ |= 0x00000010; break; } // case 1681 case 1689: { benchmarkCtr_ = input.readDouble(); bitField1_ |= 0x00000080; break; } // case 1689 case 1697: { bounceRate_ = input.readDouble(); bitField1_ |= 0x00000100; break; } // case 1697 case 1705: { hotelAverageLeadValueMicros_ = input.readDouble(); bitField2_ |= 0x00000100; break; } // case 1705 case 1713: { hotelPriceDifferencePercentage_ = input.readDouble(); bitField2_ |= 0x00000800; break; } // case 1713 case 1720: { hotelEligibleImpressions_ = input.readInt64(); bitField2_ |= 0x00001000; break; } // case 1720 case 1728: { historicalQualityScore_ = input.readInt64(); bitField2_ |= 0x00008000; break; } // case 1728 case 1736: { gmailForwards_ = input.readInt64(); bitField2_ |= 0x00020000; break; } // case 1736 case 1744: { gmailSaves_ = input.readInt64(); bitField2_ |= 0x00040000; break; } // case 1744 case 1752: { gmailSecondaryClicks_ = input.readInt64(); bitField2_ |= 0x00080000; break; } // case 1752 case 1760: { impressionsFromStoreReach_ = input.readInt64(); bitField2_ |= 0x00100000; break; } // case 1760 case 1768: { impressions_ = input.readInt64(); bitField2_ |= 0x00200000; break; } // case 1768 case 1777: { interactionRate_ = input.readDouble(); bitField2_ |= 0x00400000; break; } // case 1777 case 1784: { interactions_ = input.readInt64(); bitField2_ |= 0x00800000; break; } // case 1784 case 1793: { invalidClickRate_ = input.readDouble(); bitField2_ |= 0x02000000; break; } // case 1793 case 1800: { invalidClicks_ = input.readInt64(); bitField2_ |= 0x04000000; break; } // case 1800 case 1808: { messageChats_ = input.readInt64(); bitField2_ |= 0x20000000; break; } // case 1808 case 1816: { messageImpressions_ = input.readInt64(); bitField2_ |= 0x40000000; break; } // case 1816 case 1825: { messageChatRate_ = input.readDouble(); bitField2_ |= 0x80000000; break; } // case 1825 case 1833: { mobileFriendlyClicksPercentage_ = input.readDouble(); bitField3_ |= 0x00000001; break; } // case 1833 case 1840: { organicClicks_ = input.readInt64(); bitField3_ |= 0x00000008; break; } // case 1840 case 1849: { organicClicksPerQuery_ = input.readDouble(); bitField3_ |= 0x00000010; break; } // case 1849 case 1856: { organicImpressions_ = input.readInt64(); bitField3_ |= 0x00000020; break; } // case 1856 case 1865: { organicImpressionsPerQuery_ = input.readDouble(); bitField3_ |= 0x00000040; break; } // case 1865 case 1872: { organicQueries_ = input.readInt64(); bitField3_ |= 0x00000080; break; } // case 1872 case 1881: { percentNewVisitors_ = input.readDouble(); bitField3_ |= 0x00000100; break; } // case 1881 case 1888: { phoneCalls_ = input.readInt64(); bitField3_ |= 0x00000200; break; } // case 1888 case 1896: { phoneImpressions_ = input.readInt64(); bitField3_ |= 0x00000400; break; } // case 1896 case 1905: { phoneThroughRate_ = input.readDouble(); bitField3_ |= 0x00000800; break; } // case 1905 case 1913: { relativeCtr_ = input.readDouble(); bitField3_ |= 0x00001000; break; } // case 1913 case 1921: { allConversionsValueByConversionDate_ = input.readDouble(); bitField0_ |= 0x00000400; break; } // case 1921 case 1929: { allConversionsByConversionDate_ = input.readDouble(); bitField0_ |= 0x00002000; break; } // case 1929 case 1937: { conversionsValueByConversionDate_ = input.readDouble(); bitField1_ |= 0x00100000; break; } // case 1937 case 1945: { conversionsByConversionDate_ = input.readDouble(); bitField1_ |= 0x02000000; break; } // case 1945 case 1953: { valuePerAllConversionsByConversionDate_ = input.readDouble(); bitField3_ |= 0x80000000; break; } // case 1953 case 1961: { valuePerConversionsByConversionDate_ = input.readDouble(); bitField4_ |= 0x00000002; break; } // case 1961 case 1968: { skAdNetworkInstalls_ = input.readInt64(); bitField4_ |= 0x00000400; break; } // case 1968 case 1977: { optimizationScoreUplift_ = input.readDouble(); bitField3_ |= 0x00000002; break; } // case 1977 case 1986: { optimizationScoreUrl_ = input.readStringRequireUtf8(); bitField3_ |= 0x00000004; break; } // case 1986 case 2001: { averageTargetRoas_ = input.readDouble(); bitField3_ |= 0x08000000; break; } // case 2001 case 2033: { biddableAppInstallConversions_ = input.readDouble(); bitField1_ |= 0x00000020; break; } // case 2033 case 2041: { biddableAppPostInstallConversions_ = input.readDouble(); bitField1_ |= 0x00000040; break; } // case 2041 case 2048: { hotelCommissionRateMicros_ = input.readInt64(); bitField2_ |= 0x00000200; break; } // case 2048 case 2057: { hotelExpectedCommissionCost_ = input.readDouble(); bitField2_ |= 0x00000400; break; } // case 2057 case 2065: { auctionInsightSearchAbsoluteTopImpressionPercentage_ = input.readDouble(); bitField0_ |= 0x00800000; break; } // case 2065 case 2073: { auctionInsightSearchImpressionShare_ = input.readDouble(); bitField0_ |= 0x01000000; break; } // case 2073 case 2081: { auctionInsightSearchOutrankingShare_ = input.readDouble(); bitField0_ |= 0x02000000; break; } // case 2081 case 2089: { auctionInsightSearchOverlapRate_ = input.readDouble(); bitField0_ |= 0x04000000; break; } // case 2089 case 2097: { auctionInsightSearchPositionAboveRate_ = input.readDouble(); bitField0_ |= 0x08000000; break; } // case 2097 case 2105: { auctionInsightSearchTopImpressionPercentage_ = input.readDouble(); bitField0_ |= 0x10000000; break; } // case 2105 case 2112: { publisherPurchasedClicks_ = input.readInt64(); bitField4_ |= 0x00001000; break; } // case 2112 case 2120: { publisherOrganicClicks_ = input.readInt64(); bitField4_ |= 0x00002000; break; } // case 2120 case 2128: { publisherUnknownClicks_ = input.readInt64(); bitField4_ |= 0x00004000; break; } // case 2128 case 2137: { allConversionsFromLocationAssetClickToCall_ = input.readDouble(); bitField4_ |= 0x00008000; break; } // case 2137 case 2145: { allConversionsFromLocationAssetDirections_ = input.readDouble(); bitField4_ |= 0x00010000; break; } // case 2145 case 2153: { allConversionsFromLocationAssetMenu_ = input.readDouble(); bitField4_ |= 0x00020000; break; } // case 2153 case 2161: { allConversionsFromLocationAssetOrder_ = input.readDouble(); bitField4_ |= 0x00040000; break; } // case 2161 case 2169: { allConversionsFromLocationAssetOtherEngagement_ = input.readDouble(); bitField4_ |= 0x00080000; break; } // case 2169 case 2177: { allConversionsFromLocationAssetStoreVisits_ = input.readDouble(); bitField4_ |= 0x00100000; break; } // case 2177 case 2185: { allConversionsFromLocationAssetWebsite_ = input.readDouble(); bitField4_ |= 0x00200000; break; } // case 2185 case 2192: { eligibleImpressionsFromLocationAssetStoreReach_ = input.readInt64(); bitField4_ |= 0x00400000; break; } // case 2192 case 2201: { viewThroughConversionsFromLocationAssetClickToCall_ = input.readDouble(); bitField4_ |= 0x00800000; break; } // case 2201 case 2209: { viewThroughConversionsFromLocationAssetDirections_ = input.readDouble(); bitField4_ |= 0x01000000; break; } // case 2209 case 2217: { viewThroughConversionsFromLocationAssetMenu_ = input.readDouble(); bitField4_ |= 0x02000000; break; } // case 2217 case 2225: { viewThroughConversionsFromLocationAssetOrder_ = input.readDouble(); bitField4_ |= 0x04000000; break; } // case 2225 case 2233: { viewThroughConversionsFromLocationAssetOtherEngagement_ = input.readDouble(); bitField4_ |= 0x08000000; break; } // case 2233 case 2241: { viewThroughConversionsFromLocationAssetStoreVisits_ = input.readDouble(); bitField4_ |= 0x10000000; break; } // case 2241 case 2249: { viewThroughConversionsFromLocationAssetWebsite_ = input.readDouble(); bitField4_ |= 0x20000000; break; } // case 2249 case 2320: { averageTargetCpaMicros_ = input.readInt64(); bitField3_ |= 0x04000000; break; } // case 2320 case 2336: { skAdNetworkTotalConversions_ = input.readInt64(); bitField4_ |= 0x00000800; break; } // case 2336 case 2345: { newCustomerLifetimeValue_ = input.readDouble(); bitField1_ |= 0x00200000; break; } // case 2345 case 2353: { allNewCustomerLifetimeValue_ = input.readDouble(); bitField0_ |= 0x00000800; break; } // case 2353 case 2362: { input.readMessage( getSearchVolumeFieldBuilder().getBuilder(), extensionRegistry); bitField3_ |= 0x01000000; break; } // case 2362 case 2369: { orders_ = input.readDouble(); bitField4_ |= 0x40000000; break; } // case 2369 case 2376: { averageOrderValueMicros_ = input.readInt64(); bitField4_ |= 0x80000000; break; } // case 2376 case 2385: { averageCartSize_ = input.readDouble(); bitField5_ |= 0x00000001; break; } // case 2385 case 2392: { costOfGoodsSoldMicros_ = input.readInt64(); bitField5_ |= 0x00000002; break; } // case 2392 case 2400: { grossProfitMicros_ = input.readInt64(); bitField5_ |= 0x00000004; break; } // case 2400 case 2409: { grossProfitMargin_ = input.readDouble(); bitField5_ |= 0x00000008; break; } // case 2409 case 2416: { revenueMicros_ = input.readInt64(); bitField5_ |= 0x00000010; break; } // case 2416 case 2425: { unitsSold_ = input.readDouble(); bitField5_ |= 0x00000020; break; } // case 2425 case 2432: { crossSellCostOfGoodsSoldMicros_ = input.readInt64(); bitField5_ |= 0x00000040; break; } // case 2432 case 2440: { crossSellGrossProfitMicros_ = input.readInt64(); bitField5_ |= 0x00000080; break; } // case 2440 case 2448: { crossSellRevenueMicros_ = input.readInt64(); bitField5_ |= 0x00000100; break; } // case 2448 case 2457: { crossSellUnitsSold_ = input.readDouble(); bitField5_ |= 0x00000200; break; } // case 2457 case 2464: { leadCostOfGoodsSoldMicros_ = input.readInt64(); bitField5_ |= 0x00000400; break; } // case 2464 case 2472: { leadGrossProfitMicros_ = input.readInt64(); bitField5_ |= 0x00000800; break; } // case 2472 case 2480: { leadRevenueMicros_ = input.readInt64(); bitField5_ |= 0x00001000; break; } // case 2480 case 2489: { leadUnitsSold_ = input.readDouble(); bitField5_ |= 0x00002000; break; } // case 2489 case 2496: { crossDeviceConversionsValueMicros_ = input.readInt64(); bitField1_ |= 0x80000000; break; } // case 2496 case 2552: { uniqueUsers_ = input.readInt64(); bitField5_ |= 0x00004000; break; } // case 2552 case 2561: { averageImpressionFrequencyPerUser_ = input.readDouble(); bitField5_ |= 0x00008000; break; } // case 2561 case 2728: { linkedEntitiesCount_ = input.readInt64(); bitField5_ |= 0x00010000; break; } // case 2728 case 2738: { java.lang.String s = input.readStringRequireUtf8(); ensureLinkedSampleEntitiesIsMutable(); linkedSampleEntities_.add(s); break; } // case 2738 case 2746: { java.lang.String s = input.readStringRequireUtf8(); ensureSampleBestPerformanceEntitiesIsMutable(); sampleBestPerformanceEntities_.add(s); break; } // case 2746 case 2754: { java.lang.String s = input.readStringRequireUtf8(); ensureSampleGoodPerformanceEntitiesIsMutable(); sampleGoodPerformanceEntities_.add(s); break; } // case 2754 case 2762: { java.lang.String s = input.readStringRequireUtf8(); ensureSampleLowPerformanceEntitiesIsMutable(); sampleLowPerformanceEntities_.add(s); break; } // case 2762 case 2770: { java.lang.String s = input.readStringRequireUtf8(); ensureSampleLearningPerformanceEntitiesIsMutable(); sampleLearningPerformanceEntities_.add(s); break; } // case 2770 case 2778: { java.lang.String s = input.readStringRequireUtf8(); ensureSampleUnratedPerformanceEntitiesIsMutable(); sampleUnratedPerformanceEntities_.add(s); break; } // case 2778 case 2784: { assetPinnedTotalCount_ = input.readInt64(); bitField5_ |= 0x00800000; break; } // case 2784 case 2792: { assetPinnedAsHeadlinePositionOneCount_ = input.readInt64(); bitField5_ |= 0x01000000; break; } // case 2792 case 2800: { assetPinnedAsHeadlinePositionTwoCount_ = input.readInt64(); bitField5_ |= 0x02000000; break; } // case 2800 case 2808: { assetPinnedAsHeadlinePositionThreeCount_ = input.readInt64(); bitField5_ |= 0x04000000; break; } // case 2808 case 2816: { assetPinnedAsDescriptionPositionOneCount_ = input.readInt64(); bitField5_ |= 0x08000000; break; } // case 2816 case 2824: { assetPinnedAsDescriptionPositionTwoCount_ = input.readInt64(); bitField5_ |= 0x10000000; break; } // case 2824 case 2833: { assetBestPerformanceImpressionPercentage_ = input.readDouble(); bitField5_ |= 0x20000000; break; } // case 2833 case 2841: { assetGoodPerformanceImpressionPercentage_ = input.readDouble(); bitField5_ |= 0x40000000; break; } // case 2841 case 2849: { assetLowPerformanceImpressionPercentage_ = input.readDouble(); bitField5_ |= 0x80000000; break; } // case 2849 case 2857: { assetLearningPerformanceImpressionPercentage_ = input.readDouble(); bitField6_ |= 0x00000001; break; } // case 2857 case 2865: { assetUnratedPerformanceImpressionPercentage_ = input.readDouble(); bitField6_ |= 0x00000002; break; } // case 2865 case 2873: { assetBestPerformanceCostPercentage_ = input.readDouble(); bitField6_ |= 0x00000004; break; } // case 2873 case 2881: { assetGoodPerformanceCostPercentage_ = input.readDouble(); bitField6_ |= 0x00000008; break; } // case 2881 case 2889: { assetLowPerformanceCostPercentage_ = input.readDouble(); bitField6_ |= 0x00000010; break; } // case 2889 case 2897: { assetLearningPerformanceCostPercentage_ = input.readDouble(); bitField6_ |= 0x00000020; break; } // case 2897 case 2905: { assetUnratedPerformanceCostPercentage_ = input.readDouble(); bitField6_ |= 0x00000040; break; } // case 2905 case 2921: { storeVisitsLastClickModelAttributedConversions_ = input.readDouble(); bitField6_ |= 0x00000080; break; } // case 2921 case 2929: { resultsConversionsPurchase_ = input.readDouble(); bitField6_ |= 0x00000100; break; } // case 2929 case 2937: { videoViewRateInFeed_ = input.readDouble(); bitField6_ |= 0x00000200; break; } // case 2937 case 2945: { videoViewRateInStream_ = input.readDouble(); bitField6_ |= 0x00000400; break; } // case 2945 case 2953: { videoViewRateShorts_ = input.readDouble(); bitField6_ |= 0x00000800; break; } // case 2953 case 2961: { generalInvalidClickRate_ = input.readDouble(); bitField2_ |= 0x08000000; break; } // case 2961 case 2968: { generalInvalidClicks_ = input.readInt64(); bitField2_ |= 0x10000000; break; } // case 2968 default: { if (!super.parseUnknownField(input, extensionRegistry, tag)) { done = true; // was an endgroup tag } break; } // default: } // switch (tag) } // while (!done) } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.unwrapIOException(); } finally { onChanged(); } // finally return this; } private int bitField0_; private int bitField1_; private int bitField2_; private int bitField3_; private int bitField4_; private int bitField5_; private int bitField6_; private double absoluteTopImpressionPercentage_ ; /** *
     * Search absolute top impression share is the percentage of your Search ad
     * impressions that are shown in the most prominent Search position.
     * 
* * optional double absolute_top_impression_percentage = 183; * @return Whether the absoluteTopImpressionPercentage field is set. */ @java.lang.Override public boolean hasAbsoluteTopImpressionPercentage() { return ((bitField0_ & 0x00000001) != 0); } /** *
     * Search absolute top impression share is the percentage of your Search ad
     * impressions that are shown in the most prominent Search position.
     * 
* * optional double absolute_top_impression_percentage = 183; * @return The absoluteTopImpressionPercentage. */ @java.lang.Override public double getAbsoluteTopImpressionPercentage() { return absoluteTopImpressionPercentage_; } /** *
     * Search absolute top impression share is the percentage of your Search ad
     * impressions that are shown in the most prominent Search position.
     * 
* * optional double absolute_top_impression_percentage = 183; * @param value The absoluteTopImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAbsoluteTopImpressionPercentage(double value) { absoluteTopImpressionPercentage_ = value; bitField0_ |= 0x00000001; onChanged(); return this; } /** *
     * Search absolute top impression share is the percentage of your Search ad
     * impressions that are shown in the most prominent Search position.
     * 
* * optional double absolute_top_impression_percentage = 183; * @return This builder for chaining. */ public Builder clearAbsoluteTopImpressionPercentage() { bitField0_ = (bitField0_ & ~0x00000001); absoluteTopImpressionPercentage_ = 0D; onChanged(); return this; } private double activeViewCpm_ ; /** *
     * Average cost of viewable impressions (`active_view_impressions`).
     * 
* * optional double active_view_cpm = 184; * @return Whether the activeViewCpm field is set. */ @java.lang.Override public boolean hasActiveViewCpm() { return ((bitField0_ & 0x00000002) != 0); } /** *
     * Average cost of viewable impressions (`active_view_impressions`).
     * 
* * optional double active_view_cpm = 184; * @return The activeViewCpm. */ @java.lang.Override public double getActiveViewCpm() { return activeViewCpm_; } /** *
     * Average cost of viewable impressions (`active_view_impressions`).
     * 
* * optional double active_view_cpm = 184; * @param value The activeViewCpm to set. * @return This builder for chaining. */ public Builder setActiveViewCpm(double value) { activeViewCpm_ = value; bitField0_ |= 0x00000002; onChanged(); return this; } /** *
     * Average cost of viewable impressions (`active_view_impressions`).
     * 
* * optional double active_view_cpm = 184; * @return This builder for chaining. */ public Builder clearActiveViewCpm() { bitField0_ = (bitField0_ & ~0x00000002); activeViewCpm_ = 0D; onChanged(); return this; } private double activeViewCtr_ ; /** *
     * Active view measurable clicks divided by active view viewable impressions.
     *
     * This metric is reported only for the Display Network.
     * 
* * optional double active_view_ctr = 185; * @return Whether the activeViewCtr field is set. */ @java.lang.Override public boolean hasActiveViewCtr() { return ((bitField0_ & 0x00000004) != 0); } /** *
     * Active view measurable clicks divided by active view viewable impressions.
     *
     * This metric is reported only for the Display Network.
     * 
* * optional double active_view_ctr = 185; * @return The activeViewCtr. */ @java.lang.Override public double getActiveViewCtr() { return activeViewCtr_; } /** *
     * Active view measurable clicks divided by active view viewable impressions.
     *
     * This metric is reported only for the Display Network.
     * 
* * optional double active_view_ctr = 185; * @param value The activeViewCtr to set. * @return This builder for chaining. */ public Builder setActiveViewCtr(double value) { activeViewCtr_ = value; bitField0_ |= 0x00000004; onChanged(); return this; } /** *
     * Active view measurable clicks divided by active view viewable impressions.
     *
     * This metric is reported only for the Display Network.
     * 
* * optional double active_view_ctr = 185; * @return This builder for chaining. */ public Builder clearActiveViewCtr() { bitField0_ = (bitField0_ & ~0x00000004); activeViewCtr_ = 0D; onChanged(); return this; } private long activeViewImpressions_ ; /** *
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     * 
* * optional int64 active_view_impressions = 186; * @return Whether the activeViewImpressions field is set. */ @java.lang.Override public boolean hasActiveViewImpressions() { return ((bitField0_ & 0x00000008) != 0); } /** *
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     * 
* * optional int64 active_view_impressions = 186; * @return The activeViewImpressions. */ @java.lang.Override public long getActiveViewImpressions() { return activeViewImpressions_; } /** *
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     * 
* * optional int64 active_view_impressions = 186; * @param value The activeViewImpressions to set. * @return This builder for chaining. */ public Builder setActiveViewImpressions(long value) { activeViewImpressions_ = value; bitField0_ |= 0x00000008; onChanged(); return this; } /** *
     * A measurement of how often your ad has become viewable on a Display
     * Network site.
     * 
* * optional int64 active_view_impressions = 186; * @return This builder for chaining. */ public Builder clearActiveViewImpressions() { bitField0_ = (bitField0_ & ~0x00000008); activeViewImpressions_ = 0L; onChanged(); return this; } private double activeViewMeasurability_ ; /** *
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     * 
* * optional double active_view_measurability = 187; * @return Whether the activeViewMeasurability field is set. */ @java.lang.Override public boolean hasActiveViewMeasurability() { return ((bitField0_ & 0x00000010) != 0); } /** *
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     * 
* * optional double active_view_measurability = 187; * @return The activeViewMeasurability. */ @java.lang.Override public double getActiveViewMeasurability() { return activeViewMeasurability_; } /** *
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     * 
* * optional double active_view_measurability = 187; * @param value The activeViewMeasurability to set. * @return This builder for chaining. */ public Builder setActiveViewMeasurability(double value) { activeViewMeasurability_ = value; bitField0_ |= 0x00000010; onChanged(); return this; } /** *
     * The ratio of impressions that could be measured by Active View over the
     * number of served impressions.
     * 
* * optional double active_view_measurability = 187; * @return This builder for chaining. */ public Builder clearActiveViewMeasurability() { bitField0_ = (bitField0_ & ~0x00000010); activeViewMeasurability_ = 0D; onChanged(); return this; } private long activeViewMeasurableCostMicros_ ; /** *
     * The cost of the impressions you received that were measurable by Active
     * View.
     * 
* * optional int64 active_view_measurable_cost_micros = 188; * @return Whether the activeViewMeasurableCostMicros field is set. */ @java.lang.Override public boolean hasActiveViewMeasurableCostMicros() { return ((bitField0_ & 0x00000020) != 0); } /** *
     * The cost of the impressions you received that were measurable by Active
     * View.
     * 
* * optional int64 active_view_measurable_cost_micros = 188; * @return The activeViewMeasurableCostMicros. */ @java.lang.Override public long getActiveViewMeasurableCostMicros() { return activeViewMeasurableCostMicros_; } /** *
     * The cost of the impressions you received that were measurable by Active
     * View.
     * 
* * optional int64 active_view_measurable_cost_micros = 188; * @param value The activeViewMeasurableCostMicros to set. * @return This builder for chaining. */ public Builder setActiveViewMeasurableCostMicros(long value) { activeViewMeasurableCostMicros_ = value; bitField0_ |= 0x00000020; onChanged(); return this; } /** *
     * The cost of the impressions you received that were measurable by Active
     * View.
     * 
* * optional int64 active_view_measurable_cost_micros = 188; * @return This builder for chaining. */ public Builder clearActiveViewMeasurableCostMicros() { bitField0_ = (bitField0_ & ~0x00000020); activeViewMeasurableCostMicros_ = 0L; onChanged(); return this; } private long activeViewMeasurableImpressions_ ; /** *
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     * 
* * optional int64 active_view_measurable_impressions = 189; * @return Whether the activeViewMeasurableImpressions field is set. */ @java.lang.Override public boolean hasActiveViewMeasurableImpressions() { return ((bitField0_ & 0x00000040) != 0); } /** *
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     * 
* * optional int64 active_view_measurable_impressions = 189; * @return The activeViewMeasurableImpressions. */ @java.lang.Override public long getActiveViewMeasurableImpressions() { return activeViewMeasurableImpressions_; } /** *
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     * 
* * optional int64 active_view_measurable_impressions = 189; * @param value The activeViewMeasurableImpressions to set. * @return This builder for chaining. */ public Builder setActiveViewMeasurableImpressions(long value) { activeViewMeasurableImpressions_ = value; bitField0_ |= 0x00000040; onChanged(); return this; } /** *
     * The number of times your ads are appearing on placements in positions
     * where they can be seen.
     * 
* * optional int64 active_view_measurable_impressions = 189; * @return This builder for chaining. */ public Builder clearActiveViewMeasurableImpressions() { bitField0_ = (bitField0_ & ~0x00000040); activeViewMeasurableImpressions_ = 0L; onChanged(); return this; } private double activeViewViewability_ ; /** *
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     * 
* * optional double active_view_viewability = 190; * @return Whether the activeViewViewability field is set. */ @java.lang.Override public boolean hasActiveViewViewability() { return ((bitField0_ & 0x00000080) != 0); } /** *
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     * 
* * optional double active_view_viewability = 190; * @return The activeViewViewability. */ @java.lang.Override public double getActiveViewViewability() { return activeViewViewability_; } /** *
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     * 
* * optional double active_view_viewability = 190; * @param value The activeViewViewability to set. * @return This builder for chaining. */ public Builder setActiveViewViewability(double value) { activeViewViewability_ = value; bitField0_ |= 0x00000080; onChanged(); return this; } /** *
     * The percentage of time when your ad appeared on an Active View enabled site
     * (measurable impressions) and was viewable (viewable impressions).
     * 
* * optional double active_view_viewability = 190; * @return This builder for chaining. */ public Builder clearActiveViewViewability() { bitField0_ = (bitField0_ & ~0x00000080); activeViewViewability_ = 0D; onChanged(); return this; } private double allConversionsFromInteractionsRate_ ; /** *
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     * 
* * optional double all_conversions_from_interactions_rate = 191; * @return Whether the allConversionsFromInteractionsRate field is set. */ @java.lang.Override public boolean hasAllConversionsFromInteractionsRate() { return ((bitField0_ & 0x00000100) != 0); } /** *
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     * 
* * optional double all_conversions_from_interactions_rate = 191; * @return The allConversionsFromInteractionsRate. */ @java.lang.Override public double getAllConversionsFromInteractionsRate() { return allConversionsFromInteractionsRate_; } /** *
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     * 
* * optional double all_conversions_from_interactions_rate = 191; * @param value The allConversionsFromInteractionsRate to set. * @return This builder for chaining. */ public Builder setAllConversionsFromInteractionsRate(double value) { allConversionsFromInteractionsRate_ = value; bitField0_ |= 0x00000100; onChanged(); return this; } /** *
     * All conversions from interactions (as oppose to view through conversions)
     * divided by the number of ad interactions.
     * 
* * optional double all_conversions_from_interactions_rate = 191; * @return This builder for chaining. */ public Builder clearAllConversionsFromInteractionsRate() { bitField0_ = (bitField0_ & ~0x00000100); allConversionsFromInteractionsRate_ = 0D; onChanged(); return this; } private double allConversionsValue_ ; /** *
     * The value of all conversions.
     * 
* * optional double all_conversions_value = 192; * @return Whether the allConversionsValue field is set. */ @java.lang.Override public boolean hasAllConversionsValue() { return ((bitField0_ & 0x00000200) != 0); } /** *
     * The value of all conversions.
     * 
* * optional double all_conversions_value = 192; * @return The allConversionsValue. */ @java.lang.Override public double getAllConversionsValue() { return allConversionsValue_; } /** *
     * The value of all conversions.
     * 
* * optional double all_conversions_value = 192; * @param value The allConversionsValue to set. * @return This builder for chaining. */ public Builder setAllConversionsValue(double value) { allConversionsValue_ = value; bitField0_ |= 0x00000200; onChanged(); return this; } /** *
     * The value of all conversions.
     * 
* * optional double all_conversions_value = 192; * @return This builder for chaining. */ public Builder clearAllConversionsValue() { bitField0_ = (bitField0_ & ~0x00000200); allConversionsValue_ = 0D; onChanged(); return this; } private double allConversionsValueByConversionDate_ ; /** *
     * 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.
     * 
* * optional double all_conversions_value_by_conversion_date = 240; * @return Whether the allConversionsValueByConversionDate field is set. */ @java.lang.Override public boolean hasAllConversionsValueByConversionDate() { return ((bitField0_ & 0x00000400) != 0); } /** *
     * 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.
     * 
* * optional double all_conversions_value_by_conversion_date = 240; * @return The allConversionsValueByConversionDate. */ @java.lang.Override public double getAllConversionsValueByConversionDate() { return allConversionsValueByConversionDate_; } /** *
     * 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.
     * 
* * optional double all_conversions_value_by_conversion_date = 240; * @param value The allConversionsValueByConversionDate to set. * @return This builder for chaining. */ public Builder setAllConversionsValueByConversionDate(double value) { allConversionsValueByConversionDate_ = value; bitField0_ |= 0x00000400; onChanged(); 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.
     * 
* * optional double all_conversions_value_by_conversion_date = 240; * @return This builder for chaining. */ public Builder clearAllConversionsValueByConversionDate() { bitField0_ = (bitField0_ & ~0x00000400); allConversionsValueByConversionDate_ = 0D; onChanged(); return this; } private double allNewCustomerLifetimeValue_ ; /** *
     * All of new customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for both
     * biddable and non-biddable conversions. If your campaign has adopted the
     * customer acquisition goal and selected "bid higher for new customers",
     * these values will be included in "all_conversions_value". See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double all_new_customer_lifetime_value = 294; * @return Whether the allNewCustomerLifetimeValue field is set. */ @java.lang.Override public boolean hasAllNewCustomerLifetimeValue() { return ((bitField0_ & 0x00000800) != 0); } /** *
     * All of new customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for both
     * biddable and non-biddable conversions. If your campaign has adopted the
     * customer acquisition goal and selected "bid higher for new customers",
     * these values will be included in "all_conversions_value". See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double all_new_customer_lifetime_value = 294; * @return The allNewCustomerLifetimeValue. */ @java.lang.Override public double getAllNewCustomerLifetimeValue() { return allNewCustomerLifetimeValue_; } /** *
     * All of new customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for both
     * biddable and non-biddable conversions. If your campaign has adopted the
     * customer acquisition goal and selected "bid higher for new customers",
     * these values will be included in "all_conversions_value". See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double all_new_customer_lifetime_value = 294; * @param value The allNewCustomerLifetimeValue to set. * @return This builder for chaining. */ public Builder setAllNewCustomerLifetimeValue(double value) { allNewCustomerLifetimeValue_ = value; bitField0_ |= 0x00000800; onChanged(); return this; } /** *
     * All of new customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for both
     * biddable and non-biddable conversions. If your campaign has adopted the
     * customer acquisition goal and selected "bid higher for new customers",
     * these values will be included in "all_conversions_value". See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double all_new_customer_lifetime_value = 294; * @return This builder for chaining. */ public Builder clearAllNewCustomerLifetimeValue() { bitField0_ = (bitField0_ & ~0x00000800); allNewCustomerLifetimeValue_ = 0D; onChanged(); return this; } private double allConversions_ ; /** *
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     * 
* * optional double all_conversions = 193; * @return Whether the allConversions field is set. */ @java.lang.Override public boolean hasAllConversions() { return ((bitField0_ & 0x00001000) != 0); } /** *
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     * 
* * optional double all_conversions = 193; * @return The allConversions. */ @java.lang.Override public double getAllConversions() { return allConversions_; } /** *
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     * 
* * optional double all_conversions = 193; * @param value The allConversions to set. * @return This builder for chaining. */ public Builder setAllConversions(double value) { allConversions_ = value; bitField0_ |= 0x00001000; onChanged(); return this; } /** *
     * The total number of conversions. This includes all conversions regardless
     * of the value of include_in_conversions_metric.
     * 
* * optional double all_conversions = 193; * @return This builder for chaining. */ public Builder clearAllConversions() { bitField0_ = (bitField0_ & ~0x00001000); allConversions_ = 0D; onChanged(); return this; } private double allConversionsByConversionDate_ ; /** *
     * 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.
     * 
* * optional double all_conversions_by_conversion_date = 241; * @return Whether the allConversionsByConversionDate field is set. */ @java.lang.Override public boolean hasAllConversionsByConversionDate() { return ((bitField0_ & 0x00002000) != 0); } /** *
     * 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.
     * 
* * optional double all_conversions_by_conversion_date = 241; * @return The allConversionsByConversionDate. */ @java.lang.Override public double getAllConversionsByConversionDate() { return allConversionsByConversionDate_; } /** *
     * 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.
     * 
* * optional double all_conversions_by_conversion_date = 241; * @param value The allConversionsByConversionDate to set. * @return This builder for chaining. */ public Builder setAllConversionsByConversionDate(double value) { allConversionsByConversionDate_ = value; bitField0_ |= 0x00002000; onChanged(); 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.
     * 
* * optional double all_conversions_by_conversion_date = 241; * @return This builder for chaining. */ public Builder clearAllConversionsByConversionDate() { bitField0_ = (bitField0_ & ~0x00002000); allConversionsByConversionDate_ = 0D; onChanged(); return this; } private double allConversionsValuePerCost_ ; /** *
     * The value of all conversions divided by the total cost of ad interactions
     * (such as clicks for text ads or views for video ads).
     * 
* * optional double all_conversions_value_per_cost = 194; * @return Whether the allConversionsValuePerCost field is set. */ @java.lang.Override public boolean hasAllConversionsValuePerCost() { return ((bitField0_ & 0x00004000) != 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).
     * 
* * optional double all_conversions_value_per_cost = 194; * @return The allConversionsValuePerCost. */ @java.lang.Override public double getAllConversionsValuePerCost() { return allConversionsValuePerCost_; } /** *
     * The value of all conversions divided by the total cost of ad interactions
     * (such as clicks for text ads or views for video ads).
     * 
* * optional double all_conversions_value_per_cost = 194; * @param value The allConversionsValuePerCost to set. * @return This builder for chaining. */ public Builder setAllConversionsValuePerCost(double value) { allConversionsValuePerCost_ = value; bitField0_ |= 0x00004000; onChanged(); 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).
     * 
* * optional double all_conversions_value_per_cost = 194; * @return This builder for chaining. */ public Builder clearAllConversionsValuePerCost() { bitField0_ = (bitField0_ & ~0x00004000); allConversionsValuePerCost_ = 0D; onChanged(); return this; } private double allConversionsFromClickToCall_ ; /** *
     * 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.
     * 
* * optional double all_conversions_from_click_to_call = 195; * @return Whether the allConversionsFromClickToCall field is set. */ @java.lang.Override public boolean hasAllConversionsFromClickToCall() { return ((bitField0_ & 0x00008000) != 0); } /** *
     * 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.
     * 
* * optional double all_conversions_from_click_to_call = 195; * @return The allConversionsFromClickToCall. */ @java.lang.Override public double getAllConversionsFromClickToCall() { return allConversionsFromClickToCall_; } /** *
     * 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.
     * 
* * optional double all_conversions_from_click_to_call = 195; * @param value The allConversionsFromClickToCall to set. * @return This builder for chaining. */ public Builder setAllConversionsFromClickToCall(double value) { allConversionsFromClickToCall_ = value; bitField0_ |= 0x00008000; onChanged(); 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.
     * 
* * optional double all_conversions_from_click_to_call = 195; * @return This builder for chaining. */ public Builder clearAllConversionsFromClickToCall() { bitField0_ = (bitField0_ & ~0x00008000); allConversionsFromClickToCall_ = 0D; onChanged(); return this; } private double allConversionsFromDirections_ ; /** *
     * 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.
     * 
* * optional double all_conversions_from_directions = 196; * @return Whether the allConversionsFromDirections field is set. */ @java.lang.Override public boolean hasAllConversionsFromDirections() { return ((bitField0_ & 0x00010000) != 0); } /** *
     * 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.
     * 
* * optional double all_conversions_from_directions = 196; * @return The allConversionsFromDirections. */ @java.lang.Override public double getAllConversionsFromDirections() { return allConversionsFromDirections_; } /** *
     * 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.
     * 
* * optional double all_conversions_from_directions = 196; * @param value The allConversionsFromDirections to set. * @return This builder for chaining. */ public Builder setAllConversionsFromDirections(double value) { allConversionsFromDirections_ = value; bitField0_ |= 0x00010000; onChanged(); 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.
     * 
* * optional double all_conversions_from_directions = 196; * @return This builder for chaining. */ public Builder clearAllConversionsFromDirections() { bitField0_ = (bitField0_ & ~0x00010000); allConversionsFromDirections_ = 0D; onChanged(); return this; } private double allConversionsFromInteractionsValuePerInteraction_ ; /** *
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     * 
* * optional double all_conversions_from_interactions_value_per_interaction = 197; * @return Whether the allConversionsFromInteractionsValuePerInteraction field is set. */ @java.lang.Override public boolean hasAllConversionsFromInteractionsValuePerInteraction() { return ((bitField0_ & 0x00020000) != 0); } /** *
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     * 
* * optional double all_conversions_from_interactions_value_per_interaction = 197; * @return The allConversionsFromInteractionsValuePerInteraction. */ @java.lang.Override public double getAllConversionsFromInteractionsValuePerInteraction() { return allConversionsFromInteractionsValuePerInteraction_; } /** *
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     * 
* * optional double all_conversions_from_interactions_value_per_interaction = 197; * @param value The allConversionsFromInteractionsValuePerInteraction to set. * @return This builder for chaining. */ public Builder setAllConversionsFromInteractionsValuePerInteraction(double value) { allConversionsFromInteractionsValuePerInteraction_ = value; bitField0_ |= 0x00020000; onChanged(); return this; } /** *
     * The value of all conversions from interactions divided by the total number
     * of interactions.
     * 
* * optional double all_conversions_from_interactions_value_per_interaction = 197; * @return This builder for chaining. */ public Builder clearAllConversionsFromInteractionsValuePerInteraction() { bitField0_ = (bitField0_ & ~0x00020000); allConversionsFromInteractionsValuePerInteraction_ = 0D; onChanged(); return this; } private double allConversionsFromMenu_ ; /** *
     * 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.
     * 
* * optional double all_conversions_from_menu = 198; * @return Whether the allConversionsFromMenu field is set. */ @java.lang.Override public boolean hasAllConversionsFromMenu() { return ((bitField0_ & 0x00040000) != 0); } /** *
     * 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.
     * 
* * optional double all_conversions_from_menu = 198; * @return The allConversionsFromMenu. */ @java.lang.Override public double getAllConversionsFromMenu() { return allConversionsFromMenu_; } /** *
     * 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.
     * 
* * optional double all_conversions_from_menu = 198; * @param value The allConversionsFromMenu to set. * @return This builder for chaining. */ public Builder setAllConversionsFromMenu(double value) { allConversionsFromMenu_ = value; bitField0_ |= 0x00040000; onChanged(); 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.
     * 
* * optional double all_conversions_from_menu = 198; * @return This builder for chaining. */ public Builder clearAllConversionsFromMenu() { bitField0_ = (bitField0_ & ~0x00040000); allConversionsFromMenu_ = 0D; onChanged(); return this; } private double allConversionsFromOrder_ ; /** *
     * The number of times people placed an order at a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_order = 199; * @return Whether the allConversionsFromOrder field is set. */ @java.lang.Override public boolean hasAllConversionsFromOrder() { return ((bitField0_ & 0x00080000) != 0); } /** *
     * The number of times people placed an order at a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_order = 199; * @return The allConversionsFromOrder. */ @java.lang.Override public double getAllConversionsFromOrder() { return allConversionsFromOrder_; } /** *
     * The number of times people placed an order at a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_order = 199; * @param value The allConversionsFromOrder to set. * @return This builder for chaining. */ public Builder setAllConversionsFromOrder(double value) { allConversionsFromOrder_ = value; bitField0_ |= 0x00080000; onChanged(); return this; } /** *
     * The number of times people placed an order at a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_order = 199; * @return This builder for chaining. */ public Builder clearAllConversionsFromOrder() { bitField0_ = (bitField0_ & ~0x00080000); allConversionsFromOrder_ = 0D; onChanged(); return this; } private double allConversionsFromOtherEngagement_ ; /** *
     * 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.
     * 
* * optional double all_conversions_from_other_engagement = 200; * @return Whether the allConversionsFromOtherEngagement field is set. */ @java.lang.Override public boolean hasAllConversionsFromOtherEngagement() { return ((bitField0_ & 0x00100000) != 0); } /** *
     * 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.
     * 
* * optional double all_conversions_from_other_engagement = 200; * @return The allConversionsFromOtherEngagement. */ @java.lang.Override public double getAllConversionsFromOtherEngagement() { return allConversionsFromOtherEngagement_; } /** *
     * 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.
     * 
* * optional double all_conversions_from_other_engagement = 200; * @param value The allConversionsFromOtherEngagement to set. * @return This builder for chaining. */ public Builder setAllConversionsFromOtherEngagement(double value) { allConversionsFromOtherEngagement_ = value; bitField0_ |= 0x00100000; onChanged(); 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.
     * 
* * optional double all_conversions_from_other_engagement = 200; * @return This builder for chaining. */ public Builder clearAllConversionsFromOtherEngagement() { bitField0_ = (bitField0_ & ~0x00100000); allConversionsFromOtherEngagement_ = 0D; onChanged(); return this; } private double allConversionsFromStoreVisit_ ; /** *
     * Estimated number of times people visited a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_visit = 201; * @return Whether the allConversionsFromStoreVisit field is set. */ @java.lang.Override public boolean hasAllConversionsFromStoreVisit() { return ((bitField0_ & 0x00200000) != 0); } /** *
     * Estimated number of times people visited a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_visit = 201; * @return The allConversionsFromStoreVisit. */ @java.lang.Override public double getAllConversionsFromStoreVisit() { return allConversionsFromStoreVisit_; } /** *
     * Estimated number of times people visited a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_visit = 201; * @param value The allConversionsFromStoreVisit to set. * @return This builder for chaining. */ public Builder setAllConversionsFromStoreVisit(double value) { allConversionsFromStoreVisit_ = value; bitField0_ |= 0x00200000; onChanged(); return this; } /** *
     * Estimated number of times people visited a store after clicking an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_visit = 201; * @return This builder for chaining. */ public Builder clearAllConversionsFromStoreVisit() { bitField0_ = (bitField0_ & ~0x00200000); allConversionsFromStoreVisit_ = 0D; onChanged(); return this; } private double allConversionsFromStoreWebsite_ ; /** *
     * The number of times that people were taken to a store's URL after clicking
     * an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_website = 202; * @return Whether the allConversionsFromStoreWebsite field is set. */ @java.lang.Override public boolean hasAllConversionsFromStoreWebsite() { return ((bitField0_ & 0x00400000) != 0); } /** *
     * The number of times that people were taken to a store's URL after clicking
     * an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_website = 202; * @return The allConversionsFromStoreWebsite. */ @java.lang.Override public double getAllConversionsFromStoreWebsite() { return allConversionsFromStoreWebsite_; } /** *
     * The number of times that people were taken to a store's URL after clicking
     * an ad.
     *
     * This metric applies to feed items only.
     * 
* * optional double all_conversions_from_store_website = 202; * @param value The allConversionsFromStoreWebsite to set. * @return This builder for chaining. */ public Builder setAllConversionsFromStoreWebsite(double value) { allConversionsFromStoreWebsite_ = value; bitField0_ |= 0x00400000; onChanged(); 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.
     * 
* * optional double all_conversions_from_store_website = 202; * @return This builder for chaining. */ public Builder clearAllConversionsFromStoreWebsite() { bitField0_ = (bitField0_ & ~0x00400000); allConversionsFromStoreWebsite_ = 0D; onChanged(); return this; } private double auctionInsightSearchAbsoluteTopImpressionPercentage_ ; /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed in the most prominent position on the
     * search results page.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_absolute_top_impression_percentage = 258; * @return Whether the auctionInsightSearchAbsoluteTopImpressionPercentage field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchAbsoluteTopImpressionPercentage() { return ((bitField0_ & 0x00800000) != 0); } /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed in the most prominent position on the
     * search results page.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_absolute_top_impression_percentage = 258; * @return The auctionInsightSearchAbsoluteTopImpressionPercentage. */ @java.lang.Override public double getAuctionInsightSearchAbsoluteTopImpressionPercentage() { return auctionInsightSearchAbsoluteTopImpressionPercentage_; } /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed in the most prominent position on the
     * search results page.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_absolute_top_impression_percentage = 258; * @param value The auctionInsightSearchAbsoluteTopImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAuctionInsightSearchAbsoluteTopImpressionPercentage(double value) { auctionInsightSearchAbsoluteTopImpressionPercentage_ = value; bitField0_ |= 0x00800000; onChanged(); return this; } /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed in the most prominent position on the
     * search results page.
     * This percentage is computed only over the auctions that you appeared in
     * the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_absolute_top_impression_percentage = 258; * @return This builder for chaining. */ public Builder clearAuctionInsightSearchAbsoluteTopImpressionPercentage() { bitField0_ = (bitField0_ & ~0x00800000); auctionInsightSearchAbsoluteTopImpressionPercentage_ = 0D; onChanged(); return this; } private double auctionInsightSearchImpressionShare_ ; /** *
     * 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.
     * 
* * optional double auction_insight_search_impression_share = 259; * @return Whether the auctionInsightSearchImpressionShare field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchImpressionShare() { return ((bitField0_ & 0x01000000) != 0); } /** *
     * 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.
     * 
* * optional double auction_insight_search_impression_share = 259; * @return The auctionInsightSearchImpressionShare. */ @java.lang.Override public double getAuctionInsightSearchImpressionShare() { return auctionInsightSearchImpressionShare_; } /** *
     * 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.
     * 
* * optional double auction_insight_search_impression_share = 259; * @param value The auctionInsightSearchImpressionShare to set. * @return This builder for chaining. */ public Builder setAuctionInsightSearchImpressionShare(double value) { auctionInsightSearchImpressionShare_ = value; bitField0_ |= 0x01000000; onChanged(); 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.
     * 
* * optional double auction_insight_search_impression_share = 259; * @return This builder for chaining. */ public Builder clearAuctionInsightSearchImpressionShare() { bitField0_ = (bitField0_ & ~0x01000000); auctionInsightSearchImpressionShare_ = 0D; onChanged(); return this; } private double auctionInsightSearchOutrankingShare_ ; /** *
     * 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.
     * 
* * optional double auction_insight_search_outranking_share = 260; * @return Whether the auctionInsightSearchOutrankingShare field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchOutrankingShare() { return ((bitField0_ & 0x02000000) != 0); } /** *
     * 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.
     * 
* * optional double auction_insight_search_outranking_share = 260; * @return The auctionInsightSearchOutrankingShare. */ @java.lang.Override public double getAuctionInsightSearchOutrankingShare() { return auctionInsightSearchOutrankingShare_; } /** *
     * 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.
     * 
* * optional double auction_insight_search_outranking_share = 260; * @param value The auctionInsightSearchOutrankingShare to set. * @return This builder for chaining. */ public Builder setAuctionInsightSearchOutrankingShare(double value) { auctionInsightSearchOutrankingShare_ = value; bitField0_ |= 0x02000000; onChanged(); 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.
     * 
* * optional double auction_insight_search_outranking_share = 260; * @return This builder for chaining. */ public Builder clearAuctionInsightSearchOutrankingShare() { bitField0_ = (bitField0_ & ~0x02000000); auctionInsightSearchOutrankingShare_ = 0D; onChanged(); return this; } private double auctionInsightSearchOverlapRate_ ; /** *
     * 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.
     * 
* * optional double auction_insight_search_overlap_rate = 261; * @return Whether the auctionInsightSearchOverlapRate field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchOverlapRate() { return ((bitField0_ & 0x04000000) != 0); } /** *
     * 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.
     * 
* * optional double auction_insight_search_overlap_rate = 261; * @return The auctionInsightSearchOverlapRate. */ @java.lang.Override public double getAuctionInsightSearchOverlapRate() { return auctionInsightSearchOverlapRate_; } /** *
     * 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.
     * 
* * optional double auction_insight_search_overlap_rate = 261; * @param value The auctionInsightSearchOverlapRate to set. * @return This builder for chaining. */ public Builder setAuctionInsightSearchOverlapRate(double value) { auctionInsightSearchOverlapRate_ = value; bitField0_ |= 0x04000000; onChanged(); 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.
     * 
* * optional double auction_insight_search_overlap_rate = 261; * @return This builder for chaining. */ public Builder clearAuctionInsightSearchOverlapRate() { bitField0_ = (bitField0_ & ~0x04000000); auctionInsightSearchOverlapRate_ = 0D; onChanged(); return this; } private double auctionInsightSearchPositionAboveRate_ ; /** *
     * 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.
     * 
* * optional double auction_insight_search_position_above_rate = 262; * @return Whether the auctionInsightSearchPositionAboveRate field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchPositionAboveRate() { return ((bitField0_ & 0x08000000) != 0); } /** *
     * 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.
     * 
* * optional double auction_insight_search_position_above_rate = 262; * @return The auctionInsightSearchPositionAboveRate. */ @java.lang.Override public double getAuctionInsightSearchPositionAboveRate() { return auctionInsightSearchPositionAboveRate_; } /** *
     * 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.
     * 
* * optional double auction_insight_search_position_above_rate = 262; * @param value The auctionInsightSearchPositionAboveRate to set. * @return This builder for chaining. */ public Builder setAuctionInsightSearchPositionAboveRate(double value) { auctionInsightSearchPositionAboveRate_ = value; bitField0_ |= 0x08000000; onChanged(); 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.
     * 
* * optional double auction_insight_search_position_above_rate = 262; * @return This builder for chaining. */ public Builder clearAuctionInsightSearchPositionAboveRate() { bitField0_ = (bitField0_ & ~0x08000000); auctionInsightSearchPositionAboveRate_ = 0D; onChanged(); return this; } private double auctionInsightSearchTopImpressionPercentage_ ; /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed adjacent to the top organic search
     * results. This percentage is computed only over the auctions that you
     * appeared in the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_top_impression_percentage = 263; * @return Whether the auctionInsightSearchTopImpressionPercentage field is set. */ @java.lang.Override public boolean hasAuctionInsightSearchTopImpressionPercentage() { return ((bitField0_ & 0x10000000) != 0); } /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed adjacent to the top organic search
     * results. This percentage is computed only over the auctions that you
     * appeared in the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_top_impression_percentage = 263; * @return The auctionInsightSearchTopImpressionPercentage. */ @java.lang.Override public double getAuctionInsightSearchTopImpressionPercentage() { return auctionInsightSearchTopImpressionPercentage_; } /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed adjacent to the top organic search
     * results. This percentage is computed only over the auctions that you
     * appeared in the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_top_impression_percentage = 263; * @param value The auctionInsightSearchTopImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAuctionInsightSearchTopImpressionPercentage(double value) { auctionInsightSearchTopImpressionPercentage_ = value; bitField0_ |= 0x10000000; onChanged(); return this; } /** *
     * This metric is part of the Auction Insights report, and tells how often
     * the ads of another participant showed adjacent to the top organic search
     * results. This percentage is computed only over the auctions that you
     * appeared in the page.
     *
     * This metric is not publicly available.
     * 
* * optional double auction_insight_search_top_impression_percentage = 263; * @return This builder for chaining. */ public Builder clearAuctionInsightSearchTopImpressionPercentage() { bitField0_ = (bitField0_ & ~0x10000000); auctionInsightSearchTopImpressionPercentage_ = 0D; onChanged(); return this; } private double averageCost_ ; /** *
     * The average amount you pay per interaction. This amount is the total cost
     * of your ads divided by the total number of interactions.
     * 
* * optional double average_cost = 203; * @return Whether the averageCost field is set. */ @java.lang.Override public boolean hasAverageCost() { return ((bitField0_ & 0x20000000) != 0); } /** *
     * The average amount you pay per interaction. This amount is the total cost
     * of your ads divided by the total number of interactions.
     * 
* * optional double average_cost = 203; * @return The averageCost. */ @java.lang.Override public double getAverageCost() { return averageCost_; } /** *
     * The average amount you pay per interaction. This amount is the total cost
     * of your ads divided by the total number of interactions.
     * 
* * optional double average_cost = 203; * @param value The averageCost to set. * @return This builder for chaining. */ public Builder setAverageCost(double value) { averageCost_ = value; bitField0_ |= 0x20000000; onChanged(); 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.
     * 
* * optional double average_cost = 203; * @return This builder for chaining. */ public Builder clearAverageCost() { bitField0_ = (bitField0_ & ~0x20000000); averageCost_ = 0D; onChanged(); return this; } private double averageCpc_ ; /** *
     * The total cost of all clicks divided by the total number of clicks
     * received.
     * 
* * optional double average_cpc = 204; * @return Whether the averageCpc field is set. */ @java.lang.Override public boolean hasAverageCpc() { return ((bitField0_ & 0x40000000) != 0); } /** *
     * The total cost of all clicks divided by the total number of clicks
     * received.
     * 
* * optional double average_cpc = 204; * @return The averageCpc. */ @java.lang.Override public double getAverageCpc() { return averageCpc_; } /** *
     * The total cost of all clicks divided by the total number of clicks
     * received.
     * 
* * optional double average_cpc = 204; * @param value The averageCpc to set. * @return This builder for chaining. */ public Builder setAverageCpc(double value) { averageCpc_ = value; bitField0_ |= 0x40000000; onChanged(); return this; } /** *
     * The total cost of all clicks divided by the total number of clicks
     * received.
     * 
* * optional double average_cpc = 204; * @return This builder for chaining. */ public Builder clearAverageCpc() { bitField0_ = (bitField0_ & ~0x40000000); averageCpc_ = 0D; onChanged(); return this; } private double averageCpe_ ; /** *
     * 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.
     * 
* * optional double average_cpe = 205; * @return Whether the averageCpe field is set. */ @java.lang.Override public boolean hasAverageCpe() { return ((bitField0_ & 0x80000000) != 0); } /** *
     * 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.
     * 
* * optional double average_cpe = 205; * @return The averageCpe. */ @java.lang.Override public double getAverageCpe() { return averageCpe_; } /** *
     * 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.
     * 
* * optional double average_cpe = 205; * @param value The averageCpe to set. * @return This builder for chaining. */ public Builder setAverageCpe(double value) { averageCpe_ = value; bitField0_ |= 0x80000000; onChanged(); 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.
     * 
* * optional double average_cpe = 205; * @return This builder for chaining. */ public Builder clearAverageCpe() { bitField0_ = (bitField0_ & ~0x80000000); averageCpe_ = 0D; onChanged(); return this; } private double averageCpm_ ; /** *
     * Average cost-per-thousand impressions (CPM).
     * 
* * optional double average_cpm = 206; * @return Whether the averageCpm field is set. */ @java.lang.Override public boolean hasAverageCpm() { return ((bitField1_ & 0x00000001) != 0); } /** *
     * Average cost-per-thousand impressions (CPM).
     * 
* * optional double average_cpm = 206; * @return The averageCpm. */ @java.lang.Override public double getAverageCpm() { return averageCpm_; } /** *
     * Average cost-per-thousand impressions (CPM).
     * 
* * optional double average_cpm = 206; * @param value The averageCpm to set. * @return This builder for chaining. */ public Builder setAverageCpm(double value) { averageCpm_ = value; bitField1_ |= 0x00000001; onChanged(); return this; } /** *
     * Average cost-per-thousand impressions (CPM).
     * 
* * optional double average_cpm = 206; * @return This builder for chaining. */ public Builder clearAverageCpm() { bitField1_ = (bitField1_ & ~0x00000001); averageCpm_ = 0D; onChanged(); return this; } private double averageCpv_ ; /** *
     * 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.
     * 
* * optional double average_cpv = 207; * @return Whether the averageCpv field is set. */ @java.lang.Override public boolean hasAverageCpv() { return ((bitField1_ & 0x00000002) != 0); } /** *
     * 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.
     * 
* * optional double average_cpv = 207; * @return The averageCpv. */ @java.lang.Override public double getAverageCpv() { return averageCpv_; } /** *
     * 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.
     * 
* * optional double average_cpv = 207; * @param value The averageCpv to set. * @return This builder for chaining. */ public Builder setAverageCpv(double value) { averageCpv_ = value; bitField1_ |= 0x00000002; onChanged(); 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.
     * 
* * optional double average_cpv = 207; * @return This builder for chaining. */ public Builder clearAverageCpv() { bitField1_ = (bitField1_ & ~0x00000002); averageCpv_ = 0D; onChanged(); return this; } private double averagePageViews_ ; /** *
     * Average number of pages viewed per session.
     * 
* * optional double average_page_views = 208; * @return Whether the averagePageViews field is set. */ @java.lang.Override public boolean hasAveragePageViews() { return ((bitField1_ & 0x00000004) != 0); } /** *
     * Average number of pages viewed per session.
     * 
* * optional double average_page_views = 208; * @return The averagePageViews. */ @java.lang.Override public double getAveragePageViews() { return averagePageViews_; } /** *
     * Average number of pages viewed per session.
     * 
* * optional double average_page_views = 208; * @param value The averagePageViews to set. * @return This builder for chaining. */ public Builder setAveragePageViews(double value) { averagePageViews_ = value; bitField1_ |= 0x00000004; onChanged(); return this; } /** *
     * Average number of pages viewed per session.
     * 
* * optional double average_page_views = 208; * @return This builder for chaining. */ public Builder clearAveragePageViews() { bitField1_ = (bitField1_ & ~0x00000004); averagePageViews_ = 0D; onChanged(); return this; } private double averageTimeOnSite_ ; /** *
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     * 
* * optional double average_time_on_site = 209; * @return Whether the averageTimeOnSite field is set. */ @java.lang.Override public boolean hasAverageTimeOnSite() { return ((bitField1_ & 0x00000008) != 0); } /** *
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     * 
* * optional double average_time_on_site = 209; * @return The averageTimeOnSite. */ @java.lang.Override public double getAverageTimeOnSite() { return averageTimeOnSite_; } /** *
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     * 
* * optional double average_time_on_site = 209; * @param value The averageTimeOnSite to set. * @return This builder for chaining. */ public Builder setAverageTimeOnSite(double value) { averageTimeOnSite_ = value; bitField1_ |= 0x00000008; onChanged(); return this; } /** *
     * Total duration of all sessions (in seconds) / number of sessions. Imported
     * from Google Analytics.
     * 
* * optional double average_time_on_site = 209; * @return This builder for chaining. */ public Builder clearAverageTimeOnSite() { bitField1_ = (bitField1_ & ~0x00000008); averageTimeOnSite_ = 0D; onChanged(); return this; } private double benchmarkAverageMaxCpc_ ; /** *
     * An indication of how other advertisers are bidding on similar products.
     * 
* * optional double benchmark_average_max_cpc = 210; * @return Whether the benchmarkAverageMaxCpc field is set. */ @java.lang.Override public boolean hasBenchmarkAverageMaxCpc() { return ((bitField1_ & 0x00000010) != 0); } /** *
     * An indication of how other advertisers are bidding on similar products.
     * 
* * optional double benchmark_average_max_cpc = 210; * @return The benchmarkAverageMaxCpc. */ @java.lang.Override public double getBenchmarkAverageMaxCpc() { return benchmarkAverageMaxCpc_; } /** *
     * An indication of how other advertisers are bidding on similar products.
     * 
* * optional double benchmark_average_max_cpc = 210; * @param value The benchmarkAverageMaxCpc to set. * @return This builder for chaining. */ public Builder setBenchmarkAverageMaxCpc(double value) { benchmarkAverageMaxCpc_ = value; bitField1_ |= 0x00000010; onChanged(); return this; } /** *
     * An indication of how other advertisers are bidding on similar products.
     * 
* * optional double benchmark_average_max_cpc = 210; * @return This builder for chaining. */ public Builder clearBenchmarkAverageMaxCpc() { bitField1_ = (bitField1_ & ~0x00000010); benchmarkAverageMaxCpc_ = 0D; onChanged(); return this; } private double biddableAppInstallConversions_ ; /** *
     * Number of app installs.
     * 
* * optional double biddable_app_install_conversions = 254; * @return Whether the biddableAppInstallConversions field is set. */ @java.lang.Override public boolean hasBiddableAppInstallConversions() { return ((bitField1_ & 0x00000020) != 0); } /** *
     * Number of app installs.
     * 
* * optional double biddable_app_install_conversions = 254; * @return The biddableAppInstallConversions. */ @java.lang.Override public double getBiddableAppInstallConversions() { return biddableAppInstallConversions_; } /** *
     * Number of app installs.
     * 
* * optional double biddable_app_install_conversions = 254; * @param value The biddableAppInstallConversions to set. * @return This builder for chaining. */ public Builder setBiddableAppInstallConversions(double value) { biddableAppInstallConversions_ = value; bitField1_ |= 0x00000020; onChanged(); return this; } /** *
     * Number of app installs.
     * 
* * optional double biddable_app_install_conversions = 254; * @return This builder for chaining. */ public Builder clearBiddableAppInstallConversions() { bitField1_ = (bitField1_ & ~0x00000020); biddableAppInstallConversions_ = 0D; onChanged(); return this; } private double biddableAppPostInstallConversions_ ; /** *
     * Number of in-app actions.
     * 
* * optional double biddable_app_post_install_conversions = 255; * @return Whether the biddableAppPostInstallConversions field is set. */ @java.lang.Override public boolean hasBiddableAppPostInstallConversions() { return ((bitField1_ & 0x00000040) != 0); } /** *
     * Number of in-app actions.
     * 
* * optional double biddable_app_post_install_conversions = 255; * @return The biddableAppPostInstallConversions. */ @java.lang.Override public double getBiddableAppPostInstallConversions() { return biddableAppPostInstallConversions_; } /** *
     * Number of in-app actions.
     * 
* * optional double biddable_app_post_install_conversions = 255; * @param value The biddableAppPostInstallConversions to set. * @return This builder for chaining. */ public Builder setBiddableAppPostInstallConversions(double value) { biddableAppPostInstallConversions_ = value; bitField1_ |= 0x00000040; onChanged(); return this; } /** *
     * Number of in-app actions.
     * 
* * optional double biddable_app_post_install_conversions = 255; * @return This builder for chaining. */ public Builder clearBiddableAppPostInstallConversions() { bitField1_ = (bitField1_ & ~0x00000040); biddableAppPostInstallConversions_ = 0D; onChanged(); return this; } private double benchmarkCtr_ ; /** *
     * 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.
     * 
* * optional double benchmark_ctr = 211; * @return Whether the benchmarkCtr field is set. */ @java.lang.Override public boolean hasBenchmarkCtr() { return ((bitField1_ & 0x00000080) != 0); } /** *
     * 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.
     * 
* * optional double benchmark_ctr = 211; * @return The benchmarkCtr. */ @java.lang.Override public double getBenchmarkCtr() { return benchmarkCtr_; } /** *
     * 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.
     * 
* * optional double benchmark_ctr = 211; * @param value The benchmarkCtr to set. * @return This builder for chaining. */ public Builder setBenchmarkCtr(double value) { benchmarkCtr_ = value; bitField1_ |= 0x00000080; onChanged(); 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.
     * 
* * optional double benchmark_ctr = 211; * @return This builder for chaining. */ public Builder clearBenchmarkCtr() { bitField1_ = (bitField1_ & ~0x00000080); benchmarkCtr_ = 0D; onChanged(); return this; } private double bounceRate_ ; /** *
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     * 
* * optional double bounce_rate = 212; * @return Whether the bounceRate field is set. */ @java.lang.Override public boolean hasBounceRate() { return ((bitField1_ & 0x00000100) != 0); } /** *
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     * 
* * optional double bounce_rate = 212; * @return The bounceRate. */ @java.lang.Override public double getBounceRate() { return bounceRate_; } /** *
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     * 
* * optional double bounce_rate = 212; * @param value The bounceRate to set. * @return This builder for chaining. */ public Builder setBounceRate(double value) { bounceRate_ = value; bitField1_ |= 0x00000100; onChanged(); return this; } /** *
     * Percentage of clicks where the user only visited a single page on your
     * site. Imported from Google Analytics.
     * 
* * optional double bounce_rate = 212; * @return This builder for chaining. */ public Builder clearBounceRate() { bitField1_ = (bitField1_ & ~0x00000100); bounceRate_ = 0D; onChanged(); return this; } private long clicks_ ; /** *
     * The number of clicks.
     * 
* * optional int64 clicks = 131; * @return Whether the clicks field is set. */ @java.lang.Override public boolean hasClicks() { return ((bitField1_ & 0x00000200) != 0); } /** *
     * The number of clicks.
     * 
* * optional int64 clicks = 131; * @return The clicks. */ @java.lang.Override public long getClicks() { return clicks_; } /** *
     * The number of clicks.
     * 
* * optional int64 clicks = 131; * @param value The clicks to set. * @return This builder for chaining. */ public Builder setClicks(long value) { clicks_ = value; bitField1_ |= 0x00000200; onChanged(); return this; } /** *
     * The number of clicks.
     * 
* * optional int64 clicks = 131; * @return This builder for chaining. */ public Builder clearClicks() { bitField1_ = (bitField1_ & ~0x00000200); clicks_ = 0L; onChanged(); return this; } private long combinedClicks_ ; /** *
     * 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.
     * 
* * optional int64 combined_clicks = 156; * @return Whether the combinedClicks field is set. */ @java.lang.Override public boolean hasCombinedClicks() { return ((bitField1_ & 0x00000400) != 0); } /** *
     * 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.
     * 
* * optional int64 combined_clicks = 156; * @return The combinedClicks. */ @java.lang.Override public long getCombinedClicks() { return combinedClicks_; } /** *
     * 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.
     * 
* * optional int64 combined_clicks = 156; * @param value The combinedClicks to set. * @return This builder for chaining. */ public Builder setCombinedClicks(long value) { combinedClicks_ = value; bitField1_ |= 0x00000400; onChanged(); 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.
     * 
* * optional int64 combined_clicks = 156; * @return This builder for chaining. */ public Builder clearCombinedClicks() { bitField1_ = (bitField1_ & ~0x00000400); combinedClicks_ = 0L; onChanged(); return this; } private double combinedClicksPerQuery_ ; /** *
     * 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.
     * 
* * optional double combined_clicks_per_query = 157; * @return Whether the combinedClicksPerQuery field is set. */ @java.lang.Override public boolean hasCombinedClicksPerQuery() { return ((bitField1_ & 0x00000800) != 0); } /** *
     * 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.
     * 
* * optional double combined_clicks_per_query = 157; * @return The combinedClicksPerQuery. */ @java.lang.Override public double getCombinedClicksPerQuery() { return combinedClicksPerQuery_; } /** *
     * 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.
     * 
* * optional double combined_clicks_per_query = 157; * @param value The combinedClicksPerQuery to set. * @return This builder for chaining. */ public Builder setCombinedClicksPerQuery(double value) { combinedClicksPerQuery_ = value; bitField1_ |= 0x00000800; onChanged(); 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.
     * 
* * optional double combined_clicks_per_query = 157; * @return This builder for chaining. */ public Builder clearCombinedClicksPerQuery() { bitField1_ = (bitField1_ & ~0x00000800); combinedClicksPerQuery_ = 0D; onChanged(); return this; } private long combinedQueries_ ; /** *
     * 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.
     * 
* * optional int64 combined_queries = 158; * @return Whether the combinedQueries field is set. */ @java.lang.Override public boolean hasCombinedQueries() { return ((bitField1_ & 0x00001000) != 0); } /** *
     * 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.
     * 
* * optional int64 combined_queries = 158; * @return The combinedQueries. */ @java.lang.Override public long getCombinedQueries() { return combinedQueries_; } /** *
     * 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.
     * 
* * optional int64 combined_queries = 158; * @param value The combinedQueries to set. * @return This builder for chaining. */ public Builder setCombinedQueries(long value) { combinedQueries_ = value; bitField1_ |= 0x00001000; onChanged(); 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.
     * 
* * optional int64 combined_queries = 158; * @return This builder for chaining. */ public Builder clearCombinedQueries() { bitField1_ = (bitField1_ & ~0x00001000); combinedQueries_ = 0L; onChanged(); return this; } private double contentBudgetLostImpressionShare_ ; /** *
     * 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.
     * 
* * optional double content_budget_lost_impression_share = 159; * @return Whether the contentBudgetLostImpressionShare field is set. */ @java.lang.Override public boolean hasContentBudgetLostImpressionShare() { return ((bitField1_ & 0x00002000) != 0); } /** *
     * 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.
     * 
* * optional double content_budget_lost_impression_share = 159; * @return The contentBudgetLostImpressionShare. */ @java.lang.Override public double getContentBudgetLostImpressionShare() { return contentBudgetLostImpressionShare_; } /** *
     * 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.
     * 
* * optional double content_budget_lost_impression_share = 159; * @param value The contentBudgetLostImpressionShare to set. * @return This builder for chaining. */ public Builder setContentBudgetLostImpressionShare(double value) { contentBudgetLostImpressionShare_ = value; bitField1_ |= 0x00002000; onChanged(); 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.
     * 
* * optional double content_budget_lost_impression_share = 159; * @return This builder for chaining. */ public Builder clearContentBudgetLostImpressionShare() { bitField1_ = (bitField1_ & ~0x00002000); contentBudgetLostImpressionShare_ = 0D; onChanged(); return this; } private double contentImpressionShare_ ; /** *
     * 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.
     * 
* * optional double content_impression_share = 160; * @return Whether the contentImpressionShare field is set. */ @java.lang.Override public boolean hasContentImpressionShare() { return ((bitField1_ & 0x00004000) != 0); } /** *
     * 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.
     * 
* * optional double content_impression_share = 160; * @return The contentImpressionShare. */ @java.lang.Override public double getContentImpressionShare() { return contentImpressionShare_; } /** *
     * 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.
     * 
* * optional double content_impression_share = 160; * @param value The contentImpressionShare to set. * @return This builder for chaining. */ public Builder setContentImpressionShare(double value) { contentImpressionShare_ = value; bitField1_ |= 0x00004000; onChanged(); 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.
     * 
* * optional double content_impression_share = 160; * @return This builder for chaining. */ public Builder clearContentImpressionShare() { bitField1_ = (bitField1_ & ~0x00004000); contentImpressionShare_ = 0D; onChanged(); return this; } private java.lang.Object conversionLastReceivedRequestDateTime_ = ""; /** *
     * 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 (for example, 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.
     * 
* * optional string conversion_last_received_request_date_time = 161; * @return Whether the conversionLastReceivedRequestDateTime field is set. */ public boolean hasConversionLastReceivedRequestDateTime() { return ((bitField1_ & 0x00008000) != 0); } /** *
     * 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 (for example, 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.
     * 
* * optional string conversion_last_received_request_date_time = 161; * @return The conversionLastReceivedRequestDateTime. */ public java.lang.String getConversionLastReceivedRequestDateTime() { java.lang.Object ref = conversionLastReceivedRequestDateTime_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); conversionLastReceivedRequestDateTime_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * 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 (for example, 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.
     * 
* * optional string conversion_last_received_request_date_time = 161; * @return The bytes for conversionLastReceivedRequestDateTime. */ public com.google.protobuf.ByteString getConversionLastReceivedRequestDateTimeBytes() { java.lang.Object ref = conversionLastReceivedRequestDateTime_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); conversionLastReceivedRequestDateTime_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * 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 (for example, 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.
     * 
* * optional string conversion_last_received_request_date_time = 161; * @param value The conversionLastReceivedRequestDateTime to set. * @return This builder for chaining. */ public Builder setConversionLastReceivedRequestDateTime( java.lang.String value) { if (value == null) { throw new NullPointerException(); } conversionLastReceivedRequestDateTime_ = value; bitField1_ |= 0x00008000; onChanged(); 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 (for example, 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.
     * 
* * optional string conversion_last_received_request_date_time = 161; * @return This builder for chaining. */ public Builder clearConversionLastReceivedRequestDateTime() { conversionLastReceivedRequestDateTime_ = getDefaultInstance().getConversionLastReceivedRequestDateTime(); bitField1_ = (bitField1_ & ~0x00008000); onChanged(); 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 (for example, 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.
     * 
* * optional string conversion_last_received_request_date_time = 161; * @param value The bytes for conversionLastReceivedRequestDateTime to set. * @return This builder for chaining. */ public Builder setConversionLastReceivedRequestDateTimeBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); conversionLastReceivedRequestDateTime_ = value; bitField1_ |= 0x00008000; onChanged(); return this; } private java.lang.Object conversionLastConversionDate_ = ""; /** *
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     * 
* * optional string conversion_last_conversion_date = 162; * @return Whether the conversionLastConversionDate field is set. */ public boolean hasConversionLastConversionDate() { return ((bitField1_ & 0x00010000) != 0); } /** *
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     * 
* * optional string conversion_last_conversion_date = 162; * @return The conversionLastConversionDate. */ public java.lang.String getConversionLastConversionDate() { java.lang.Object ref = conversionLastConversionDate_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); conversionLastConversionDate_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     * 
* * optional string conversion_last_conversion_date = 162; * @return The bytes for conversionLastConversionDate. */ public com.google.protobuf.ByteString getConversionLastConversionDateBytes() { java.lang.Object ref = conversionLastConversionDate_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); conversionLastConversionDate_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     * 
* * optional string conversion_last_conversion_date = 162; * @param value The conversionLastConversionDate to set. * @return This builder for chaining. */ public Builder setConversionLastConversionDate( java.lang.String value) { if (value == null) { throw new NullPointerException(); } conversionLastConversionDate_ = value; bitField1_ |= 0x00010000; onChanged(); return this; } /** *
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     * 
* * optional string conversion_last_conversion_date = 162; * @return This builder for chaining. */ public Builder clearConversionLastConversionDate() { conversionLastConversionDate_ = getDefaultInstance().getConversionLastConversionDate(); bitField1_ = (bitField1_ & ~0x00010000); onChanged(); return this; } /** *
     * The date of the most recent conversion for this conversion action. The date
     * is in the customer's time zone.
     * 
* * optional string conversion_last_conversion_date = 162; * @param value The bytes for conversionLastConversionDate to set. * @return This builder for chaining. */ public Builder setConversionLastConversionDateBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); conversionLastConversionDate_ = value; bitField1_ |= 0x00010000; onChanged(); return this; } private double contentRankLostImpressionShare_ ; /** *
     * 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.
     * 
* * optional double content_rank_lost_impression_share = 163; * @return Whether the contentRankLostImpressionShare field is set. */ @java.lang.Override public boolean hasContentRankLostImpressionShare() { return ((bitField1_ & 0x00020000) != 0); } /** *
     * 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.
     * 
* * optional double content_rank_lost_impression_share = 163; * @return The contentRankLostImpressionShare. */ @java.lang.Override public double getContentRankLostImpressionShare() { return contentRankLostImpressionShare_; } /** *
     * 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.
     * 
* * optional double content_rank_lost_impression_share = 163; * @param value The contentRankLostImpressionShare to set. * @return This builder for chaining. */ public Builder setContentRankLostImpressionShare(double value) { contentRankLostImpressionShare_ = value; bitField1_ |= 0x00020000; onChanged(); 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.
     * 
* * optional double content_rank_lost_impression_share = 163; * @return This builder for chaining. */ public Builder clearContentRankLostImpressionShare() { bitField1_ = (bitField1_ & ~0x00020000); contentRankLostImpressionShare_ = 0D; onChanged(); return this; } private double conversionsFromInteractionsRate_ ; /** *
     * 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.
     * 
* * optional double conversions_from_interactions_rate = 164; * @return Whether the conversionsFromInteractionsRate field is set. */ @java.lang.Override public boolean hasConversionsFromInteractionsRate() { return ((bitField1_ & 0x00040000) != 0); } /** *
     * 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.
     * 
* * optional double conversions_from_interactions_rate = 164; * @return The conversionsFromInteractionsRate. */ @java.lang.Override public double getConversionsFromInteractionsRate() { return conversionsFromInteractionsRate_; } /** *
     * 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.
     * 
* * optional double conversions_from_interactions_rate = 164; * @param value The conversionsFromInteractionsRate to set. * @return This builder for chaining. */ public Builder setConversionsFromInteractionsRate(double value) { conversionsFromInteractionsRate_ = value; bitField1_ |= 0x00040000; onChanged(); 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.
     * 
* * optional double conversions_from_interactions_rate = 164; * @return This builder for chaining. */ public Builder clearConversionsFromInteractionsRate() { bitField1_ = (bitField1_ & ~0x00040000); conversionsFromInteractionsRate_ = 0D; onChanged(); return this; } private double conversionsValue_ ; /** *
     * 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.
     * 
* * optional double conversions_value = 165; * @return Whether the conversionsValue field is set. */ @java.lang.Override public boolean hasConversionsValue() { return ((bitField1_ & 0x00080000) != 0); } /** *
     * 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.
     * 
* * optional double conversions_value = 165; * @return The conversionsValue. */ @java.lang.Override public double getConversionsValue() { return conversionsValue_; } /** *
     * 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.
     * 
* * optional double conversions_value = 165; * @param value The conversionsValue to set. * @return This builder for chaining. */ public Builder setConversionsValue(double value) { conversionsValue_ = value; bitField1_ |= 0x00080000; onChanged(); 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.
     * 
* * optional double conversions_value = 165; * @return This builder for chaining. */ public Builder clearConversionsValue() { bitField1_ = (bitField1_ & ~0x00080000); conversionsValue_ = 0D; onChanged(); return this; } private double conversionsValueByConversionDate_ ; /** *
     * 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.
     * 
* * optional double conversions_value_by_conversion_date = 242; * @return Whether the conversionsValueByConversionDate field is set. */ @java.lang.Override public boolean hasConversionsValueByConversionDate() { return ((bitField1_ & 0x00100000) != 0); } /** *
     * 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.
     * 
* * optional double conversions_value_by_conversion_date = 242; * @return The conversionsValueByConversionDate. */ @java.lang.Override public double getConversionsValueByConversionDate() { return conversionsValueByConversionDate_; } /** *
     * 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.
     * 
* * optional double conversions_value_by_conversion_date = 242; * @param value The conversionsValueByConversionDate to set. * @return This builder for chaining. */ public Builder setConversionsValueByConversionDate(double value) { conversionsValueByConversionDate_ = value; bitField1_ |= 0x00100000; onChanged(); 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.
     * 
* * optional double conversions_value_by_conversion_date = 242; * @return This builder for chaining. */ public Builder clearConversionsValueByConversionDate() { bitField1_ = (bitField1_ & ~0x00100000); conversionsValueByConversionDate_ = 0D; onChanged(); return this; } private double newCustomerLifetimeValue_ ; /** *
     * New customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for
     * biddable conversions. If your campaign has adopted the customer
     * acquisition goal and selected "bid higher for new customers", these values
     * will be included in "conversions_value" for optimization. See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double new_customer_lifetime_value = 293; * @return Whether the newCustomerLifetimeValue field is set. */ @java.lang.Override public boolean hasNewCustomerLifetimeValue() { return ((bitField1_ & 0x00200000) != 0); } /** *
     * New customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for
     * biddable conversions. If your campaign has adopted the customer
     * acquisition goal and selected "bid higher for new customers", these values
     * will be included in "conversions_value" for optimization. See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double new_customer_lifetime_value = 293; * @return The newCustomerLifetimeValue. */ @java.lang.Override public double getNewCustomerLifetimeValue() { return newCustomerLifetimeValue_; } /** *
     * New customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for
     * biddable conversions. If your campaign has adopted the customer
     * acquisition goal and selected "bid higher for new customers", these values
     * will be included in "conversions_value" for optimization. See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double new_customer_lifetime_value = 293; * @param value The newCustomerLifetimeValue to set. * @return This builder for chaining. */ public Builder setNewCustomerLifetimeValue(double value) { newCustomerLifetimeValue_ = value; bitField1_ |= 0x00200000; onChanged(); return this; } /** *
     * New customers' lifetime conversion value. If you have set up
     * customer acquisition goal at either account level or campaign level, this
     * will include the additional conversion value from new customers for
     * biddable conversions. If your campaign has adopted the customer
     * acquisition goal and selected "bid higher for new customers", these values
     * will be included in "conversions_value" for optimization. See
     * https://support.google.com/google-ads/answer/12080169 for more details.
     * 
* * optional double new_customer_lifetime_value = 293; * @return This builder for chaining. */ public Builder clearNewCustomerLifetimeValue() { bitField1_ = (bitField1_ & ~0x00200000); newCustomerLifetimeValue_ = 0D; onChanged(); return this; } private double conversionsValuePerCost_ ; /** *
     * 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.
     * 
* * optional double conversions_value_per_cost = 166; * @return Whether the conversionsValuePerCost field is set. */ @java.lang.Override public boolean hasConversionsValuePerCost() { return ((bitField1_ & 0x00400000) != 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.
     * 
* * optional double conversions_value_per_cost = 166; * @return The conversionsValuePerCost. */ @java.lang.Override public double getConversionsValuePerCost() { return conversionsValuePerCost_; } /** *
     * 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.
     * 
* * optional double conversions_value_per_cost = 166; * @param value The conversionsValuePerCost to set. * @return This builder for chaining. */ public Builder setConversionsValuePerCost(double value) { conversionsValuePerCost_ = value; bitField1_ |= 0x00400000; onChanged(); 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.
     * 
* * optional double conversions_value_per_cost = 166; * @return This builder for chaining. */ public Builder clearConversionsValuePerCost() { bitField1_ = (bitField1_ & ~0x00400000); conversionsValuePerCost_ = 0D; onChanged(); return this; } private double conversionsFromInteractionsValuePerInteraction_ ; /** *
     * 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.
     * 
* * optional double conversions_from_interactions_value_per_interaction = 167; * @return Whether the conversionsFromInteractionsValuePerInteraction field is set. */ @java.lang.Override public boolean hasConversionsFromInteractionsValuePerInteraction() { return ((bitField1_ & 0x00800000) != 0); } /** *
     * 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.
     * 
* * optional double conversions_from_interactions_value_per_interaction = 167; * @return The conversionsFromInteractionsValuePerInteraction. */ @java.lang.Override public double getConversionsFromInteractionsValuePerInteraction() { return conversionsFromInteractionsValuePerInteraction_; } /** *
     * 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.
     * 
* * optional double conversions_from_interactions_value_per_interaction = 167; * @param value The conversionsFromInteractionsValuePerInteraction to set. * @return This builder for chaining. */ public Builder setConversionsFromInteractionsValuePerInteraction(double value) { conversionsFromInteractionsValuePerInteraction_ = value; bitField1_ |= 0x00800000; onChanged(); 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.
     * 
* * optional double conversions_from_interactions_value_per_interaction = 167; * @return This builder for chaining. */ public Builder clearConversionsFromInteractionsValuePerInteraction() { bitField1_ = (bitField1_ & ~0x00800000); conversionsFromInteractionsValuePerInteraction_ = 0D; onChanged(); return this; } private double 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.
     * 
* * optional double conversions = 168; * @return Whether the conversions field is set. */ @java.lang.Override public boolean hasConversions() { return ((bitField1_ & 0x01000000) != 0); } /** *
     * 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.
     * 
* * optional double conversions = 168; * @return The conversions. */ @java.lang.Override public double getConversions() { return 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.
     * 
* * optional double conversions = 168; * @param value The conversions to set. * @return This builder for chaining. */ public Builder setConversions(double value) { conversions_ = value; bitField1_ |= 0x01000000; onChanged(); 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.
     * 
* * optional double conversions = 168; * @return This builder for chaining. */ public Builder clearConversions() { bitField1_ = (bitField1_ & ~0x01000000); conversions_ = 0D; onChanged(); return this; } private double conversionsByConversionDate_ ; /** *
     * 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.
     * 
* * optional double conversions_by_conversion_date = 243; * @return Whether the conversionsByConversionDate field is set. */ @java.lang.Override public boolean hasConversionsByConversionDate() { return ((bitField1_ & 0x02000000) != 0); } /** *
     * 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.
     * 
* * optional double conversions_by_conversion_date = 243; * @return The conversionsByConversionDate. */ @java.lang.Override public double getConversionsByConversionDate() { return conversionsByConversionDate_; } /** *
     * 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.
     * 
* * optional double conversions_by_conversion_date = 243; * @param value The conversionsByConversionDate to set. * @return This builder for chaining. */ public Builder setConversionsByConversionDate(double value) { conversionsByConversionDate_ = value; bitField1_ |= 0x02000000; onChanged(); 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.
     * 
* * optional double conversions_by_conversion_date = 243; * @return This builder for chaining. */ public Builder clearConversionsByConversionDate() { bitField1_ = (bitField1_ & ~0x02000000); conversionsByConversionDate_ = 0D; onChanged(); return this; } private long costMicros_ ; /** *
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     * 
* * optional int64 cost_micros = 169; * @return Whether the costMicros field is set. */ @java.lang.Override public boolean hasCostMicros() { return ((bitField1_ & 0x04000000) != 0); } /** *
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     * 
* * optional int64 cost_micros = 169; * @return The costMicros. */ @java.lang.Override public long getCostMicros() { return costMicros_; } /** *
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     * 
* * optional int64 cost_micros = 169; * @param value The costMicros to set. * @return This builder for chaining. */ public Builder setCostMicros(long value) { costMicros_ = value; bitField1_ |= 0x04000000; onChanged(); return this; } /** *
     * The sum of your cost-per-click (CPC) and cost-per-thousand impressions
     * (CPM) costs during this period.
     * 
* * optional int64 cost_micros = 169; * @return This builder for chaining. */ public Builder clearCostMicros() { bitField1_ = (bitField1_ & ~0x04000000); costMicros_ = 0L; onChanged(); return this; } private double costPerAllConversions_ ; /** *
     * The cost of ad interactions divided by all conversions.
     * 
* * optional double cost_per_all_conversions = 170; * @return Whether the costPerAllConversions field is set. */ @java.lang.Override public boolean hasCostPerAllConversions() { return ((bitField1_ & 0x08000000) != 0); } /** *
     * The cost of ad interactions divided by all conversions.
     * 
* * optional double cost_per_all_conversions = 170; * @return The costPerAllConversions. */ @java.lang.Override public double getCostPerAllConversions() { return costPerAllConversions_; } /** *
     * The cost of ad interactions divided by all conversions.
     * 
* * optional double cost_per_all_conversions = 170; * @param value The costPerAllConversions to set. * @return This builder for chaining. */ public Builder setCostPerAllConversions(double value) { costPerAllConversions_ = value; bitField1_ |= 0x08000000; onChanged(); return this; } /** *
     * The cost of ad interactions divided by all conversions.
     * 
* * optional double cost_per_all_conversions = 170; * @return This builder for chaining. */ public Builder clearCostPerAllConversions() { bitField1_ = (bitField1_ & ~0x08000000); costPerAllConversions_ = 0D; onChanged(); return this; } private double costPerConversion_ ; /** *
     * 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.
     * 
* * optional double cost_per_conversion = 171; * @return Whether the costPerConversion field is set. */ @java.lang.Override public boolean hasCostPerConversion() { return ((bitField1_ & 0x10000000) != 0); } /** *
     * 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.
     * 
* * optional double cost_per_conversion = 171; * @return The costPerConversion. */ @java.lang.Override public double getCostPerConversion() { return costPerConversion_; } /** *
     * 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.
     * 
* * optional double cost_per_conversion = 171; * @param value The costPerConversion to set. * @return This builder for chaining. */ public Builder setCostPerConversion(double value) { costPerConversion_ = value; bitField1_ |= 0x10000000; onChanged(); 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.
     * 
* * optional double cost_per_conversion = 171; * @return This builder for chaining. */ public Builder clearCostPerConversion() { bitField1_ = (bitField1_ & ~0x10000000); costPerConversion_ = 0D; onChanged(); return this; } private double costPerCurrentModelAttributedConversion_ ; /** *
     * 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.
     * 
* * optional double cost_per_current_model_attributed_conversion = 172; * @return Whether the costPerCurrentModelAttributedConversion field is set. */ @java.lang.Override public boolean hasCostPerCurrentModelAttributedConversion() { return ((bitField1_ & 0x20000000) != 0); } /** *
     * 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.
     * 
* * optional double cost_per_current_model_attributed_conversion = 172; * @return The costPerCurrentModelAttributedConversion. */ @java.lang.Override public double getCostPerCurrentModelAttributedConversion() { return costPerCurrentModelAttributedConversion_; } /** *
     * 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.
     * 
* * optional double cost_per_current_model_attributed_conversion = 172; * @param value The costPerCurrentModelAttributedConversion to set. * @return This builder for chaining. */ public Builder setCostPerCurrentModelAttributedConversion(double value) { costPerCurrentModelAttributedConversion_ = value; bitField1_ |= 0x20000000; onChanged(); 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.
     * 
* * optional double cost_per_current_model_attributed_conversion = 172; * @return This builder for chaining. */ public Builder clearCostPerCurrentModelAttributedConversion() { bitField1_ = (bitField1_ & ~0x20000000); costPerCurrentModelAttributedConversion_ = 0D; onChanged(); return this; } private double crossDeviceConversions_ ; /** *
     * 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.
     * 
* * optional double cross_device_conversions = 173; * @return Whether the crossDeviceConversions field is set. */ @java.lang.Override public boolean hasCrossDeviceConversions() { return ((bitField1_ & 0x40000000) != 0); } /** *
     * 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.
     * 
* * optional double cross_device_conversions = 173; * @return The crossDeviceConversions. */ @java.lang.Override public double getCrossDeviceConversions() { return crossDeviceConversions_; } /** *
     * 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.
     * 
* * optional double cross_device_conversions = 173; * @param value The crossDeviceConversions to set. * @return This builder for chaining. */ public Builder setCrossDeviceConversions(double value) { crossDeviceConversions_ = value; bitField1_ |= 0x40000000; onChanged(); 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.
     * 
* * optional double cross_device_conversions = 173; * @return This builder for chaining. */ public Builder clearCrossDeviceConversions() { bitField1_ = (bitField1_ & ~0x40000000); crossDeviceConversions_ = 0D; onChanged(); return this; } private long crossDeviceConversionsValueMicros_ ; /** *
     * The sum of the value of cross-device conversions, in micros.
     * 
* * optional int64 cross_device_conversions_value_micros = 312; * @return Whether the crossDeviceConversionsValueMicros field is set. */ @java.lang.Override public boolean hasCrossDeviceConversionsValueMicros() { return ((bitField1_ & 0x80000000) != 0); } /** *
     * The sum of the value of cross-device conversions, in micros.
     * 
* * optional int64 cross_device_conversions_value_micros = 312; * @return The crossDeviceConversionsValueMicros. */ @java.lang.Override public long getCrossDeviceConversionsValueMicros() { return crossDeviceConversionsValueMicros_; } /** *
     * The sum of the value of cross-device conversions, in micros.
     * 
* * optional int64 cross_device_conversions_value_micros = 312; * @param value The crossDeviceConversionsValueMicros to set. * @return This builder for chaining. */ public Builder setCrossDeviceConversionsValueMicros(long value) { crossDeviceConversionsValueMicros_ = value; bitField1_ |= 0x80000000; onChanged(); return this; } /** *
     * The sum of the value of cross-device conversions, in micros.
     * 
* * optional int64 cross_device_conversions_value_micros = 312; * @return This builder for chaining. */ public Builder clearCrossDeviceConversionsValueMicros() { bitField1_ = (bitField1_ & ~0x80000000); crossDeviceConversionsValueMicros_ = 0L; onChanged(); return this; } private double ctr_ ; /** *
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     * 
* * optional double ctr = 174; * @return Whether the ctr field is set. */ @java.lang.Override public boolean hasCtr() { return ((bitField2_ & 0x00000001) != 0); } /** *
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     * 
* * optional double ctr = 174; * @return The ctr. */ @java.lang.Override public double getCtr() { return ctr_; } /** *
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     * 
* * optional double ctr = 174; * @param value The ctr to set. * @return This builder for chaining. */ public Builder setCtr(double value) { ctr_ = value; bitField2_ |= 0x00000001; onChanged(); return this; } /** *
     * The number of clicks your ad receives (Clicks) divided by the number
     * of times your ad is shown (Impressions).
     * 
* * optional double ctr = 174; * @return This builder for chaining. */ public Builder clearCtr() { bitField2_ = (bitField2_ & ~0x00000001); ctr_ = 0D; onChanged(); return this; } private double currentModelAttributedConversions_ ; /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions = 175; * @return Whether the currentModelAttributedConversions field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversions() { return ((bitField2_ & 0x00000002) != 0); } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions = 175; * @return The currentModelAttributedConversions. */ @java.lang.Override public double getCurrentModelAttributedConversions() { return currentModelAttributedConversions_; } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions = 175; * @param value The currentModelAttributedConversions to set. * @return This builder for chaining. */ public Builder setCurrentModelAttributedConversions(double value) { currentModelAttributedConversions_ = value; bitField2_ |= 0x00000002; onChanged(); 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.
     * 
* * optional double current_model_attributed_conversions = 175; * @return This builder for chaining. */ public Builder clearCurrentModelAttributedConversions() { bitField2_ = (bitField2_ & ~0x00000002); currentModelAttributedConversions_ = 0D; onChanged(); return this; } private double currentModelAttributedConversionsFromInteractionsRate_ ; /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_rate = 176; * @return Whether the currentModelAttributedConversionsFromInteractionsRate field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsFromInteractionsRate() { return ((bitField2_ & 0x00000004) != 0); } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_rate = 176; * @return The currentModelAttributedConversionsFromInteractionsRate. */ @java.lang.Override public double getCurrentModelAttributedConversionsFromInteractionsRate() { return currentModelAttributedConversionsFromInteractionsRate_; } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_rate = 176; * @param value The currentModelAttributedConversionsFromInteractionsRate to set. * @return This builder for chaining. */ public Builder setCurrentModelAttributedConversionsFromInteractionsRate(double value) { currentModelAttributedConversionsFromInteractionsRate_ = value; bitField2_ |= 0x00000004; onChanged(); 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_rate = 176; * @return This builder for chaining. */ public Builder clearCurrentModelAttributedConversionsFromInteractionsRate() { bitField2_ = (bitField2_ & ~0x00000004); currentModelAttributedConversionsFromInteractionsRate_ = 0D; onChanged(); return this; } private double currentModelAttributedConversionsFromInteractionsValuePerInteraction_ ; /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177; * @return Whether the currentModelAttributedConversionsFromInteractionsValuePerInteraction field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() { return ((bitField2_ & 0x00000008) != 0); } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177; * @return The currentModelAttributedConversionsFromInteractionsValuePerInteraction. */ @java.lang.Override public double getCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() { return currentModelAttributedConversionsFromInteractionsValuePerInteraction_; } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177; * @param value The currentModelAttributedConversionsFromInteractionsValuePerInteraction to set. * @return This builder for chaining. */ public Builder setCurrentModelAttributedConversionsFromInteractionsValuePerInteraction(double value) { currentModelAttributedConversionsFromInteractionsValuePerInteraction_ = value; bitField2_ |= 0x00000008; onChanged(); 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.
     * 
* * optional double current_model_attributed_conversions_from_interactions_value_per_interaction = 177; * @return This builder for chaining. */ public Builder clearCurrentModelAttributedConversionsFromInteractionsValuePerInteraction() { bitField2_ = (bitField2_ & ~0x00000008); currentModelAttributedConversionsFromInteractionsValuePerInteraction_ = 0D; onChanged(); return this; } private double currentModelAttributedConversionsValue_ ; /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_value = 178; * @return Whether the currentModelAttributedConversionsValue field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsValue() { return ((bitField2_ & 0x00000010) != 0); } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_value = 178; * @return The currentModelAttributedConversionsValue. */ @java.lang.Override public double getCurrentModelAttributedConversionsValue() { return currentModelAttributedConversionsValue_; } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_value = 178; * @param value The currentModelAttributedConversionsValue to set. * @return This builder for chaining. */ public Builder setCurrentModelAttributedConversionsValue(double value) { currentModelAttributedConversionsValue_ = value; bitField2_ |= 0x00000010; onChanged(); 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.
     * 
* * optional double current_model_attributed_conversions_value = 178; * @return This builder for chaining. */ public Builder clearCurrentModelAttributedConversionsValue() { bitField2_ = (bitField2_ & ~0x00000010); currentModelAttributedConversionsValue_ = 0D; onChanged(); return this; } private double currentModelAttributedConversionsValuePerCost_ ; /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_value_per_cost = 179; * @return Whether the currentModelAttributedConversionsValuePerCost field is set. */ @java.lang.Override public boolean hasCurrentModelAttributedConversionsValuePerCost() { return ((bitField2_ & 0x00000020) != 0); } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_value_per_cost = 179; * @return The currentModelAttributedConversionsValuePerCost. */ @java.lang.Override public double getCurrentModelAttributedConversionsValuePerCost() { return currentModelAttributedConversionsValuePerCost_; } /** *
     * 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.
     * 
* * optional double current_model_attributed_conversions_value_per_cost = 179; * @param value The currentModelAttributedConversionsValuePerCost to set. * @return This builder for chaining. */ public Builder setCurrentModelAttributedConversionsValuePerCost(double value) { currentModelAttributedConversionsValuePerCost_ = value; bitField2_ |= 0x00000020; onChanged(); 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.
     * 
* * optional double current_model_attributed_conversions_value_per_cost = 179; * @return This builder for chaining. */ public Builder clearCurrentModelAttributedConversionsValuePerCost() { bitField2_ = (bitField2_ & ~0x00000020); currentModelAttributedConversionsValuePerCost_ = 0D; onChanged(); return this; } private double engagementRate_ ; /** *
     * 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.
     * 
* * optional double engagement_rate = 180; * @return Whether the engagementRate field is set. */ @java.lang.Override public boolean hasEngagementRate() { return ((bitField2_ & 0x00000040) != 0); } /** *
     * 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.
     * 
* * optional double engagement_rate = 180; * @return The engagementRate. */ @java.lang.Override public double getEngagementRate() { return engagementRate_; } /** *
     * 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.
     * 
* * optional double engagement_rate = 180; * @param value The engagementRate to set. * @return This builder for chaining. */ public Builder setEngagementRate(double value) { engagementRate_ = value; bitField2_ |= 0x00000040; onChanged(); 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.
     * 
* * optional double engagement_rate = 180; * @return This builder for chaining. */ public Builder clearEngagementRate() { bitField2_ = (bitField2_ & ~0x00000040); engagementRate_ = 0D; onChanged(); return this; } private long 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.
     * 
* * optional int64 engagements = 181; * @return Whether the engagements field is set. */ @java.lang.Override public boolean hasEngagements() { return ((bitField2_ & 0x00000080) != 0); } /** *
     * 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.
     * 
* * optional int64 engagements = 181; * @return The engagements. */ @java.lang.Override public long getEngagements() { return 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.
     * 
* * optional int64 engagements = 181; * @param value The engagements to set. * @return This builder for chaining. */ public Builder setEngagements(long value) { engagements_ = value; bitField2_ |= 0x00000080; onChanged(); 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.
     * 
* * optional int64 engagements = 181; * @return This builder for chaining. */ public Builder clearEngagements() { bitField2_ = (bitField2_ & ~0x00000080); engagements_ = 0L; onChanged(); return this; } private double hotelAverageLeadValueMicros_ ; /** *
     * Average lead value based on clicks.
     * 
* * optional double hotel_average_lead_value_micros = 213; * @return Whether the hotelAverageLeadValueMicros field is set. */ @java.lang.Override public boolean hasHotelAverageLeadValueMicros() { return ((bitField2_ & 0x00000100) != 0); } /** *
     * Average lead value based on clicks.
     * 
* * optional double hotel_average_lead_value_micros = 213; * @return The hotelAverageLeadValueMicros. */ @java.lang.Override public double getHotelAverageLeadValueMicros() { return hotelAverageLeadValueMicros_; } /** *
     * Average lead value based on clicks.
     * 
* * optional double hotel_average_lead_value_micros = 213; * @param value The hotelAverageLeadValueMicros to set. * @return This builder for chaining. */ public Builder setHotelAverageLeadValueMicros(double value) { hotelAverageLeadValueMicros_ = value; bitField2_ |= 0x00000100; onChanged(); return this; } /** *
     * Average lead value based on clicks.
     * 
* * optional double hotel_average_lead_value_micros = 213; * @return This builder for chaining. */ public Builder clearHotelAverageLeadValueMicros() { bitField2_ = (bitField2_ & ~0x00000100); hotelAverageLeadValueMicros_ = 0D; onChanged(); return this; } private long hotelCommissionRateMicros_ ; /** *
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     * 
* * optional int64 hotel_commission_rate_micros = 256; * @return Whether the hotelCommissionRateMicros field is set. */ @java.lang.Override public boolean hasHotelCommissionRateMicros() { return ((bitField2_ & 0x00000200) != 0); } /** *
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     * 
* * optional int64 hotel_commission_rate_micros = 256; * @return The hotelCommissionRateMicros. */ @java.lang.Override public long getHotelCommissionRateMicros() { return hotelCommissionRateMicros_; } /** *
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     * 
* * optional int64 hotel_commission_rate_micros = 256; * @param value The hotelCommissionRateMicros to set. * @return This builder for chaining. */ public Builder setHotelCommissionRateMicros(long value) { hotelCommissionRateMicros_ = value; bitField2_ |= 0x00000200; onChanged(); return this; } /** *
     * Commission bid rate in micros. A 20% commission is represented as
     * 200,000.
     * 
* * optional int64 hotel_commission_rate_micros = 256; * @return This builder for chaining. */ public Builder clearHotelCommissionRateMicros() { bitField2_ = (bitField2_ & ~0x00000200); hotelCommissionRateMicros_ = 0L; onChanged(); return this; } private double hotelExpectedCommissionCost_ ; /** *
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     * 
* * optional double hotel_expected_commission_cost = 257; * @return Whether the hotelExpectedCommissionCost field is set. */ @java.lang.Override public boolean hasHotelExpectedCommissionCost() { return ((bitField2_ & 0x00000400) != 0); } /** *
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     * 
* * optional double hotel_expected_commission_cost = 257; * @return The hotelExpectedCommissionCost. */ @java.lang.Override public double getHotelExpectedCommissionCost() { return hotelExpectedCommissionCost_; } /** *
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     * 
* * optional double hotel_expected_commission_cost = 257; * @param value The hotelExpectedCommissionCost to set. * @return This builder for chaining. */ public Builder setHotelExpectedCommissionCost(double value) { hotelExpectedCommissionCost_ = value; bitField2_ |= 0x00000400; onChanged(); return this; } /** *
     * Expected commission cost. The result of multiplying the commission value
     * times the hotel_commission_rate in advertiser currency.
     * 
* * optional double hotel_expected_commission_cost = 257; * @return This builder for chaining. */ public Builder clearHotelExpectedCommissionCost() { bitField2_ = (bitField2_ & ~0x00000400); hotelExpectedCommissionCost_ = 0D; onChanged(); return this; } private double hotelPriceDifferencePercentage_ ; /** *
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     * 
* * optional double hotel_price_difference_percentage = 214; * @return Whether the hotelPriceDifferencePercentage field is set. */ @java.lang.Override public boolean hasHotelPriceDifferencePercentage() { return ((bitField2_ & 0x00000800) != 0); } /** *
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     * 
* * optional double hotel_price_difference_percentage = 214; * @return The hotelPriceDifferencePercentage. */ @java.lang.Override public double getHotelPriceDifferencePercentage() { return hotelPriceDifferencePercentage_; } /** *
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     * 
* * optional double hotel_price_difference_percentage = 214; * @param value The hotelPriceDifferencePercentage to set. * @return This builder for chaining. */ public Builder setHotelPriceDifferencePercentage(double value) { hotelPriceDifferencePercentage_ = value; bitField2_ |= 0x00000800; onChanged(); return this; } /** *
     * The average price difference between the price offered by reporting hotel
     * advertiser and the cheapest price offered by the competing advertiser.
     * 
* * optional double hotel_price_difference_percentage = 214; * @return This builder for chaining. */ public Builder clearHotelPriceDifferencePercentage() { bitField2_ = (bitField2_ & ~0x00000800); hotelPriceDifferencePercentage_ = 0D; onChanged(); return this; } private long hotelEligibleImpressions_ ; /** *
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     * 
* * optional int64 hotel_eligible_impressions = 215; * @return Whether the hotelEligibleImpressions field is set. */ @java.lang.Override public boolean hasHotelEligibleImpressions() { return ((bitField2_ & 0x00001000) != 0); } /** *
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     * 
* * optional int64 hotel_eligible_impressions = 215; * @return The hotelEligibleImpressions. */ @java.lang.Override public long getHotelEligibleImpressions() { return hotelEligibleImpressions_; } /** *
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     * 
* * optional int64 hotel_eligible_impressions = 215; * @param value The hotelEligibleImpressions to set. * @return This builder for chaining. */ public Builder setHotelEligibleImpressions(long value) { hotelEligibleImpressions_ = value; bitField2_ |= 0x00001000; onChanged(); return this; } /** *
     * The number of impressions that hotel partners could have had given their
     * feed performance.
     * 
* * optional int64 hotel_eligible_impressions = 215; * @return This builder for chaining. */ public Builder clearHotelEligibleImpressions() { bitField2_ = (bitField2_ & ~0x00001000); hotelEligibleImpressions_ = 0L; onChanged(); return this; } private int historicalCreativeQualityScore_ = 0; /** *
     * The creative historical quality score.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @return The enum numeric value on the wire for historicalCreativeQualityScore. */ @java.lang.Override public int getHistoricalCreativeQualityScoreValue() { return historicalCreativeQualityScore_; } /** *
     * The creative historical quality score.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @param value The enum numeric value on the wire for historicalCreativeQualityScore to set. * @return This builder for chaining. */ public Builder setHistoricalCreativeQualityScoreValue(int value) { historicalCreativeQualityScore_ = value; bitField2_ |= 0x00002000; onChanged(); return this; } /** *
     * The creative historical quality score.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @return The historicalCreativeQualityScore. */ @java.lang.Override public com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket getHistoricalCreativeQualityScore() { com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket result = com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.forNumber(historicalCreativeQualityScore_); return result == null ? com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNRECOGNIZED : result; } /** *
     * The creative historical quality score.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @param value The historicalCreativeQualityScore to set. * @return This builder for chaining. */ public Builder setHistoricalCreativeQualityScore(com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket value) { if (value == null) { throw new NullPointerException(); } bitField2_ |= 0x00002000; historicalCreativeQualityScore_ = value.getNumber(); onChanged(); return this; } /** *
     * The creative historical quality score.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_creative_quality_score = 80; * @return This builder for chaining. */ public Builder clearHistoricalCreativeQualityScore() { bitField2_ = (bitField2_ & ~0x00002000); historicalCreativeQualityScore_ = 0; onChanged(); return this; } private int historicalLandingPageQualityScore_ = 0; /** *
     * The quality of historical landing page experience.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @return The enum numeric value on the wire for historicalLandingPageQualityScore. */ @java.lang.Override public int getHistoricalLandingPageQualityScoreValue() { return historicalLandingPageQualityScore_; } /** *
     * The quality of historical landing page experience.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @param value The enum numeric value on the wire for historicalLandingPageQualityScore to set. * @return This builder for chaining. */ public Builder setHistoricalLandingPageQualityScoreValue(int value) { historicalLandingPageQualityScore_ = value; bitField2_ |= 0x00004000; onChanged(); return this; } /** *
     * The quality of historical landing page experience.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @return The historicalLandingPageQualityScore. */ @java.lang.Override public com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket getHistoricalLandingPageQualityScore() { com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket result = com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.forNumber(historicalLandingPageQualityScore_); return result == null ? com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNRECOGNIZED : result; } /** *
     * The quality of historical landing page experience.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @param value The historicalLandingPageQualityScore to set. * @return This builder for chaining. */ public Builder setHistoricalLandingPageQualityScore(com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket value) { if (value == null) { throw new NullPointerException(); } bitField2_ |= 0x00004000; historicalLandingPageQualityScore_ = value.getNumber(); onChanged(); return this; } /** *
     * The quality of historical landing page experience.
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_landing_page_quality_score = 81; * @return This builder for chaining. */ public Builder clearHistoricalLandingPageQualityScore() { bitField2_ = (bitField2_ & ~0x00004000); historicalLandingPageQualityScore_ = 0; onChanged(); return this; } private long historicalQualityScore_ ; /** *
     * The historical quality score.
     * 
* * optional int64 historical_quality_score = 216; * @return Whether the historicalQualityScore field is set. */ @java.lang.Override public boolean hasHistoricalQualityScore() { return ((bitField2_ & 0x00008000) != 0); } /** *
     * The historical quality score.
     * 
* * optional int64 historical_quality_score = 216; * @return The historicalQualityScore. */ @java.lang.Override public long getHistoricalQualityScore() { return historicalQualityScore_; } /** *
     * The historical quality score.
     * 
* * optional int64 historical_quality_score = 216; * @param value The historicalQualityScore to set. * @return This builder for chaining. */ public Builder setHistoricalQualityScore(long value) { historicalQualityScore_ = value; bitField2_ |= 0x00008000; onChanged(); return this; } /** *
     * The historical quality score.
     * 
* * optional int64 historical_quality_score = 216; * @return This builder for chaining. */ public Builder clearHistoricalQualityScore() { bitField2_ = (bitField2_ & ~0x00008000); historicalQualityScore_ = 0L; onChanged(); return this; } private int historicalSearchPredictedCtr_ = 0; /** *
     * The historical search predicted click through rate (CTR).
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @return The enum numeric value on the wire for historicalSearchPredictedCtr. */ @java.lang.Override public int getHistoricalSearchPredictedCtrValue() { return historicalSearchPredictedCtr_; } /** *
     * The historical search predicted click through rate (CTR).
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @param value The enum numeric value on the wire for historicalSearchPredictedCtr to set. * @return This builder for chaining. */ public Builder setHistoricalSearchPredictedCtrValue(int value) { historicalSearchPredictedCtr_ = value; bitField2_ |= 0x00010000; onChanged(); return this; } /** *
     * The historical search predicted click through rate (CTR).
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @return The historicalSearchPredictedCtr. */ @java.lang.Override public com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket getHistoricalSearchPredictedCtr() { com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket result = com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.forNumber(historicalSearchPredictedCtr_); return result == null ? com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket.UNRECOGNIZED : result; } /** *
     * The historical search predicted click through rate (CTR).
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @param value The historicalSearchPredictedCtr to set. * @return This builder for chaining. */ public Builder setHistoricalSearchPredictedCtr(com.google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket value) { if (value == null) { throw new NullPointerException(); } bitField2_ |= 0x00010000; historicalSearchPredictedCtr_ = value.getNumber(); onChanged(); return this; } /** *
     * The historical search predicted click through rate (CTR).
     * 
* * .google.ads.googleads.v18.enums.QualityScoreBucketEnum.QualityScoreBucket historical_search_predicted_ctr = 83; * @return This builder for chaining. */ public Builder clearHistoricalSearchPredictedCtr() { bitField2_ = (bitField2_ & ~0x00010000); historicalSearchPredictedCtr_ = 0; onChanged(); return this; } private long gmailForwards_ ; /** *
     * The number of times the ad was forwarded to someone else as a message.
     * 
* * optional int64 gmail_forwards = 217; * @return Whether the gmailForwards field is set. */ @java.lang.Override public boolean hasGmailForwards() { return ((bitField2_ & 0x00020000) != 0); } /** *
     * The number of times the ad was forwarded to someone else as a message.
     * 
* * optional int64 gmail_forwards = 217; * @return The gmailForwards. */ @java.lang.Override public long getGmailForwards() { return gmailForwards_; } /** *
     * The number of times the ad was forwarded to someone else as a message.
     * 
* * optional int64 gmail_forwards = 217; * @param value The gmailForwards to set. * @return This builder for chaining. */ public Builder setGmailForwards(long value) { gmailForwards_ = value; bitField2_ |= 0x00020000; onChanged(); return this; } /** *
     * The number of times the ad was forwarded to someone else as a message.
     * 
* * optional int64 gmail_forwards = 217; * @return This builder for chaining. */ public Builder clearGmailForwards() { bitField2_ = (bitField2_ & ~0x00020000); gmailForwards_ = 0L; onChanged(); return this; } private long gmailSaves_ ; /** *
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     * 
* * optional int64 gmail_saves = 218; * @return Whether the gmailSaves field is set. */ @java.lang.Override public boolean hasGmailSaves() { return ((bitField2_ & 0x00040000) != 0); } /** *
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     * 
* * optional int64 gmail_saves = 218; * @return The gmailSaves. */ @java.lang.Override public long getGmailSaves() { return gmailSaves_; } /** *
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     * 
* * optional int64 gmail_saves = 218; * @param value The gmailSaves to set. * @return This builder for chaining. */ public Builder setGmailSaves(long value) { gmailSaves_ = value; bitField2_ |= 0x00040000; onChanged(); return this; } /** *
     * The number of times someone has saved your Gmail ad to their inbox as a
     * message.
     * 
* * optional int64 gmail_saves = 218; * @return This builder for chaining. */ public Builder clearGmailSaves() { bitField2_ = (bitField2_ & ~0x00040000); gmailSaves_ = 0L; onChanged(); return this; } private long gmailSecondaryClicks_ ; /** *
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     * 
* * optional int64 gmail_secondary_clicks = 219; * @return Whether the gmailSecondaryClicks field is set. */ @java.lang.Override public boolean hasGmailSecondaryClicks() { return ((bitField2_ & 0x00080000) != 0); } /** *
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     * 
* * optional int64 gmail_secondary_clicks = 219; * @return The gmailSecondaryClicks. */ @java.lang.Override public long getGmailSecondaryClicks() { return gmailSecondaryClicks_; } /** *
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     * 
* * optional int64 gmail_secondary_clicks = 219; * @param value The gmailSecondaryClicks to set. * @return This builder for chaining. */ public Builder setGmailSecondaryClicks(long value) { gmailSecondaryClicks_ = value; bitField2_ |= 0x00080000; onChanged(); return this; } /** *
     * The number of clicks to the landing page on the expanded state of Gmail
     * ads.
     * 
* * optional int64 gmail_secondary_clicks = 219; * @return This builder for chaining. */ public Builder clearGmailSecondaryClicks() { bitField2_ = (bitField2_ & ~0x00080000); gmailSecondaryClicks_ = 0L; onChanged(); return this; } private long impressionsFromStoreReach_ ; /** *
     * The number of times a store's location-based ad was shown.
     *
     * This metric applies to feed items only.
     * 
* * optional int64 impressions_from_store_reach = 220; * @return Whether the impressionsFromStoreReach field is set. */ @java.lang.Override public boolean hasImpressionsFromStoreReach() { return ((bitField2_ & 0x00100000) != 0); } /** *
     * The number of times a store's location-based ad was shown.
     *
     * This metric applies to feed items only.
     * 
* * optional int64 impressions_from_store_reach = 220; * @return The impressionsFromStoreReach. */ @java.lang.Override public long getImpressionsFromStoreReach() { return impressionsFromStoreReach_; } /** *
     * The number of times a store's location-based ad was shown.
     *
     * This metric applies to feed items only.
     * 
* * optional int64 impressions_from_store_reach = 220; * @param value The impressionsFromStoreReach to set. * @return This builder for chaining. */ public Builder setImpressionsFromStoreReach(long value) { impressionsFromStoreReach_ = value; bitField2_ |= 0x00100000; onChanged(); return this; } /** *
     * The number of times a store's location-based ad was shown.
     *
     * This metric applies to feed items only.
     * 
* * optional int64 impressions_from_store_reach = 220; * @return This builder for chaining. */ public Builder clearImpressionsFromStoreReach() { bitField2_ = (bitField2_ & ~0x00100000); impressionsFromStoreReach_ = 0L; onChanged(); return this; } private long impressions_ ; /** *
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     * 
* * optional int64 impressions = 221; * @return Whether the impressions field is set. */ @java.lang.Override public boolean hasImpressions() { return ((bitField2_ & 0x00200000) != 0); } /** *
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     * 
* * optional int64 impressions = 221; * @return The impressions. */ @java.lang.Override public long getImpressions() { return impressions_; } /** *
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     * 
* * optional int64 impressions = 221; * @param value The impressions to set. * @return This builder for chaining. */ public Builder setImpressions(long value) { impressions_ = value; bitField2_ |= 0x00200000; onChanged(); return this; } /** *
     * Count of how often your ad has appeared on a search results page or
     * website on the Google Network.
     * 
* * optional int64 impressions = 221; * @return This builder for chaining. */ public Builder clearImpressions() { bitField2_ = (bitField2_ & ~0x00200000); impressions_ = 0L; onChanged(); return this; } private double interactionRate_ ; /** *
     * 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.
     * 
* * optional double interaction_rate = 222; * @return Whether the interactionRate field is set. */ @java.lang.Override public boolean hasInteractionRate() { return ((bitField2_ & 0x00400000) != 0); } /** *
     * 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.
     * 
* * optional double interaction_rate = 222; * @return The interactionRate. */ @java.lang.Override public double getInteractionRate() { return interactionRate_; } /** *
     * 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.
     * 
* * optional double interaction_rate = 222; * @param value The interactionRate to set. * @return This builder for chaining. */ public Builder setInteractionRate(double value) { interactionRate_ = value; bitField2_ |= 0x00400000; onChanged(); 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.
     * 
* * optional double interaction_rate = 222; * @return This builder for chaining. */ public Builder clearInteractionRate() { bitField2_ = (bitField2_ & ~0x00400000); interactionRate_ = 0D; onChanged(); return this; } private long 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.
     * 
* * optional int64 interactions = 223; * @return Whether the interactions field is set. */ @java.lang.Override public boolean hasInteractions() { return ((bitField2_ & 0x00800000) != 0); } /** *
     * 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.
     * 
* * optional int64 interactions = 223; * @return The interactions. */ @java.lang.Override public long getInteractions() { return 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.
     * 
* * optional int64 interactions = 223; * @param value The interactions to set. * @return This builder for chaining. */ public Builder setInteractions(long value) { interactions_ = value; bitField2_ |= 0x00800000; onChanged(); 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.
     * 
* * optional int64 interactions = 223; * @return This builder for chaining. */ public Builder clearInteractions() { bitField2_ = (bitField2_ & ~0x00800000); interactions_ = 0L; onChanged(); return this; } private java.util.List interactionEventTypes_ = java.util.Collections.emptyList(); private void ensureInteractionEventTypesIsMutable() { if (!((bitField2_ & 0x01000000) != 0)) { interactionEventTypes_ = new java.util.ArrayList(interactionEventTypes_); bitField2_ |= 0x01000000; } } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return A list containing the interactionEventTypes. */ public java.util.List getInteractionEventTypesList() { return new com.google.protobuf.Internal.ListAdapter< java.lang.Integer, com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType>(interactionEventTypes_, interactionEventTypes_converter_); } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return The count of interactionEventTypes. */ public int getInteractionEventTypesCount() { return interactionEventTypes_.size(); } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param index The index of the element to return. * @return The interactionEventTypes at the given index. */ public com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType getInteractionEventTypes(int index) { return interactionEventTypes_converter_.convert(interactionEventTypes_.get(index)); } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param index The index to set the value at. * @param value The interactionEventTypes to set. * @return This builder for chaining. */ public Builder setInteractionEventTypes( int index, com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType value) { if (value == null) { throw new NullPointerException(); } ensureInteractionEventTypesIsMutable(); interactionEventTypes_.set(index, value.getNumber()); onChanged(); return this; } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param value The interactionEventTypes to add. * @return This builder for chaining. */ public Builder addInteractionEventTypes(com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType value) { if (value == null) { throw new NullPointerException(); } ensureInteractionEventTypesIsMutable(); interactionEventTypes_.add(value.getNumber()); onChanged(); return this; } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param values The interactionEventTypes to add. * @return This builder for chaining. */ public Builder addAllInteractionEventTypes( java.lang.Iterable values) { ensureInteractionEventTypesIsMutable(); for (com.google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType value : values) { interactionEventTypes_.add(value.getNumber()); } onChanged(); return this; } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return This builder for chaining. */ public Builder clearInteractionEventTypes() { interactionEventTypes_ = java.util.Collections.emptyList(); bitField2_ = (bitField2_ & ~0x01000000); onChanged(); return this; } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @return A list containing the enum numeric values on the wire for interactionEventTypes. */ public java.util.List getInteractionEventTypesValueList() { return java.util.Collections.unmodifiableList(interactionEventTypes_); } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param index The index of the value to return. * @return The enum numeric value on the wire of interactionEventTypes at the given index. */ public int getInteractionEventTypesValue(int index) { return interactionEventTypes_.get(index); } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param index The index to set the value at. * @param value The enum numeric value on the wire for interactionEventTypes to set. * @return This builder for chaining. */ public Builder setInteractionEventTypesValue( int index, int value) { ensureInteractionEventTypesIsMutable(); interactionEventTypes_.set(index, value); onChanged(); return this; } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param value The enum numeric value on the wire for interactionEventTypes to add. * @return This builder for chaining. */ public Builder addInteractionEventTypesValue(int value) { ensureInteractionEventTypesIsMutable(); interactionEventTypes_.add(value); onChanged(); return this; } /** *
     * The types of payable and free interactions.
     * 
* * repeated .google.ads.googleads.v18.enums.InteractionEventTypeEnum.InteractionEventType interaction_event_types = 100; * @param values The enum numeric values on the wire for interactionEventTypes to add. * @return This builder for chaining. */ public Builder addAllInteractionEventTypesValue( java.lang.Iterable values) { ensureInteractionEventTypesIsMutable(); for (int value : values) { interactionEventTypes_.add(value); } onChanged(); return this; } private double invalidClickRate_ ; /** *
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     * 
* * optional double invalid_click_rate = 224; * @return Whether the invalidClickRate field is set. */ @java.lang.Override public boolean hasInvalidClickRate() { return ((bitField2_ & 0x02000000) != 0); } /** *
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     * 
* * optional double invalid_click_rate = 224; * @return The invalidClickRate. */ @java.lang.Override public double getInvalidClickRate() { return invalidClickRate_; } /** *
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     * 
* * optional double invalid_click_rate = 224; * @param value The invalidClickRate to set. * @return This builder for chaining. */ public Builder setInvalidClickRate(double value) { invalidClickRate_ = value; bitField2_ |= 0x02000000; onChanged(); return this; } /** *
     * The percentage of clicks filtered out of your total number of clicks
     * (filtered + non-filtered clicks) during the reporting period.
     * 
* * optional double invalid_click_rate = 224; * @return This builder for chaining. */ public Builder clearInvalidClickRate() { bitField2_ = (bitField2_ & ~0x02000000); invalidClickRate_ = 0D; onChanged(); return this; } private long invalidClicks_ ; /** *
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     * 
* * optional int64 invalid_clicks = 225; * @return Whether the invalidClicks field is set. */ @java.lang.Override public boolean hasInvalidClicks() { return ((bitField2_ & 0x04000000) != 0); } /** *
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     * 
* * optional int64 invalid_clicks = 225; * @return The invalidClicks. */ @java.lang.Override public long getInvalidClicks() { return invalidClicks_; } /** *
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     * 
* * optional int64 invalid_clicks = 225; * @param value The invalidClicks to set. * @return This builder for chaining. */ public Builder setInvalidClicks(long value) { invalidClicks_ = value; bitField2_ |= 0x04000000; onChanged(); return this; } /** *
     * Number of clicks Google considers illegitimate and doesn't charge you for.
     * 
* * optional int64 invalid_clicks = 225; * @return This builder for chaining. */ public Builder clearInvalidClicks() { bitField2_ = (bitField2_ & ~0x04000000); invalidClicks_ = 0L; onChanged(); return this; } private double generalInvalidClickRate_ ; /** *
     * The percentage of clicks that have been filtered out of your total number
     * of clicks (filtered + non-filtered clicks) due to being general invalid
     * clicks. These are clicks Google considers illegitimate that are detected
     * through routine means of filtration (that is, known invalid data-center
     * traffic, bots and spiders or other crawlers, irregular patterns, etc).
     * You're not charged for them, and they don't affect your account statistics.
     * See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional double general_invalid_click_rate = 370; * @return Whether the generalInvalidClickRate field is set. */ @java.lang.Override public boolean hasGeneralInvalidClickRate() { return ((bitField2_ & 0x08000000) != 0); } /** *
     * The percentage of clicks that have been filtered out of your total number
     * of clicks (filtered + non-filtered clicks) due to being general invalid
     * clicks. These are clicks Google considers illegitimate that are detected
     * through routine means of filtration (that is, known invalid data-center
     * traffic, bots and spiders or other crawlers, irregular patterns, etc).
     * You're not charged for them, and they don't affect your account statistics.
     * See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional double general_invalid_click_rate = 370; * @return The generalInvalidClickRate. */ @java.lang.Override public double getGeneralInvalidClickRate() { return generalInvalidClickRate_; } /** *
     * The percentage of clicks that have been filtered out of your total number
     * of clicks (filtered + non-filtered clicks) due to being general invalid
     * clicks. These are clicks Google considers illegitimate that are detected
     * through routine means of filtration (that is, known invalid data-center
     * traffic, bots and spiders or other crawlers, irregular patterns, etc).
     * You're not charged for them, and they don't affect your account statistics.
     * See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional double general_invalid_click_rate = 370; * @param value The generalInvalidClickRate to set. * @return This builder for chaining. */ public Builder setGeneralInvalidClickRate(double value) { generalInvalidClickRate_ = value; bitField2_ |= 0x08000000; onChanged(); return this; } /** *
     * The percentage of clicks that have been filtered out of your total number
     * of clicks (filtered + non-filtered clicks) due to being general invalid
     * clicks. These are clicks Google considers illegitimate that are detected
     * through routine means of filtration (that is, known invalid data-center
     * traffic, bots and spiders or other crawlers, irregular patterns, etc).
     * You're not charged for them, and they don't affect your account statistics.
     * See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional double general_invalid_click_rate = 370; * @return This builder for chaining. */ public Builder clearGeneralInvalidClickRate() { bitField2_ = (bitField2_ & ~0x08000000); generalInvalidClickRate_ = 0D; onChanged(); return this; } private long generalInvalidClicks_ ; /** *
     * Number of general invalid clicks. These are a subset of your invalid clicks
     * that are detected through routine means of filtration (such as known
     * invalid data-center traffic, bots and spiders or other crawlers, irregular
     * patterns, etc.). You're not charged for them, and they don't affect your
     * account statistics. See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional int64 general_invalid_clicks = 371; * @return Whether the generalInvalidClicks field is set. */ @java.lang.Override public boolean hasGeneralInvalidClicks() { return ((bitField2_ & 0x10000000) != 0); } /** *
     * Number of general invalid clicks. These are a subset of your invalid clicks
     * that are detected through routine means of filtration (such as known
     * invalid data-center traffic, bots and spiders or other crawlers, irregular
     * patterns, etc.). You're not charged for them, and they don't affect your
     * account statistics. See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional int64 general_invalid_clicks = 371; * @return The generalInvalidClicks. */ @java.lang.Override public long getGeneralInvalidClicks() { return generalInvalidClicks_; } /** *
     * Number of general invalid clicks. These are a subset of your invalid clicks
     * that are detected through routine means of filtration (such as known
     * invalid data-center traffic, bots and spiders or other crawlers, irregular
     * patterns, etc.). You're not charged for them, and they don't affect your
     * account statistics. See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional int64 general_invalid_clicks = 371; * @param value The generalInvalidClicks to set. * @return This builder for chaining. */ public Builder setGeneralInvalidClicks(long value) { generalInvalidClicks_ = value; bitField2_ |= 0x10000000; onChanged(); return this; } /** *
     * Number of general invalid clicks. These are a subset of your invalid clicks
     * that are detected through routine means of filtration (such as known
     * invalid data-center traffic, bots and spiders or other crawlers, irregular
     * patterns, etc.). You're not charged for them, and they don't affect your
     * account statistics. See the help page at
     * https://support.google.com/campaignmanager/answer/6076504 for
     * details.
     * 
* * optional int64 general_invalid_clicks = 371; * @return This builder for chaining. */ public Builder clearGeneralInvalidClicks() { bitField2_ = (bitField2_ & ~0x10000000); generalInvalidClicks_ = 0L; onChanged(); return this; } private long messageChats_ ; /** *
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     * 
* * optional int64 message_chats = 226; * @return Whether the messageChats field is set. */ @java.lang.Override public boolean hasMessageChats() { return ((bitField2_ & 0x20000000) != 0); } /** *
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     * 
* * optional int64 message_chats = 226; * @return The messageChats. */ @java.lang.Override public long getMessageChats() { return messageChats_; } /** *
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     * 
* * optional int64 message_chats = 226; * @param value The messageChats to set. * @return This builder for chaining. */ public Builder setMessageChats(long value) { messageChats_ = value; bitField2_ |= 0x20000000; onChanged(); return this; } /** *
     * Number of message chats initiated for Click To Message impressions that
     * were message tracking eligible.
     * 
* * optional int64 message_chats = 226; * @return This builder for chaining. */ public Builder clearMessageChats() { bitField2_ = (bitField2_ & ~0x20000000); messageChats_ = 0L; onChanged(); return this; } private long messageImpressions_ ; /** *
     * Number of Click To Message impressions that were message tracking eligible.
     * 
* * optional int64 message_impressions = 227; * @return Whether the messageImpressions field is set. */ @java.lang.Override public boolean hasMessageImpressions() { return ((bitField2_ & 0x40000000) != 0); } /** *
     * Number of Click To Message impressions that were message tracking eligible.
     * 
* * optional int64 message_impressions = 227; * @return The messageImpressions. */ @java.lang.Override public long getMessageImpressions() { return messageImpressions_; } /** *
     * Number of Click To Message impressions that were message tracking eligible.
     * 
* * optional int64 message_impressions = 227; * @param value The messageImpressions to set. * @return This builder for chaining. */ public Builder setMessageImpressions(long value) { messageImpressions_ = value; bitField2_ |= 0x40000000; onChanged(); return this; } /** *
     * Number of Click To Message impressions that were message tracking eligible.
     * 
* * optional int64 message_impressions = 227; * @return This builder for chaining. */ public Builder clearMessageImpressions() { bitField2_ = (bitField2_ & ~0x40000000); messageImpressions_ = 0L; onChanged(); return this; } private double messageChatRate_ ; /** *
     * 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.
     * 
* * optional double message_chat_rate = 228; * @return Whether the messageChatRate field is set. */ @java.lang.Override public boolean hasMessageChatRate() { return ((bitField2_ & 0x80000000) != 0); } /** *
     * 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.
     * 
* * optional double message_chat_rate = 228; * @return The messageChatRate. */ @java.lang.Override public double getMessageChatRate() { return messageChatRate_; } /** *
     * 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.
     * 
* * optional double message_chat_rate = 228; * @param value The messageChatRate to set. * @return This builder for chaining. */ public Builder setMessageChatRate(double value) { messageChatRate_ = value; bitField2_ |= 0x80000000; onChanged(); 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.
     * 
* * optional double message_chat_rate = 228; * @return This builder for chaining. */ public Builder clearMessageChatRate() { bitField2_ = (bitField2_ & ~0x80000000); messageChatRate_ = 0D; onChanged(); return this; } private double mobileFriendlyClicksPercentage_ ; /** *
     * The percentage of mobile clicks that go to a mobile-friendly page.
     * 
* * optional double mobile_friendly_clicks_percentage = 229; * @return Whether the mobileFriendlyClicksPercentage field is set. */ @java.lang.Override public boolean hasMobileFriendlyClicksPercentage() { return ((bitField3_ & 0x00000001) != 0); } /** *
     * The percentage of mobile clicks that go to a mobile-friendly page.
     * 
* * optional double mobile_friendly_clicks_percentage = 229; * @return The mobileFriendlyClicksPercentage. */ @java.lang.Override public double getMobileFriendlyClicksPercentage() { return mobileFriendlyClicksPercentage_; } /** *
     * The percentage of mobile clicks that go to a mobile-friendly page.
     * 
* * optional double mobile_friendly_clicks_percentage = 229; * @param value The mobileFriendlyClicksPercentage to set. * @return This builder for chaining. */ public Builder setMobileFriendlyClicksPercentage(double value) { mobileFriendlyClicksPercentage_ = value; bitField3_ |= 0x00000001; onChanged(); return this; } /** *
     * The percentage of mobile clicks that go to a mobile-friendly page.
     * 
* * optional double mobile_friendly_clicks_percentage = 229; * @return This builder for chaining. */ public Builder clearMobileFriendlyClicksPercentage() { bitField3_ = (bitField3_ & ~0x00000001); mobileFriendlyClicksPercentage_ = 0D; onChanged(); return this; } private double optimizationScoreUplift_ ; /** *
     * Total optimization score uplift of all recommendations.
     * 
* * optional double optimization_score_uplift = 247; * @return Whether the optimizationScoreUplift field is set. */ @java.lang.Override public boolean hasOptimizationScoreUplift() { return ((bitField3_ & 0x00000002) != 0); } /** *
     * Total optimization score uplift of all recommendations.
     * 
* * optional double optimization_score_uplift = 247; * @return The optimizationScoreUplift. */ @java.lang.Override public double getOptimizationScoreUplift() { return optimizationScoreUplift_; } /** *
     * Total optimization score uplift of all recommendations.
     * 
* * optional double optimization_score_uplift = 247; * @param value The optimizationScoreUplift to set. * @return This builder for chaining. */ public Builder setOptimizationScoreUplift(double value) { optimizationScoreUplift_ = value; bitField3_ |= 0x00000002; onChanged(); return this; } /** *
     * Total optimization score uplift of all recommendations.
     * 
* * optional double optimization_score_uplift = 247; * @return This builder for chaining. */ public Builder clearOptimizationScoreUplift() { bitField3_ = (bitField3_ & ~0x00000002); optimizationScoreUplift_ = 0D; onChanged(); return this; } private java.lang.Object optimizationScoreUrl_ = ""; /** *
     * 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.
     * 
* * optional string optimization_score_url = 248; * @return Whether the optimizationScoreUrl field is set. */ public boolean hasOptimizationScoreUrl() { return ((bitField3_ & 0x00000004) != 0); } /** *
     * 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.
     * 
* * optional string optimization_score_url = 248; * @return The optimizationScoreUrl. */ public java.lang.String getOptimizationScoreUrl() { java.lang.Object ref = optimizationScoreUrl_; if (!(ref instanceof java.lang.String)) { com.google.protobuf.ByteString bs = (com.google.protobuf.ByteString) ref; java.lang.String s = bs.toStringUtf8(); optimizationScoreUrl_ = s; return s; } else { return (java.lang.String) ref; } } /** *
     * 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.
     * 
* * optional string optimization_score_url = 248; * @return The bytes for optimizationScoreUrl. */ public com.google.protobuf.ByteString getOptimizationScoreUrlBytes() { java.lang.Object ref = optimizationScoreUrl_; if (ref instanceof String) { com.google.protobuf.ByteString b = com.google.protobuf.ByteString.copyFromUtf8( (java.lang.String) ref); optimizationScoreUrl_ = b; return b; } else { return (com.google.protobuf.ByteString) ref; } } /** *
     * 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.
     * 
* * optional string optimization_score_url = 248; * @param value The optimizationScoreUrl to set. * @return This builder for chaining. */ public Builder setOptimizationScoreUrl( java.lang.String value) { if (value == null) { throw new NullPointerException(); } optimizationScoreUrl_ = value; bitField3_ |= 0x00000004; onChanged(); 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.
     * 
* * optional string optimization_score_url = 248; * @return This builder for chaining. */ public Builder clearOptimizationScoreUrl() { optimizationScoreUrl_ = getDefaultInstance().getOptimizationScoreUrl(); bitField3_ = (bitField3_ & ~0x00000004); onChanged(); 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.
     * 
* * optional string optimization_score_url = 248; * @param value The bytes for optimizationScoreUrl to set. * @return This builder for chaining. */ public Builder setOptimizationScoreUrlBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); optimizationScoreUrl_ = value; bitField3_ |= 0x00000004; onChanged(); return this; } private long organicClicks_ ; /** *
     * 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.
     * 
* * optional int64 organic_clicks = 230; * @return Whether the organicClicks field is set. */ @java.lang.Override public boolean hasOrganicClicks() { return ((bitField3_ & 0x00000008) != 0); } /** *
     * 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.
     * 
* * optional int64 organic_clicks = 230; * @return The organicClicks. */ @java.lang.Override public long getOrganicClicks() { return organicClicks_; } /** *
     * 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.
     * 
* * optional int64 organic_clicks = 230; * @param value The organicClicks to set. * @return This builder for chaining. */ public Builder setOrganicClicks(long value) { organicClicks_ = value; bitField3_ |= 0x00000008; onChanged(); 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.
     * 
* * optional int64 organic_clicks = 230; * @return This builder for chaining. */ public Builder clearOrganicClicks() { bitField3_ = (bitField3_ & ~0x00000008); organicClicks_ = 0L; onChanged(); return this; } private double organicClicksPerQuery_ ; /** *
     * 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.
     * 
* * optional double organic_clicks_per_query = 231; * @return Whether the organicClicksPerQuery field is set. */ @java.lang.Override public boolean hasOrganicClicksPerQuery() { return ((bitField3_ & 0x00000010) != 0); } /** *
     * 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.
     * 
* * optional double organic_clicks_per_query = 231; * @return The organicClicksPerQuery. */ @java.lang.Override public double getOrganicClicksPerQuery() { return organicClicksPerQuery_; } /** *
     * 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.
     * 
* * optional double organic_clicks_per_query = 231; * @param value The organicClicksPerQuery to set. * @return This builder for chaining. */ public Builder setOrganicClicksPerQuery(double value) { organicClicksPerQuery_ = value; bitField3_ |= 0x00000010; onChanged(); 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.
     * 
* * optional double organic_clicks_per_query = 231; * @return This builder for chaining. */ public Builder clearOrganicClicksPerQuery() { bitField3_ = (bitField3_ & ~0x00000010); organicClicksPerQuery_ = 0D; onChanged(); return this; } private long organicImpressions_ ; /** *
     * 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.
     * 
* * optional int64 organic_impressions = 232; * @return Whether the organicImpressions field is set. */ @java.lang.Override public boolean hasOrganicImpressions() { return ((bitField3_ & 0x00000020) != 0); } /** *
     * 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.
     * 
* * optional int64 organic_impressions = 232; * @return The organicImpressions. */ @java.lang.Override public long getOrganicImpressions() { return organicImpressions_; } /** *
     * 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.
     * 
* * optional int64 organic_impressions = 232; * @param value The organicImpressions to set. * @return This builder for chaining. */ public Builder setOrganicImpressions(long value) { organicImpressions_ = value; bitField3_ |= 0x00000020; onChanged(); 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.
     * 
* * optional int64 organic_impressions = 232; * @return This builder for chaining. */ public Builder clearOrganicImpressions() { bitField3_ = (bitField3_ & ~0x00000020); organicImpressions_ = 0L; onChanged(); return this; } private double organicImpressionsPerQuery_ ; /** *
     * 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.
     * 
* * optional double organic_impressions_per_query = 233; * @return Whether the organicImpressionsPerQuery field is set. */ @java.lang.Override public boolean hasOrganicImpressionsPerQuery() { return ((bitField3_ & 0x00000040) != 0); } /** *
     * 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.
     * 
* * optional double organic_impressions_per_query = 233; * @return The organicImpressionsPerQuery. */ @java.lang.Override public double getOrganicImpressionsPerQuery() { return organicImpressionsPerQuery_; } /** *
     * 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.
     * 
* * optional double organic_impressions_per_query = 233; * @param value The organicImpressionsPerQuery to set. * @return This builder for chaining. */ public Builder setOrganicImpressionsPerQuery(double value) { organicImpressionsPerQuery_ = value; bitField3_ |= 0x00000040; onChanged(); 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.
     * 
* * optional double organic_impressions_per_query = 233; * @return This builder for chaining. */ public Builder clearOrganicImpressionsPerQuery() { bitField3_ = (bitField3_ & ~0x00000040); organicImpressionsPerQuery_ = 0D; onChanged(); return this; } private long organicQueries_ ; /** *
     * 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.
     * 
* * optional int64 organic_queries = 234; * @return Whether the organicQueries field is set. */ @java.lang.Override public boolean hasOrganicQueries() { return ((bitField3_ & 0x00000080) != 0); } /** *
     * 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.
     * 
* * optional int64 organic_queries = 234; * @return The organicQueries. */ @java.lang.Override public long getOrganicQueries() { return organicQueries_; } /** *
     * 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.
     * 
* * optional int64 organic_queries = 234; * @param value The organicQueries to set. * @return This builder for chaining. */ public Builder setOrganicQueries(long value) { organicQueries_ = value; bitField3_ |= 0x00000080; onChanged(); 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.
     * 
* * optional int64 organic_queries = 234; * @return This builder for chaining. */ public Builder clearOrganicQueries() { bitField3_ = (bitField3_ & ~0x00000080); organicQueries_ = 0L; onChanged(); return this; } private double percentNewVisitors_ ; /** *
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     * 
* * optional double percent_new_visitors = 235; * @return Whether the percentNewVisitors field is set. */ @java.lang.Override public boolean hasPercentNewVisitors() { return ((bitField3_ & 0x00000100) != 0); } /** *
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     * 
* * optional double percent_new_visitors = 235; * @return The percentNewVisitors. */ @java.lang.Override public double getPercentNewVisitors() { return percentNewVisitors_; } /** *
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     * 
* * optional double percent_new_visitors = 235; * @param value The percentNewVisitors to set. * @return This builder for chaining. */ public Builder setPercentNewVisitors(double value) { percentNewVisitors_ = value; bitField3_ |= 0x00000100; onChanged(); return this; } /** *
     * Percentage of first-time sessions (from people who had never visited your
     * site before). Imported from Google Analytics.
     * 
* * optional double percent_new_visitors = 235; * @return This builder for chaining. */ public Builder clearPercentNewVisitors() { bitField3_ = (bitField3_ & ~0x00000100); percentNewVisitors_ = 0D; onChanged(); return this; } private long phoneCalls_ ; /** *
     * Number of offline phone calls.
     * 
* * optional int64 phone_calls = 236; * @return Whether the phoneCalls field is set. */ @java.lang.Override public boolean hasPhoneCalls() { return ((bitField3_ & 0x00000200) != 0); } /** *
     * Number of offline phone calls.
     * 
* * optional int64 phone_calls = 236; * @return The phoneCalls. */ @java.lang.Override public long getPhoneCalls() { return phoneCalls_; } /** *
     * Number of offline phone calls.
     * 
* * optional int64 phone_calls = 236; * @param value The phoneCalls to set. * @return This builder for chaining. */ public Builder setPhoneCalls(long value) { phoneCalls_ = value; bitField3_ |= 0x00000200; onChanged(); return this; } /** *
     * Number of offline phone calls.
     * 
* * optional int64 phone_calls = 236; * @return This builder for chaining. */ public Builder clearPhoneCalls() { bitField3_ = (bitField3_ & ~0x00000200); phoneCalls_ = 0L; onChanged(); return this; } private long phoneImpressions_ ; /** *
     * Number of offline phone impressions.
     * 
* * optional int64 phone_impressions = 237; * @return Whether the phoneImpressions field is set. */ @java.lang.Override public boolean hasPhoneImpressions() { return ((bitField3_ & 0x00000400) != 0); } /** *
     * Number of offline phone impressions.
     * 
* * optional int64 phone_impressions = 237; * @return The phoneImpressions. */ @java.lang.Override public long getPhoneImpressions() { return phoneImpressions_; } /** *
     * Number of offline phone impressions.
     * 
* * optional int64 phone_impressions = 237; * @param value The phoneImpressions to set. * @return This builder for chaining. */ public Builder setPhoneImpressions(long value) { phoneImpressions_ = value; bitField3_ |= 0x00000400; onChanged(); return this; } /** *
     * Number of offline phone impressions.
     * 
* * optional int64 phone_impressions = 237; * @return This builder for chaining. */ public Builder clearPhoneImpressions() { bitField3_ = (bitField3_ & ~0x00000400); phoneImpressions_ = 0L; onChanged(); return this; } private double phoneThroughRate_ ; /** *
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     * 
* * optional double phone_through_rate = 238; * @return Whether the phoneThroughRate field is set. */ @java.lang.Override public boolean hasPhoneThroughRate() { return ((bitField3_ & 0x00000800) != 0); } /** *
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     * 
* * optional double phone_through_rate = 238; * @return The phoneThroughRate. */ @java.lang.Override public double getPhoneThroughRate() { return phoneThroughRate_; } /** *
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     * 
* * optional double phone_through_rate = 238; * @param value The phoneThroughRate to set. * @return This builder for chaining. */ public Builder setPhoneThroughRate(double value) { phoneThroughRate_ = value; bitField3_ |= 0x00000800; onChanged(); return this; } /** *
     * Number of phone calls received (phone_calls) divided by the number of
     * times your phone number is shown (phone_impressions).
     * 
* * optional double phone_through_rate = 238; * @return This builder for chaining. */ public Builder clearPhoneThroughRate() { bitField3_ = (bitField3_ & ~0x00000800); phoneThroughRate_ = 0D; onChanged(); return this; } private double relativeCtr_ ; /** *
     * 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.
     * 
* * optional double relative_ctr = 239; * @return Whether the relativeCtr field is set. */ @java.lang.Override public boolean hasRelativeCtr() { return ((bitField3_ & 0x00001000) != 0); } /** *
     * 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.
     * 
* * optional double relative_ctr = 239; * @return The relativeCtr. */ @java.lang.Override public double getRelativeCtr() { return relativeCtr_; } /** *
     * 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.
     * 
* * optional double relative_ctr = 239; * @param value The relativeCtr to set. * @return This builder for chaining. */ public Builder setRelativeCtr(double value) { relativeCtr_ = value; bitField3_ |= 0x00001000; onChanged(); 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.
     * 
* * optional double relative_ctr = 239; * @return This builder for chaining. */ public Builder clearRelativeCtr() { bitField3_ = (bitField3_ & ~0x00001000); relativeCtr_ = 0D; onChanged(); return this; } private double searchAbsoluteTopImpressionShare_ ; /** *
     * 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.
     * 
* * optional double search_absolute_top_impression_share = 136; * @return Whether the searchAbsoluteTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchAbsoluteTopImpressionShare() { return ((bitField3_ & 0x00002000) != 0); } /** *
     * 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.
     * 
* * optional double search_absolute_top_impression_share = 136; * @return The searchAbsoluteTopImpressionShare. */ @java.lang.Override public double getSearchAbsoluteTopImpressionShare() { return searchAbsoluteTopImpressionShare_; } /** *
     * 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.
     * 
* * optional double search_absolute_top_impression_share = 136; * @param value The searchAbsoluteTopImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchAbsoluteTopImpressionShare(double value) { searchAbsoluteTopImpressionShare_ = value; bitField3_ |= 0x00002000; onChanged(); 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.
     * 
* * optional double search_absolute_top_impression_share = 136; * @return This builder for chaining. */ public Builder clearSearchAbsoluteTopImpressionShare() { bitField3_ = (bitField3_ & ~0x00002000); searchAbsoluteTopImpressionShare_ = 0D; onChanged(); return this; } private double searchBudgetLostAbsoluteTopImpressionShare_ ; /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_budget_lost_absolute_top_impression_share = 137; * @return Whether the searchBudgetLostAbsoluteTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchBudgetLostAbsoluteTopImpressionShare() { return ((bitField3_ & 0x00004000) != 0); } /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_budget_lost_absolute_top_impression_share = 137; * @return The searchBudgetLostAbsoluteTopImpressionShare. */ @java.lang.Override public double getSearchBudgetLostAbsoluteTopImpressionShare() { return searchBudgetLostAbsoluteTopImpressionShare_; } /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_budget_lost_absolute_top_impression_share = 137; * @param value The searchBudgetLostAbsoluteTopImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchBudgetLostAbsoluteTopImpressionShare(double value) { searchBudgetLostAbsoluteTopImpressionShare_ = value; bitField3_ |= 0x00004000; onChanged(); return this; } /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_budget_lost_absolute_top_impression_share = 137; * @return This builder for chaining. */ public Builder clearSearchBudgetLostAbsoluteTopImpressionShare() { bitField3_ = (bitField3_ & ~0x00004000); searchBudgetLostAbsoluteTopImpressionShare_ = 0D; onChanged(); return this; } private double searchBudgetLostImpressionShare_ ; /** *
     * 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.
     * 
* * optional double search_budget_lost_impression_share = 138; * @return Whether the searchBudgetLostImpressionShare field is set. */ @java.lang.Override public boolean hasSearchBudgetLostImpressionShare() { return ((bitField3_ & 0x00008000) != 0); } /** *
     * 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.
     * 
* * optional double search_budget_lost_impression_share = 138; * @return The searchBudgetLostImpressionShare. */ @java.lang.Override public double getSearchBudgetLostImpressionShare() { return searchBudgetLostImpressionShare_; } /** *
     * 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.
     * 
* * optional double search_budget_lost_impression_share = 138; * @param value The searchBudgetLostImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchBudgetLostImpressionShare(double value) { searchBudgetLostImpressionShare_ = value; bitField3_ |= 0x00008000; onChanged(); 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.
     * 
* * optional double search_budget_lost_impression_share = 138; * @return This builder for chaining. */ public Builder clearSearchBudgetLostImpressionShare() { bitField3_ = (bitField3_ & ~0x00008000); searchBudgetLostImpressionShare_ = 0D; onChanged(); return this; } private double searchBudgetLostTopImpressionShare_ ; /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_budget_lost_top_impression_share = 139; * @return Whether the searchBudgetLostTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchBudgetLostTopImpressionShare() { return ((bitField3_ & 0x00010000) != 0); } /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_budget_lost_top_impression_share = 139; * @return The searchBudgetLostTopImpressionShare. */ @java.lang.Override public double getSearchBudgetLostTopImpressionShare() { return searchBudgetLostTopImpressionShare_; } /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_budget_lost_top_impression_share = 139; * @param value The searchBudgetLostTopImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchBudgetLostTopImpressionShare(double value) { searchBudgetLostTopImpressionShare_ = value; bitField3_ |= 0x00010000; onChanged(); return this; } /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_budget_lost_top_impression_share = 139; * @return This builder for chaining. */ public Builder clearSearchBudgetLostTopImpressionShare() { bitField3_ = (bitField3_ & ~0x00010000); searchBudgetLostTopImpressionShare_ = 0D; onChanged(); return this; } private double searchClickShare_ ; /** *
     * 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.
     * 
* * optional double search_click_share = 140; * @return Whether the searchClickShare field is set. */ @java.lang.Override public boolean hasSearchClickShare() { return ((bitField3_ & 0x00020000) != 0); } /** *
     * 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.
     * 
* * optional double search_click_share = 140; * @return The searchClickShare. */ @java.lang.Override public double getSearchClickShare() { return searchClickShare_; } /** *
     * 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.
     * 
* * optional double search_click_share = 140; * @param value The searchClickShare to set. * @return This builder for chaining. */ public Builder setSearchClickShare(double value) { searchClickShare_ = value; bitField3_ |= 0x00020000; onChanged(); 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.
     * 
* * optional double search_click_share = 140; * @return This builder for chaining. */ public Builder clearSearchClickShare() { bitField3_ = (bitField3_ & ~0x00020000); searchClickShare_ = 0D; onChanged(); return this; } private double searchExactMatchImpressionShare_ ; /** *
     * 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.
     * 
* * optional double search_exact_match_impression_share = 141; * @return Whether the searchExactMatchImpressionShare field is set. */ @java.lang.Override public boolean hasSearchExactMatchImpressionShare() { return ((bitField3_ & 0x00040000) != 0); } /** *
     * 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.
     * 
* * optional double search_exact_match_impression_share = 141; * @return The searchExactMatchImpressionShare. */ @java.lang.Override public double getSearchExactMatchImpressionShare() { return searchExactMatchImpressionShare_; } /** *
     * 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.
     * 
* * optional double search_exact_match_impression_share = 141; * @param value The searchExactMatchImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchExactMatchImpressionShare(double value) { searchExactMatchImpressionShare_ = value; bitField3_ |= 0x00040000; onChanged(); 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.
     * 
* * optional double search_exact_match_impression_share = 141; * @return This builder for chaining. */ public Builder clearSearchExactMatchImpressionShare() { bitField3_ = (bitField3_ & ~0x00040000); searchExactMatchImpressionShare_ = 0D; onChanged(); return this; } private double searchImpressionShare_ ; /** *
     * 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.
     * 
* * optional double search_impression_share = 142; * @return Whether the searchImpressionShare field is set. */ @java.lang.Override public boolean hasSearchImpressionShare() { return ((bitField3_ & 0x00080000) != 0); } /** *
     * 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.
     * 
* * optional double search_impression_share = 142; * @return The searchImpressionShare. */ @java.lang.Override public double getSearchImpressionShare() { return searchImpressionShare_; } /** *
     * 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.
     * 
* * optional double search_impression_share = 142; * @param value The searchImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchImpressionShare(double value) { searchImpressionShare_ = value; bitField3_ |= 0x00080000; onChanged(); 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.
     * 
* * optional double search_impression_share = 142; * @return This builder for chaining. */ public Builder clearSearchImpressionShare() { bitField3_ = (bitField3_ & ~0x00080000); searchImpressionShare_ = 0D; onChanged(); return this; } private double searchRankLostAbsoluteTopImpressionShare_ ; /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_rank_lost_absolute_top_impression_share = 143; * @return Whether the searchRankLostAbsoluteTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchRankLostAbsoluteTopImpressionShare() { return ((bitField3_ & 0x00100000) != 0); } /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_rank_lost_absolute_top_impression_share = 143; * @return The searchRankLostAbsoluteTopImpressionShare. */ @java.lang.Override public double getSearchRankLostAbsoluteTopImpressionShare() { return searchRankLostAbsoluteTopImpressionShare_; } /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_rank_lost_absolute_top_impression_share = 143; * @param value The searchRankLostAbsoluteTopImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchRankLostAbsoluteTopImpressionShare(double value) { searchRankLostAbsoluteTopImpressionShare_ = value; bitField3_ |= 0x00100000; onChanged(); return this; } /** *
     * The number estimating how often your ad wasn't the very first ad among the
     * top ads in the 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.
     * 
* * optional double search_rank_lost_absolute_top_impression_share = 143; * @return This builder for chaining. */ public Builder clearSearchRankLostAbsoluteTopImpressionShare() { bitField3_ = (bitField3_ & ~0x00100000); searchRankLostAbsoluteTopImpressionShare_ = 0D; onChanged(); return this; } private double searchRankLostImpressionShare_ ; /** *
     * 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.
     * 
* * optional double search_rank_lost_impression_share = 144; * @return Whether the searchRankLostImpressionShare field is set. */ @java.lang.Override public boolean hasSearchRankLostImpressionShare() { return ((bitField3_ & 0x00200000) != 0); } /** *
     * 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.
     * 
* * optional double search_rank_lost_impression_share = 144; * @return The searchRankLostImpressionShare. */ @java.lang.Override public double getSearchRankLostImpressionShare() { return searchRankLostImpressionShare_; } /** *
     * 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.
     * 
* * optional double search_rank_lost_impression_share = 144; * @param value The searchRankLostImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchRankLostImpressionShare(double value) { searchRankLostImpressionShare_ = value; bitField3_ |= 0x00200000; onChanged(); 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.
     * 
* * optional double search_rank_lost_impression_share = 144; * @return This builder for chaining. */ public Builder clearSearchRankLostImpressionShare() { bitField3_ = (bitField3_ & ~0x00200000); searchRankLostImpressionShare_ = 0D; onChanged(); return this; } private double searchRankLostTopImpressionShare_ ; /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_rank_lost_top_impression_share = 145; * @return Whether the searchRankLostTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchRankLostTopImpressionShare() { return ((bitField3_ & 0x00400000) != 0); } /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_rank_lost_top_impression_share = 145; * @return The searchRankLostTopImpressionShare. */ @java.lang.Override public double getSearchRankLostTopImpressionShare() { return searchRankLostTopImpressionShare_; } /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_rank_lost_top_impression_share = 145; * @param value The searchRankLostTopImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchRankLostTopImpressionShare(double value) { searchRankLostTopImpressionShare_ = value; bitField3_ |= 0x00400000; onChanged(); return this; } /** *
     * The number estimating how often your ad didn't show adjacent to the top
     * 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.
     * 
* * optional double search_rank_lost_top_impression_share = 145; * @return This builder for chaining. */ public Builder clearSearchRankLostTopImpressionShare() { bitField3_ = (bitField3_ & ~0x00400000); searchRankLostTopImpressionShare_ = 0D; onChanged(); return this; } private double searchTopImpressionShare_ ; /** *
     * The impressions you've received among the top ads compared to the estimated
     * number of impressions you were eligible to receive among the top ads.
     * 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.
     *
     * Top ads are generally above the top organic results, although they may show
     * below the top organic results on certain queries.
     * 
* * optional double search_top_impression_share = 146; * @return Whether the searchTopImpressionShare field is set. */ @java.lang.Override public boolean hasSearchTopImpressionShare() { return ((bitField3_ & 0x00800000) != 0); } /** *
     * The impressions you've received among the top ads compared to the estimated
     * number of impressions you were eligible to receive among the top ads.
     * 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.
     *
     * Top ads are generally above the top organic results, although they may show
     * below the top organic results on certain queries.
     * 
* * optional double search_top_impression_share = 146; * @return The searchTopImpressionShare. */ @java.lang.Override public double getSearchTopImpressionShare() { return searchTopImpressionShare_; } /** *
     * The impressions you've received among the top ads compared to the estimated
     * number of impressions you were eligible to receive among the top ads.
     * 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.
     *
     * Top ads are generally above the top organic results, although they may show
     * below the top organic results on certain queries.
     * 
* * optional double search_top_impression_share = 146; * @param value The searchTopImpressionShare to set. * @return This builder for chaining. */ public Builder setSearchTopImpressionShare(double value) { searchTopImpressionShare_ = value; bitField3_ |= 0x00800000; onChanged(); return this; } /** *
     * The impressions you've received among the top ads compared to the estimated
     * number of impressions you were eligible to receive among the top ads.
     * 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.
     *
     * Top ads are generally above the top organic results, although they may show
     * below the top organic results on certain queries.
     * 
* * optional double search_top_impression_share = 146; * @return This builder for chaining. */ public Builder clearSearchTopImpressionShare() { bitField3_ = (bitField3_ & ~0x00800000); searchTopImpressionShare_ = 0D; onChanged(); return this; } private com.google.ads.googleads.v18.common.SearchVolumeRange searchVolume_; private com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v18.common.SearchVolumeRange, com.google.ads.googleads.v18.common.SearchVolumeRange.Builder, com.google.ads.googleads.v18.common.SearchVolumeRangeOrBuilder> searchVolumeBuilder_; /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; * @return Whether the searchVolume field is set. */ public boolean hasSearchVolume() { return ((bitField3_ & 0x01000000) != 0); } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; * @return The searchVolume. */ public com.google.ads.googleads.v18.common.SearchVolumeRange getSearchVolume() { if (searchVolumeBuilder_ == null) { return searchVolume_ == null ? com.google.ads.googleads.v18.common.SearchVolumeRange.getDefaultInstance() : searchVolume_; } else { return searchVolumeBuilder_.getMessage(); } } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ public Builder setSearchVolume(com.google.ads.googleads.v18.common.SearchVolumeRange value) { if (searchVolumeBuilder_ == null) { if (value == null) { throw new NullPointerException(); } searchVolume_ = value; } else { searchVolumeBuilder_.setMessage(value); } bitField3_ |= 0x01000000; onChanged(); return this; } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ public Builder setSearchVolume( com.google.ads.googleads.v18.common.SearchVolumeRange.Builder builderForValue) { if (searchVolumeBuilder_ == null) { searchVolume_ = builderForValue.build(); } else { searchVolumeBuilder_.setMessage(builderForValue.build()); } bitField3_ |= 0x01000000; onChanged(); return this; } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ public Builder mergeSearchVolume(com.google.ads.googleads.v18.common.SearchVolumeRange value) { if (searchVolumeBuilder_ == null) { if (((bitField3_ & 0x01000000) != 0) && searchVolume_ != null && searchVolume_ != com.google.ads.googleads.v18.common.SearchVolumeRange.getDefaultInstance()) { getSearchVolumeBuilder().mergeFrom(value); } else { searchVolume_ = value; } } else { searchVolumeBuilder_.mergeFrom(value); } if (searchVolume_ != null) { bitField3_ |= 0x01000000; onChanged(); } return this; } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ public Builder clearSearchVolume() { bitField3_ = (bitField3_ & ~0x01000000); searchVolume_ = null; if (searchVolumeBuilder_ != null) { searchVolumeBuilder_.dispose(); searchVolumeBuilder_ = null; } onChanged(); return this; } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ public com.google.ads.googleads.v18.common.SearchVolumeRange.Builder getSearchVolumeBuilder() { bitField3_ |= 0x01000000; onChanged(); return getSearchVolumeFieldBuilder().getBuilder(); } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ public com.google.ads.googleads.v18.common.SearchVolumeRangeOrBuilder getSearchVolumeOrBuilder() { if (searchVolumeBuilder_ != null) { return searchVolumeBuilder_.getMessageOrBuilder(); } else { return searchVolume_ == null ? com.google.ads.googleads.v18.common.SearchVolumeRange.getDefaultInstance() : searchVolume_; } } /** *
     * Search volume range for a search term insight category.
     * 
* * optional .google.ads.googleads.v18.common.SearchVolumeRange search_volume = 295; */ private com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v18.common.SearchVolumeRange, com.google.ads.googleads.v18.common.SearchVolumeRange.Builder, com.google.ads.googleads.v18.common.SearchVolumeRangeOrBuilder> getSearchVolumeFieldBuilder() { if (searchVolumeBuilder_ == null) { searchVolumeBuilder_ = new com.google.protobuf.SingleFieldBuilderV3< com.google.ads.googleads.v18.common.SearchVolumeRange, com.google.ads.googleads.v18.common.SearchVolumeRange.Builder, com.google.ads.googleads.v18.common.SearchVolumeRangeOrBuilder>( getSearchVolume(), getParentForChildren(), isClean()); searchVolume_ = null; } return searchVolumeBuilder_; } private long speedScore_ ; /** *
     * 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.
     * 
* * optional int64 speed_score = 147; * @return Whether the speedScore field is set. */ @java.lang.Override public boolean hasSpeedScore() { return ((bitField3_ & 0x02000000) != 0); } /** *
     * 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.
     * 
* * optional int64 speed_score = 147; * @return The speedScore. */ @java.lang.Override public long getSpeedScore() { return speedScore_; } /** *
     * 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.
     * 
* * optional int64 speed_score = 147; * @param value The speedScore to set. * @return This builder for chaining. */ public Builder setSpeedScore(long value) { speedScore_ = value; bitField3_ |= 0x02000000; onChanged(); 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.
     * 
* * optional int64 speed_score = 147; * @return This builder for chaining. */ public Builder clearSpeedScore() { bitField3_ = (bitField3_ & ~0x02000000); speedScore_ = 0L; onChanged(); return this; } private long averageTargetCpaMicros_ ; /** *
     * The average Target CPA, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tCPA).
     * 
* * optional int64 average_target_cpa_micros = 290; * @return Whether the averageTargetCpaMicros field is set. */ @java.lang.Override public boolean hasAverageTargetCpaMicros() { return ((bitField3_ & 0x04000000) != 0); } /** *
     * The average Target CPA, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tCPA).
     * 
* * optional int64 average_target_cpa_micros = 290; * @return The averageTargetCpaMicros. */ @java.lang.Override public long getAverageTargetCpaMicros() { return averageTargetCpaMicros_; } /** *
     * The average Target CPA, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tCPA).
     * 
* * optional int64 average_target_cpa_micros = 290; * @param value The averageTargetCpaMicros to set. * @return This builder for chaining. */ public Builder setAverageTargetCpaMicros(long value) { averageTargetCpaMicros_ = value; bitField3_ |= 0x04000000; onChanged(); return this; } /** *
     * The average Target CPA, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tCPA).
     * 
* * optional int64 average_target_cpa_micros = 290; * @return This builder for chaining. */ public Builder clearAverageTargetCpaMicros() { bitField3_ = (bitField3_ & ~0x04000000); averageTargetCpaMicros_ = 0L; onChanged(); return this; } private double averageTargetRoas_ ; /** *
     * The average Target ROAS, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tROAS).
     * 
* * optional double average_target_roas = 250; * @return Whether the averageTargetRoas field is set. */ @java.lang.Override public boolean hasAverageTargetRoas() { return ((bitField3_ & 0x08000000) != 0); } /** *
     * The average Target ROAS, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tROAS).
     * 
* * optional double average_target_roas = 250; * @return The averageTargetRoas. */ @java.lang.Override public double getAverageTargetRoas() { return averageTargetRoas_; } /** *
     * The average Target ROAS, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tROAS).
     * 
* * optional double average_target_roas = 250; * @param value The averageTargetRoas to set. * @return This builder for chaining. */ public Builder setAverageTargetRoas(double value) { averageTargetRoas_ = value; bitField3_ |= 0x08000000; onChanged(); return this; } /** *
     * The average Target ROAS, or unset if not available (for example, for
     * campaigns that had traffic from portfolio bidding strategies or non-tROAS).
     * 
* * optional double average_target_roas = 250; * @return This builder for chaining. */ public Builder clearAverageTargetRoas() { bitField3_ = (bitField3_ & ~0x08000000); averageTargetRoas_ = 0D; onChanged(); return this; } private double topImpressionPercentage_ ; /** *
     * The percent of your ad impressions that are shown adjacent to the top
     * organic search results.
     * 
* * optional double top_impression_percentage = 148; * @return Whether the topImpressionPercentage field is set. */ @java.lang.Override public boolean hasTopImpressionPercentage() { return ((bitField3_ & 0x10000000) != 0); } /** *
     * The percent of your ad impressions that are shown adjacent to the top
     * organic search results.
     * 
* * optional double top_impression_percentage = 148; * @return The topImpressionPercentage. */ @java.lang.Override public double getTopImpressionPercentage() { return topImpressionPercentage_; } /** *
     * The percent of your ad impressions that are shown adjacent to the top
     * organic search results.
     * 
* * optional double top_impression_percentage = 148; * @param value The topImpressionPercentage to set. * @return This builder for chaining. */ public Builder setTopImpressionPercentage(double value) { topImpressionPercentage_ = value; bitField3_ |= 0x10000000; onChanged(); return this; } /** *
     * The percent of your ad impressions that are shown adjacent to the top
     * organic search results.
     * 
* * optional double top_impression_percentage = 148; * @return This builder for chaining. */ public Builder clearTopImpressionPercentage() { bitField3_ = (bitField3_ & ~0x10000000); topImpressionPercentage_ = 0D; onChanged(); return this; } private double validAcceleratedMobilePagesClicksPercentage_ ; /** *
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     * 
* * optional double valid_accelerated_mobile_pages_clicks_percentage = 149; * @return Whether the validAcceleratedMobilePagesClicksPercentage field is set. */ @java.lang.Override public boolean hasValidAcceleratedMobilePagesClicksPercentage() { return ((bitField3_ & 0x20000000) != 0); } /** *
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     * 
* * optional double valid_accelerated_mobile_pages_clicks_percentage = 149; * @return The validAcceleratedMobilePagesClicksPercentage. */ @java.lang.Override public double getValidAcceleratedMobilePagesClicksPercentage() { return validAcceleratedMobilePagesClicksPercentage_; } /** *
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     * 
* * optional double valid_accelerated_mobile_pages_clicks_percentage = 149; * @param value The validAcceleratedMobilePagesClicksPercentage to set. * @return This builder for chaining. */ public Builder setValidAcceleratedMobilePagesClicksPercentage(double value) { validAcceleratedMobilePagesClicksPercentage_ = value; bitField3_ |= 0x20000000; onChanged(); return this; } /** *
     * The percentage of ad clicks to Accelerated Mobile Pages (AMP) landing pages
     * that reach a valid AMP page.
     * 
* * optional double valid_accelerated_mobile_pages_clicks_percentage = 149; * @return This builder for chaining. */ public Builder clearValidAcceleratedMobilePagesClicksPercentage() { bitField3_ = (bitField3_ & ~0x20000000); validAcceleratedMobilePagesClicksPercentage_ = 0D; onChanged(); return this; } private double valuePerAllConversions_ ; /** *
     * The value of all conversions divided by the number of all conversions.
     * 
* * optional double value_per_all_conversions = 150; * @return Whether the valuePerAllConversions field is set. */ @java.lang.Override public boolean hasValuePerAllConversions() { return ((bitField3_ & 0x40000000) != 0); } /** *
     * The value of all conversions divided by the number of all conversions.
     * 
* * optional double value_per_all_conversions = 150; * @return The valuePerAllConversions. */ @java.lang.Override public double getValuePerAllConversions() { return valuePerAllConversions_; } /** *
     * The value of all conversions divided by the number of all conversions.
     * 
* * optional double value_per_all_conversions = 150; * @param value The valuePerAllConversions to set. * @return This builder for chaining. */ public Builder setValuePerAllConversions(double value) { valuePerAllConversions_ = value; bitField3_ |= 0x40000000; onChanged(); return this; } /** *
     * The value of all conversions divided by the number of all conversions.
     * 
* * optional double value_per_all_conversions = 150; * @return This builder for chaining. */ public Builder clearValuePerAllConversions() { bitField3_ = (bitField3_ & ~0x40000000); valuePerAllConversions_ = 0D; onChanged(); return this; } private double valuePerAllConversionsByConversionDate_ ; /** *
     * 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.
     * 
* * optional double value_per_all_conversions_by_conversion_date = 244; * @return Whether the valuePerAllConversionsByConversionDate field is set. */ @java.lang.Override public boolean hasValuePerAllConversionsByConversionDate() { return ((bitField3_ & 0x80000000) != 0); } /** *
     * 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.
     * 
* * optional double value_per_all_conversions_by_conversion_date = 244; * @return The valuePerAllConversionsByConversionDate. */ @java.lang.Override public double getValuePerAllConversionsByConversionDate() { return valuePerAllConversionsByConversionDate_; } /** *
     * 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.
     * 
* * optional double value_per_all_conversions_by_conversion_date = 244; * @param value The valuePerAllConversionsByConversionDate to set. * @return This builder for chaining. */ public Builder setValuePerAllConversionsByConversionDate(double value) { valuePerAllConversionsByConversionDate_ = value; bitField3_ |= 0x80000000; onChanged(); 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.
     * 
* * optional double value_per_all_conversions_by_conversion_date = 244; * @return This builder for chaining. */ public Builder clearValuePerAllConversionsByConversionDate() { bitField3_ = (bitField3_ & ~0x80000000); valuePerAllConversionsByConversionDate_ = 0D; onChanged(); return this; } private double valuePerConversion_ ; /** *
     * 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.
     * 
* * optional double value_per_conversion = 151; * @return Whether the valuePerConversion field is set. */ @java.lang.Override public boolean hasValuePerConversion() { return ((bitField4_ & 0x00000001) != 0); } /** *
     * 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.
     * 
* * optional double value_per_conversion = 151; * @return The valuePerConversion. */ @java.lang.Override public double getValuePerConversion() { return valuePerConversion_; } /** *
     * 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.
     * 
* * optional double value_per_conversion = 151; * @param value The valuePerConversion to set. * @return This builder for chaining. */ public Builder setValuePerConversion(double value) { valuePerConversion_ = value; bitField4_ |= 0x00000001; onChanged(); 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.
     * 
* * optional double value_per_conversion = 151; * @return This builder for chaining. */ public Builder clearValuePerConversion() { bitField4_ = (bitField4_ & ~0x00000001); valuePerConversion_ = 0D; onChanged(); return this; } private double valuePerConversionsByConversionDate_ ; /** *
     * 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.
     * 
* * optional double value_per_conversions_by_conversion_date = 245; * @return Whether the valuePerConversionsByConversionDate field is set. */ @java.lang.Override public boolean hasValuePerConversionsByConversionDate() { return ((bitField4_ & 0x00000002) != 0); } /** *
     * 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.
     * 
* * optional double value_per_conversions_by_conversion_date = 245; * @return The valuePerConversionsByConversionDate. */ @java.lang.Override public double getValuePerConversionsByConversionDate() { return valuePerConversionsByConversionDate_; } /** *
     * 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.
     * 
* * optional double value_per_conversions_by_conversion_date = 245; * @param value The valuePerConversionsByConversionDate to set. * @return This builder for chaining. */ public Builder setValuePerConversionsByConversionDate(double value) { valuePerConversionsByConversionDate_ = value; bitField4_ |= 0x00000002; onChanged(); 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.
     * 
* * optional double value_per_conversions_by_conversion_date = 245; * @return This builder for chaining. */ public Builder clearValuePerConversionsByConversionDate() { bitField4_ = (bitField4_ & ~0x00000002); valuePerConversionsByConversionDate_ = 0D; onChanged(); return this; } private double valuePerCurrentModelAttributedConversion_ ; /** *
     * 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.
     * 
* * optional double value_per_current_model_attributed_conversion = 152; * @return Whether the valuePerCurrentModelAttributedConversion field is set. */ @java.lang.Override public boolean hasValuePerCurrentModelAttributedConversion() { return ((bitField4_ & 0x00000004) != 0); } /** *
     * 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.
     * 
* * optional double value_per_current_model_attributed_conversion = 152; * @return The valuePerCurrentModelAttributedConversion. */ @java.lang.Override public double getValuePerCurrentModelAttributedConversion() { return valuePerCurrentModelAttributedConversion_; } /** *
     * 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.
     * 
* * optional double value_per_current_model_attributed_conversion = 152; * @param value The valuePerCurrentModelAttributedConversion to set. * @return This builder for chaining. */ public Builder setValuePerCurrentModelAttributedConversion(double value) { valuePerCurrentModelAttributedConversion_ = value; bitField4_ |= 0x00000004; onChanged(); 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.
     * 
* * optional double value_per_current_model_attributed_conversion = 152; * @return This builder for chaining. */ public Builder clearValuePerCurrentModelAttributedConversion() { bitField4_ = (bitField4_ & ~0x00000004); valuePerCurrentModelAttributedConversion_ = 0D; onChanged(); return this; } private double videoQuartileP100Rate_ ; /** *
     * Percentage of impressions where the viewer watched all of your video.
     * 
* * optional double video_quartile_p100_rate = 132; * @return Whether the videoQuartileP100Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP100Rate() { return ((bitField4_ & 0x00000008) != 0); } /** *
     * Percentage of impressions where the viewer watched all of your video.
     * 
* * optional double video_quartile_p100_rate = 132; * @return The videoQuartileP100Rate. */ @java.lang.Override public double getVideoQuartileP100Rate() { return videoQuartileP100Rate_; } /** *
     * Percentage of impressions where the viewer watched all of your video.
     * 
* * optional double video_quartile_p100_rate = 132; * @param value The videoQuartileP100Rate to set. * @return This builder for chaining. */ public Builder setVideoQuartileP100Rate(double value) { videoQuartileP100Rate_ = value; bitField4_ |= 0x00000008; onChanged(); return this; } /** *
     * Percentage of impressions where the viewer watched all of your video.
     * 
* * optional double video_quartile_p100_rate = 132; * @return This builder for chaining. */ public Builder clearVideoQuartileP100Rate() { bitField4_ = (bitField4_ & ~0x00000008); videoQuartileP100Rate_ = 0D; onChanged(); return this; } private double videoQuartileP25Rate_ ; /** *
     * Percentage of impressions where the viewer watched 25% of your video.
     * 
* * optional double video_quartile_p25_rate = 133; * @return Whether the videoQuartileP25Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP25Rate() { return ((bitField4_ & 0x00000010) != 0); } /** *
     * Percentage of impressions where the viewer watched 25% of your video.
     * 
* * optional double video_quartile_p25_rate = 133; * @return The videoQuartileP25Rate. */ @java.lang.Override public double getVideoQuartileP25Rate() { return videoQuartileP25Rate_; } /** *
     * Percentage of impressions where the viewer watched 25% of your video.
     * 
* * optional double video_quartile_p25_rate = 133; * @param value The videoQuartileP25Rate to set. * @return This builder for chaining. */ public Builder setVideoQuartileP25Rate(double value) { videoQuartileP25Rate_ = value; bitField4_ |= 0x00000010; onChanged(); return this; } /** *
     * Percentage of impressions where the viewer watched 25% of your video.
     * 
* * optional double video_quartile_p25_rate = 133; * @return This builder for chaining. */ public Builder clearVideoQuartileP25Rate() { bitField4_ = (bitField4_ & ~0x00000010); videoQuartileP25Rate_ = 0D; onChanged(); return this; } private double videoQuartileP50Rate_ ; /** *
     * Percentage of impressions where the viewer watched 50% of your video.
     * 
* * optional double video_quartile_p50_rate = 134; * @return Whether the videoQuartileP50Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP50Rate() { return ((bitField4_ & 0x00000020) != 0); } /** *
     * Percentage of impressions where the viewer watched 50% of your video.
     * 
* * optional double video_quartile_p50_rate = 134; * @return The videoQuartileP50Rate. */ @java.lang.Override public double getVideoQuartileP50Rate() { return videoQuartileP50Rate_; } /** *
     * Percentage of impressions where the viewer watched 50% of your video.
     * 
* * optional double video_quartile_p50_rate = 134; * @param value The videoQuartileP50Rate to set. * @return This builder for chaining. */ public Builder setVideoQuartileP50Rate(double value) { videoQuartileP50Rate_ = value; bitField4_ |= 0x00000020; onChanged(); return this; } /** *
     * Percentage of impressions where the viewer watched 50% of your video.
     * 
* * optional double video_quartile_p50_rate = 134; * @return This builder for chaining. */ public Builder clearVideoQuartileP50Rate() { bitField4_ = (bitField4_ & ~0x00000020); videoQuartileP50Rate_ = 0D; onChanged(); return this; } private double videoQuartileP75Rate_ ; /** *
     * Percentage of impressions where the viewer watched 75% of your video.
     * 
* * optional double video_quartile_p75_rate = 135; * @return Whether the videoQuartileP75Rate field is set. */ @java.lang.Override public boolean hasVideoQuartileP75Rate() { return ((bitField4_ & 0x00000040) != 0); } /** *
     * Percentage of impressions where the viewer watched 75% of your video.
     * 
* * optional double video_quartile_p75_rate = 135; * @return The videoQuartileP75Rate. */ @java.lang.Override public double getVideoQuartileP75Rate() { return videoQuartileP75Rate_; } /** *
     * Percentage of impressions where the viewer watched 75% of your video.
     * 
* * optional double video_quartile_p75_rate = 135; * @param value The videoQuartileP75Rate to set. * @return This builder for chaining. */ public Builder setVideoQuartileP75Rate(double value) { videoQuartileP75Rate_ = value; bitField4_ |= 0x00000040; onChanged(); return this; } /** *
     * Percentage of impressions where the viewer watched 75% of your video.
     * 
* * optional double video_quartile_p75_rate = 135; * @return This builder for chaining. */ public Builder clearVideoQuartileP75Rate() { bitField4_ = (bitField4_ & ~0x00000040); videoQuartileP75Rate_ = 0D; onChanged(); return this; } private double videoViewRate_ ; /** *
     * The number of views your TrueView video ad receives divided by its number
     * of impressions, including thumbnail impressions for TrueView in-display
     * ads.
     * 
* * optional double video_view_rate = 153; * @return Whether the videoViewRate field is set. */ @java.lang.Override public boolean hasVideoViewRate() { return ((bitField4_ & 0x00000080) != 0); } /** *
     * The number of views your TrueView video ad receives divided by its number
     * of impressions, including thumbnail impressions for TrueView in-display
     * ads.
     * 
* * optional double video_view_rate = 153; * @return The videoViewRate. */ @java.lang.Override public double getVideoViewRate() { return videoViewRate_; } /** *
     * The number of views your TrueView video ad receives divided by its number
     * of impressions, including thumbnail impressions for TrueView in-display
     * ads.
     * 
* * optional double video_view_rate = 153; * @param value The videoViewRate to set. * @return This builder for chaining. */ public Builder setVideoViewRate(double value) { videoViewRate_ = value; bitField4_ |= 0x00000080; onChanged(); 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.
     * 
* * optional double video_view_rate = 153; * @return This builder for chaining. */ public Builder clearVideoViewRate() { bitField4_ = (bitField4_ & ~0x00000080); videoViewRate_ = 0D; onChanged(); return this; } private long videoViews_ ; /** *
     * The number of times your video ads were viewed.
     * 
* * optional int64 video_views = 154; * @return Whether the videoViews field is set. */ @java.lang.Override public boolean hasVideoViews() { return ((bitField4_ & 0x00000100) != 0); } /** *
     * The number of times your video ads were viewed.
     * 
* * optional int64 video_views = 154; * @return The videoViews. */ @java.lang.Override public long getVideoViews() { return videoViews_; } /** *
     * The number of times your video ads were viewed.
     * 
* * optional int64 video_views = 154; * @param value The videoViews to set. * @return This builder for chaining. */ public Builder setVideoViews(long value) { videoViews_ = value; bitField4_ |= 0x00000100; onChanged(); return this; } /** *
     * The number of times your video ads were viewed.
     * 
* * optional int64 video_views = 154; * @return This builder for chaining. */ public Builder clearVideoViews() { bitField4_ = (bitField4_ & ~0x00000100); videoViews_ = 0L; onChanged(); return this; } private long viewThroughConversions_ ; /** *
     * 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 (for example,
     * clicking on) another ad.
     * 
* * optional int64 view_through_conversions = 155; * @return Whether the viewThroughConversions field is set. */ @java.lang.Override public boolean hasViewThroughConversions() { return ((bitField4_ & 0x00000200) != 0); } /** *
     * 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 (for example,
     * clicking on) another ad.
     * 
* * optional int64 view_through_conversions = 155; * @return The viewThroughConversions. */ @java.lang.Override public long getViewThroughConversions() { return viewThroughConversions_; } /** *
     * 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 (for example,
     * clicking on) another ad.
     * 
* * optional int64 view_through_conversions = 155; * @param value The viewThroughConversions to set. * @return This builder for chaining. */ public Builder setViewThroughConversions(long value) { viewThroughConversions_ = value; bitField4_ |= 0x00000200; onChanged(); 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 (for example,
     * clicking on) another ad.
     * 
* * optional int64 view_through_conversions = 155; * @return This builder for chaining. */ public Builder clearViewThroughConversions() { bitField4_ = (bitField4_ & ~0x00000200); viewThroughConversions_ = 0L; onChanged(); return this; } private long skAdNetworkInstalls_ ; /** *
     * The number of iOS Store Kit Ad Network conversions.
     * 
* * int64 sk_ad_network_installs = 246; * @return The skAdNetworkInstalls. */ @java.lang.Override public long getSkAdNetworkInstalls() { return skAdNetworkInstalls_; } /** *
     * The number of iOS Store Kit Ad Network conversions.
     * 
* * int64 sk_ad_network_installs = 246; * @param value The skAdNetworkInstalls to set. * @return This builder for chaining. */ public Builder setSkAdNetworkInstalls(long value) { skAdNetworkInstalls_ = value; bitField4_ |= 0x00000400; onChanged(); return this; } /** *
     * The number of iOS Store Kit Ad Network conversions.
     * 
* * int64 sk_ad_network_installs = 246; * @return This builder for chaining. */ public Builder clearSkAdNetworkInstalls() { bitField4_ = (bitField4_ & ~0x00000400); skAdNetworkInstalls_ = 0L; onChanged(); return this; } private long skAdNetworkTotalConversions_ ; /** *
     * The total number of iOS Store Kit Ad Network conversions.
     * 
* * int64 sk_ad_network_total_conversions = 292; * @return The skAdNetworkTotalConversions. */ @java.lang.Override public long getSkAdNetworkTotalConversions() { return skAdNetworkTotalConversions_; } /** *
     * The total number of iOS Store Kit Ad Network conversions.
     * 
* * int64 sk_ad_network_total_conversions = 292; * @param value The skAdNetworkTotalConversions to set. * @return This builder for chaining. */ public Builder setSkAdNetworkTotalConversions(long value) { skAdNetworkTotalConversions_ = value; bitField4_ |= 0x00000800; onChanged(); return this; } /** *
     * The total number of iOS Store Kit Ad Network conversions.
     * 
* * int64 sk_ad_network_total_conversions = 292; * @return This builder for chaining. */ public Builder clearSkAdNetworkTotalConversions() { bitField4_ = (bitField4_ & ~0x00000800); skAdNetworkTotalConversions_ = 0L; onChanged(); return this; } private long publisherPurchasedClicks_ ; /** *
     * Clicks from properties not owned by the publisher for which the traffic
     * the publisher has paid for or acquired through incentivized activity
     * 
* * int64 publisher_purchased_clicks = 264; * @return The publisherPurchasedClicks. */ @java.lang.Override public long getPublisherPurchasedClicks() { return publisherPurchasedClicks_; } /** *
     * Clicks from properties not owned by the publisher for which the traffic
     * the publisher has paid for or acquired through incentivized activity
     * 
* * int64 publisher_purchased_clicks = 264; * @param value The publisherPurchasedClicks to set. * @return This builder for chaining. */ public Builder setPublisherPurchasedClicks(long value) { publisherPurchasedClicks_ = value; bitField4_ |= 0x00001000; onChanged(); return this; } /** *
     * Clicks from properties not owned by the publisher for which the traffic
     * the publisher has paid for or acquired through incentivized activity
     * 
* * int64 publisher_purchased_clicks = 264; * @return This builder for chaining. */ public Builder clearPublisherPurchasedClicks() { bitField4_ = (bitField4_ & ~0x00001000); publisherPurchasedClicks_ = 0L; onChanged(); return this; } private long publisherOrganicClicks_ ; /** *
     * Clicks from properties for which the traffic the publisher has not paid
     * for or acquired through incentivized activity
     * 
* * int64 publisher_organic_clicks = 265; * @return The publisherOrganicClicks. */ @java.lang.Override public long getPublisherOrganicClicks() { return publisherOrganicClicks_; } /** *
     * Clicks from properties for which the traffic the publisher has not paid
     * for or acquired through incentivized activity
     * 
* * int64 publisher_organic_clicks = 265; * @param value The publisherOrganicClicks to set. * @return This builder for chaining. */ public Builder setPublisherOrganicClicks(long value) { publisherOrganicClicks_ = value; bitField4_ |= 0x00002000; onChanged(); return this; } /** *
     * Clicks from properties for which the traffic the publisher has not paid
     * for or acquired through incentivized activity
     * 
* * int64 publisher_organic_clicks = 265; * @return This builder for chaining. */ public Builder clearPublisherOrganicClicks() { bitField4_ = (bitField4_ & ~0x00002000); publisherOrganicClicks_ = 0L; onChanged(); return this; } private long publisherUnknownClicks_ ; /** *
     * Clicks from traffic which is not identified as "Publisher Purchased" or
     * "Publisher Organic"
     * 
* * int64 publisher_unknown_clicks = 266; * @return The publisherUnknownClicks. */ @java.lang.Override public long getPublisherUnknownClicks() { return publisherUnknownClicks_; } /** *
     * Clicks from traffic which is not identified as "Publisher Purchased" or
     * "Publisher Organic"
     * 
* * int64 publisher_unknown_clicks = 266; * @param value The publisherUnknownClicks to set. * @return This builder for chaining. */ public Builder setPublisherUnknownClicks(long value) { publisherUnknownClicks_ = value; bitField4_ |= 0x00004000; onChanged(); return this; } /** *
     * Clicks from traffic which is not identified as "Publisher Purchased" or
     * "Publisher Organic"
     * 
* * int64 publisher_unknown_clicks = 266; * @return This builder for chaining. */ public Builder clearPublisherUnknownClicks() { bitField4_ = (bitField4_ & ~0x00004000); publisherUnknownClicks_ = 0L; onChanged(); return this; } private double allConversionsFromLocationAssetClickToCall_ ; /** *
     * Number of call button clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_click_to_call = 267; * @return Whether the allConversionsFromLocationAssetClickToCall field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetClickToCall() { return ((bitField4_ & 0x00008000) != 0); } /** *
     * Number of call button clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_click_to_call = 267; * @return The allConversionsFromLocationAssetClickToCall. */ @java.lang.Override public double getAllConversionsFromLocationAssetClickToCall() { return allConversionsFromLocationAssetClickToCall_; } /** *
     * Number of call button clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_click_to_call = 267; * @param value The allConversionsFromLocationAssetClickToCall to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetClickToCall(double value) { allConversionsFromLocationAssetClickToCall_ = value; bitField4_ |= 0x00008000; onChanged(); return this; } /** *
     * Number of call button clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_click_to_call = 267; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetClickToCall() { bitField4_ = (bitField4_ & ~0x00008000); allConversionsFromLocationAssetClickToCall_ = 0D; onChanged(); return this; } private double allConversionsFromLocationAssetDirections_ ; /** *
     * Number of driving directions clicks on any location surface after a
     * chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_directions = 268; * @return Whether the allConversionsFromLocationAssetDirections field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetDirections() { return ((bitField4_ & 0x00010000) != 0); } /** *
     * Number of driving directions clicks on any location surface after a
     * chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_directions = 268; * @return The allConversionsFromLocationAssetDirections. */ @java.lang.Override public double getAllConversionsFromLocationAssetDirections() { return allConversionsFromLocationAssetDirections_; } /** *
     * Number of driving directions clicks on any location surface after a
     * chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_directions = 268; * @param value The allConversionsFromLocationAssetDirections to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetDirections(double value) { allConversionsFromLocationAssetDirections_ = value; bitField4_ |= 0x00010000; onChanged(); return this; } /** *
     * Number of driving directions clicks on any location surface after a
     * chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_directions = 268; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetDirections() { bitField4_ = (bitField4_ & ~0x00010000); allConversionsFromLocationAssetDirections_ = 0D; onChanged(); return this; } private double allConversionsFromLocationAssetMenu_ ; /** *
     * Number of menu link clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_menu = 269; * @return Whether the allConversionsFromLocationAssetMenu field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetMenu() { return ((bitField4_ & 0x00020000) != 0); } /** *
     * Number of menu link clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_menu = 269; * @return The allConversionsFromLocationAssetMenu. */ @java.lang.Override public double getAllConversionsFromLocationAssetMenu() { return allConversionsFromLocationAssetMenu_; } /** *
     * Number of menu link clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_menu = 269; * @param value The allConversionsFromLocationAssetMenu to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetMenu(double value) { allConversionsFromLocationAssetMenu_ = value; bitField4_ |= 0x00020000; onChanged(); return this; } /** *
     * Number of menu link clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_menu = 269; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetMenu() { bitField4_ = (bitField4_ & ~0x00020000); allConversionsFromLocationAssetMenu_ = 0D; onChanged(); return this; } private double allConversionsFromLocationAssetOrder_ ; /** *
     * Number of order clicks on any location surface after a chargeable ad event
     * (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_order = 270; * @return Whether the allConversionsFromLocationAssetOrder field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetOrder() { return ((bitField4_ & 0x00040000) != 0); } /** *
     * Number of order clicks on any location surface after a chargeable ad event
     * (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_order = 270; * @return The allConversionsFromLocationAssetOrder. */ @java.lang.Override public double getAllConversionsFromLocationAssetOrder() { return allConversionsFromLocationAssetOrder_; } /** *
     * Number of order clicks on any location surface after a chargeable ad event
     * (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_order = 270; * @param value The allConversionsFromLocationAssetOrder to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetOrder(double value) { allConversionsFromLocationAssetOrder_ = value; bitField4_ |= 0x00040000; onChanged(); return this; } /** *
     * Number of order clicks on any location surface after a chargeable ad event
     * (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_order = 270; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetOrder() { bitField4_ = (bitField4_ & ~0x00040000); allConversionsFromLocationAssetOrder_ = 0D; onChanged(); return this; } private double allConversionsFromLocationAssetOtherEngagement_ ; /** *
     * Number of other types of local action clicks on any location surface after
     * a chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_other_engagement = 271; * @return Whether the allConversionsFromLocationAssetOtherEngagement field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetOtherEngagement() { return ((bitField4_ & 0x00080000) != 0); } /** *
     * Number of other types of local action clicks on any location surface after
     * a chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_other_engagement = 271; * @return The allConversionsFromLocationAssetOtherEngagement. */ @java.lang.Override public double getAllConversionsFromLocationAssetOtherEngagement() { return allConversionsFromLocationAssetOtherEngagement_; } /** *
     * Number of other types of local action clicks on any location surface after
     * a chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_other_engagement = 271; * @param value The allConversionsFromLocationAssetOtherEngagement to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetOtherEngagement(double value) { allConversionsFromLocationAssetOtherEngagement_ = value; bitField4_ |= 0x00080000; onChanged(); return this; } /** *
     * Number of other types of local action clicks on any location surface after
     * a chargeable ad event (click or impression). This measure is coming
     * from Asset based location.
     * 
* * optional double all_conversions_from_location_asset_other_engagement = 271; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetOtherEngagement() { bitField4_ = (bitField4_ & ~0x00080000); allConversionsFromLocationAssetOtherEngagement_ = 0D; onChanged(); return this; } private double allConversionsFromLocationAssetStoreVisits_ ; /** *
     * Estimated number of visits to the store after a chargeable
     * ad event (click or impression). This measure is coming from Asset
     * based location.
     * 
* * optional double all_conversions_from_location_asset_store_visits = 272; * @return Whether the allConversionsFromLocationAssetStoreVisits field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetStoreVisits() { return ((bitField4_ & 0x00100000) != 0); } /** *
     * Estimated number of visits to the store after a chargeable
     * ad event (click or impression). This measure is coming from Asset
     * based location.
     * 
* * optional double all_conversions_from_location_asset_store_visits = 272; * @return The allConversionsFromLocationAssetStoreVisits. */ @java.lang.Override public double getAllConversionsFromLocationAssetStoreVisits() { return allConversionsFromLocationAssetStoreVisits_; } /** *
     * Estimated number of visits to the store after a chargeable
     * ad event (click or impression). This measure is coming from Asset
     * based location.
     * 
* * optional double all_conversions_from_location_asset_store_visits = 272; * @param value The allConversionsFromLocationAssetStoreVisits to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetStoreVisits(double value) { allConversionsFromLocationAssetStoreVisits_ = value; bitField4_ |= 0x00100000; onChanged(); return this; } /** *
     * Estimated number of visits to the store after a chargeable
     * ad event (click or impression). This measure is coming from Asset
     * based location.
     * 
* * optional double all_conversions_from_location_asset_store_visits = 272; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetStoreVisits() { bitField4_ = (bitField4_ & ~0x00100000); allConversionsFromLocationAssetStoreVisits_ = 0D; onChanged(); return this; } private double allConversionsFromLocationAssetWebsite_ ; /** *
     * Number of website URL clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_website = 273; * @return Whether the allConversionsFromLocationAssetWebsite field is set. */ @java.lang.Override public boolean hasAllConversionsFromLocationAssetWebsite() { return ((bitField4_ & 0x00200000) != 0); } /** *
     * Number of website URL clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_website = 273; * @return The allConversionsFromLocationAssetWebsite. */ @java.lang.Override public double getAllConversionsFromLocationAssetWebsite() { return allConversionsFromLocationAssetWebsite_; } /** *
     * Number of website URL clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_website = 273; * @param value The allConversionsFromLocationAssetWebsite to set. * @return This builder for chaining. */ public Builder setAllConversionsFromLocationAssetWebsite(double value) { allConversionsFromLocationAssetWebsite_ = value; bitField4_ |= 0x00200000; onChanged(); return this; } /** *
     * Number of website URL clicks on any location surface after a chargeable ad
     * event (click or impression). This measure is coming from Asset based
     * location.
     * 
* * optional double all_conversions_from_location_asset_website = 273; * @return This builder for chaining. */ public Builder clearAllConversionsFromLocationAssetWebsite() { bitField4_ = (bitField4_ & ~0x00200000); allConversionsFromLocationAssetWebsite_ = 0D; onChanged(); return this; } private long eligibleImpressionsFromLocationAssetStoreReach_ ; /** *
     * Number of impressions in which the store location was shown or the location
     * was used for targeting. This measure is coming from Asset based
     * location.
     * 
* * optional int64 eligible_impressions_from_location_asset_store_reach = 274; * @return Whether the eligibleImpressionsFromLocationAssetStoreReach field is set. */ @java.lang.Override public boolean hasEligibleImpressionsFromLocationAssetStoreReach() { return ((bitField4_ & 0x00400000) != 0); } /** *
     * Number of impressions in which the store location was shown or the location
     * was used for targeting. This measure is coming from Asset based
     * location.
     * 
* * optional int64 eligible_impressions_from_location_asset_store_reach = 274; * @return The eligibleImpressionsFromLocationAssetStoreReach. */ @java.lang.Override public long getEligibleImpressionsFromLocationAssetStoreReach() { return eligibleImpressionsFromLocationAssetStoreReach_; } /** *
     * Number of impressions in which the store location was shown or the location
     * was used for targeting. This measure is coming from Asset based
     * location.
     * 
* * optional int64 eligible_impressions_from_location_asset_store_reach = 274; * @param value The eligibleImpressionsFromLocationAssetStoreReach to set. * @return This builder for chaining. */ public Builder setEligibleImpressionsFromLocationAssetStoreReach(long value) { eligibleImpressionsFromLocationAssetStoreReach_ = value; bitField4_ |= 0x00400000; onChanged(); return this; } /** *
     * Number of impressions in which the store location was shown or the location
     * was used for targeting. This measure is coming from Asset based
     * location.
     * 
* * optional int64 eligible_impressions_from_location_asset_store_reach = 274; * @return This builder for chaining. */ public Builder clearEligibleImpressionsFromLocationAssetStoreReach() { bitField4_ = (bitField4_ & ~0x00400000); eligibleImpressionsFromLocationAssetStoreReach_ = 0L; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetClickToCall_ ; /** *
     * Number of call button clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_click_to_call = 275; * @return Whether the viewThroughConversionsFromLocationAssetClickToCall field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetClickToCall() { return ((bitField4_ & 0x00800000) != 0); } /** *
     * Number of call button clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_click_to_call = 275; * @return The viewThroughConversionsFromLocationAssetClickToCall. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetClickToCall() { return viewThroughConversionsFromLocationAssetClickToCall_; } /** *
     * Number of call button clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_click_to_call = 275; * @param value The viewThroughConversionsFromLocationAssetClickToCall to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetClickToCall(double value) { viewThroughConversionsFromLocationAssetClickToCall_ = value; bitField4_ |= 0x00800000; onChanged(); return this; } /** *
     * Number of call button clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_click_to_call = 275; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetClickToCall() { bitField4_ = (bitField4_ & ~0x00800000); viewThroughConversionsFromLocationAssetClickToCall_ = 0D; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetDirections_ ; /** *
     * Number of driving directions clicks on any location surface after an
     * impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_directions = 276; * @return Whether the viewThroughConversionsFromLocationAssetDirections field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetDirections() { return ((bitField4_ & 0x01000000) != 0); } /** *
     * Number of driving directions clicks on any location surface after an
     * impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_directions = 276; * @return The viewThroughConversionsFromLocationAssetDirections. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetDirections() { return viewThroughConversionsFromLocationAssetDirections_; } /** *
     * Number of driving directions clicks on any location surface after an
     * impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_directions = 276; * @param value The viewThroughConversionsFromLocationAssetDirections to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetDirections(double value) { viewThroughConversionsFromLocationAssetDirections_ = value; bitField4_ |= 0x01000000; onChanged(); return this; } /** *
     * Number of driving directions clicks on any location surface after an
     * impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_directions = 276; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetDirections() { bitField4_ = (bitField4_ & ~0x01000000); viewThroughConversionsFromLocationAssetDirections_ = 0D; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetMenu_ ; /** *
     * Number of menu link clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_menu = 277; * @return Whether the viewThroughConversionsFromLocationAssetMenu field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetMenu() { return ((bitField4_ & 0x02000000) != 0); } /** *
     * Number of menu link clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_menu = 277; * @return The viewThroughConversionsFromLocationAssetMenu. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetMenu() { return viewThroughConversionsFromLocationAssetMenu_; } /** *
     * Number of menu link clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_menu = 277; * @param value The viewThroughConversionsFromLocationAssetMenu to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetMenu(double value) { viewThroughConversionsFromLocationAssetMenu_ = value; bitField4_ |= 0x02000000; onChanged(); return this; } /** *
     * Number of menu link clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_menu = 277; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetMenu() { bitField4_ = (bitField4_ & ~0x02000000); viewThroughConversionsFromLocationAssetMenu_ = 0D; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetOrder_ ; /** *
     * Number of order clicks on any location surface after an impression. This
     * measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_order = 278; * @return Whether the viewThroughConversionsFromLocationAssetOrder field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetOrder() { return ((bitField4_ & 0x04000000) != 0); } /** *
     * Number of order clicks on any location surface after an impression. This
     * measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_order = 278; * @return The viewThroughConversionsFromLocationAssetOrder. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetOrder() { return viewThroughConversionsFromLocationAssetOrder_; } /** *
     * Number of order clicks on any location surface after an impression. This
     * measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_order = 278; * @param value The viewThroughConversionsFromLocationAssetOrder to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetOrder(double value) { viewThroughConversionsFromLocationAssetOrder_ = value; bitField4_ |= 0x04000000; onChanged(); return this; } /** *
     * Number of order clicks on any location surface after an impression. This
     * measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_order = 278; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetOrder() { bitField4_ = (bitField4_ & ~0x04000000); viewThroughConversionsFromLocationAssetOrder_ = 0D; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetOtherEngagement_ ; /** *
     * Number of other types of local action clicks on any location surface after
     * an impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_other_engagement = 279; * @return Whether the viewThroughConversionsFromLocationAssetOtherEngagement field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetOtherEngagement() { return ((bitField4_ & 0x08000000) != 0); } /** *
     * Number of other types of local action clicks on any location surface after
     * an impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_other_engagement = 279; * @return The viewThroughConversionsFromLocationAssetOtherEngagement. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetOtherEngagement() { return viewThroughConversionsFromLocationAssetOtherEngagement_; } /** *
     * Number of other types of local action clicks on any location surface after
     * an impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_other_engagement = 279; * @param value The viewThroughConversionsFromLocationAssetOtherEngagement to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetOtherEngagement(double value) { viewThroughConversionsFromLocationAssetOtherEngagement_ = value; bitField4_ |= 0x08000000; onChanged(); return this; } /** *
     * Number of other types of local action clicks on any location surface after
     * an impression. This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_other_engagement = 279; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetOtherEngagement() { bitField4_ = (bitField4_ & ~0x08000000); viewThroughConversionsFromLocationAssetOtherEngagement_ = 0D; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetStoreVisits_ ; /** *
     * Estimated number of visits to the store after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_store_visits = 280; * @return Whether the viewThroughConversionsFromLocationAssetStoreVisits field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetStoreVisits() { return ((bitField4_ & 0x10000000) != 0); } /** *
     * Estimated number of visits to the store after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_store_visits = 280; * @return The viewThroughConversionsFromLocationAssetStoreVisits. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetStoreVisits() { return viewThroughConversionsFromLocationAssetStoreVisits_; } /** *
     * Estimated number of visits to the store after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_store_visits = 280; * @param value The viewThroughConversionsFromLocationAssetStoreVisits to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetStoreVisits(double value) { viewThroughConversionsFromLocationAssetStoreVisits_ = value; bitField4_ |= 0x10000000; onChanged(); return this; } /** *
     * Estimated number of visits to the store after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_store_visits = 280; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetStoreVisits() { bitField4_ = (bitField4_ & ~0x10000000); viewThroughConversionsFromLocationAssetStoreVisits_ = 0D; onChanged(); return this; } private double viewThroughConversionsFromLocationAssetWebsite_ ; /** *
     * Number of website URL clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_website = 281; * @return Whether the viewThroughConversionsFromLocationAssetWebsite field is set. */ @java.lang.Override public boolean hasViewThroughConversionsFromLocationAssetWebsite() { return ((bitField4_ & 0x20000000) != 0); } /** *
     * Number of website URL clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_website = 281; * @return The viewThroughConversionsFromLocationAssetWebsite. */ @java.lang.Override public double getViewThroughConversionsFromLocationAssetWebsite() { return viewThroughConversionsFromLocationAssetWebsite_; } /** *
     * Number of website URL clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_website = 281; * @param value The viewThroughConversionsFromLocationAssetWebsite to set. * @return This builder for chaining. */ public Builder setViewThroughConversionsFromLocationAssetWebsite(double value) { viewThroughConversionsFromLocationAssetWebsite_ = value; bitField4_ |= 0x20000000; onChanged(); return this; } /** *
     * Number of website URL clicks on any location surface after an impression.
     * This measure is coming from Asset based location.
     * 
* * optional double view_through_conversions_from_location_asset_website = 281; * @return This builder for chaining. */ public Builder clearViewThroughConversionsFromLocationAssetWebsite() { bitField4_ = (bitField4_ & ~0x20000000); viewThroughConversionsFromLocationAssetWebsite_ = 0D; onChanged(); return this; } private double orders_ ; /** *
     * Orders is the total number of purchase conversions you received attributed
     * to your ads.
     * How it works: You report conversions with cart data for
     * completed purchases on your website. If a conversion is attributed to
     * previous interactions with your ads (clicks for text or Shopping ads, views
     * for video ads etc.) it's counted as an order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order on your website. Even though they bought 2
     * products, this would count as 1 order.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double orders = 296; * @return Whether the orders field is set. */ @java.lang.Override public boolean hasOrders() { return ((bitField4_ & 0x40000000) != 0); } /** *
     * Orders is the total number of purchase conversions you received attributed
     * to your ads.
     * How it works: You report conversions with cart data for
     * completed purchases on your website. If a conversion is attributed to
     * previous interactions with your ads (clicks for text or Shopping ads, views
     * for video ads etc.) it's counted as an order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order on your website. Even though they bought 2
     * products, this would count as 1 order.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double orders = 296; * @return The orders. */ @java.lang.Override public double getOrders() { return orders_; } /** *
     * Orders is the total number of purchase conversions you received attributed
     * to your ads.
     * How it works: You report conversions with cart data for
     * completed purchases on your website. If a conversion is attributed to
     * previous interactions with your ads (clicks for text or Shopping ads, views
     * for video ads etc.) it's counted as an order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order on your website. Even though they bought 2
     * products, this would count as 1 order.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double orders = 296; * @param value The orders to set. * @return This builder for chaining. */ public Builder setOrders(double value) { orders_ = value; bitField4_ |= 0x40000000; onChanged(); return this; } /** *
     * Orders is the total number of purchase conversions you received attributed
     * to your ads.
     * How it works: You report conversions with cart data for
     * completed purchases on your website. If a conversion is attributed to
     * previous interactions with your ads (clicks for text or Shopping ads, views
     * for video ads etc.) it's counted as an order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order on your website. Even though they bought 2
     * products, this would count as 1 order.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double orders = 296; * @return This builder for chaining. */ public Builder clearOrders() { bitField4_ = (bitField4_ & ~0x40000000); orders_ = 0D; onChanged(); return this; } private long averageOrderValueMicros_ ; /** *
     * Average order value is the average revenue you made per order attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average order value is the total revenue from your orders
     * divided by the total number of orders.
     * Example: You received 3 orders which made $10, $15 and $20 worth of
     * revenue. The average order value is $15 = ($10 + $15 + $20)/3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 average_order_value_micros = 297; * @return Whether the averageOrderValueMicros field is set. */ @java.lang.Override public boolean hasAverageOrderValueMicros() { return ((bitField4_ & 0x80000000) != 0); } /** *
     * Average order value is the average revenue you made per order attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average order value is the total revenue from your orders
     * divided by the total number of orders.
     * Example: You received 3 orders which made $10, $15 and $20 worth of
     * revenue. The average order value is $15 = ($10 + $15 + $20)/3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 average_order_value_micros = 297; * @return The averageOrderValueMicros. */ @java.lang.Override public long getAverageOrderValueMicros() { return averageOrderValueMicros_; } /** *
     * Average order value is the average revenue you made per order attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average order value is the total revenue from your orders
     * divided by the total number of orders.
     * Example: You received 3 orders which made $10, $15 and $20 worth of
     * revenue. The average order value is $15 = ($10 + $15 + $20)/3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 average_order_value_micros = 297; * @param value The averageOrderValueMicros to set. * @return This builder for chaining. */ public Builder setAverageOrderValueMicros(long value) { averageOrderValueMicros_ = value; bitField4_ |= 0x80000000; onChanged(); return this; } /** *
     * Average order value is the average revenue you made per order attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average order value is the total revenue from your orders
     * divided by the total number of orders.
     * Example: You received 3 orders which made $10, $15 and $20 worth of
     * revenue. The average order value is $15 = ($10 + $15 + $20)/3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 average_order_value_micros = 297; * @return This builder for chaining. */ public Builder clearAverageOrderValueMicros() { bitField4_ = (bitField4_ & ~0x80000000); averageOrderValueMicros_ = 0L; onChanged(); return this; } private double averageCartSize_ ; /** *
     * Average cart size is the average number of products in each order
     * attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average cart size is the total number of products sold
     * divided by the total number of orders you received.
     * Example: You received 2 orders, the first included 3 products and the
     * second included 2. The average cart size is 2.5 products = (3+2)/2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double average_cart_size = 298; * @return Whether the averageCartSize field is set. */ @java.lang.Override public boolean hasAverageCartSize() { return ((bitField5_ & 0x00000001) != 0); } /** *
     * Average cart size is the average number of products in each order
     * attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average cart size is the total number of products sold
     * divided by the total number of orders you received.
     * Example: You received 2 orders, the first included 3 products and the
     * second included 2. The average cart size is 2.5 products = (3+2)/2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double average_cart_size = 298; * @return The averageCartSize. */ @java.lang.Override public double getAverageCartSize() { return averageCartSize_; } /** *
     * Average cart size is the average number of products in each order
     * attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average cart size is the total number of products sold
     * divided by the total number of orders you received.
     * Example: You received 2 orders, the first included 3 products and the
     * second included 2. The average cart size is 2.5 products = (3+2)/2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double average_cart_size = 298; * @param value The averageCartSize to set. * @return This builder for chaining. */ public Builder setAverageCartSize(double value) { averageCartSize_ = value; bitField5_ |= 0x00000001; onChanged(); return this; } /** *
     * Average cart size is the average number of products in each order
     * attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Average cart size is the total number of products sold
     * divided by the total number of orders you received.
     * Example: You received 2 orders, the first included 3 products and the
     * second included 2. The average cart size is 2.5 products = (3+2)/2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double average_cart_size = 298; * @return This builder for chaining. */ public Builder clearAverageCartSize() { bitField5_ = (bitField5_ & ~0x00000001); averageCartSize_ = 0D; onChanged(); return this; } private long costOfGoodsSoldMicros_ ; /** *
     * Cost of goods sold (COGS) is the total cost of the products you sold in
     * orders attributed to your ads.
     * How it works: You can add a cost of goods sold value to every product in
     * Merchant Center. If you report conversions with cart data, the products you
     * sold are matched with their cost of goods sold value and this can be used
     * to calculate the gross profit you made on each order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cost of goods sold for this order
     * is $8 = $3 + $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cost_of_goods_sold_micros = 299; * @return Whether the costOfGoodsSoldMicros field is set. */ @java.lang.Override public boolean hasCostOfGoodsSoldMicros() { return ((bitField5_ & 0x00000002) != 0); } /** *
     * Cost of goods sold (COGS) is the total cost of the products you sold in
     * orders attributed to your ads.
     * How it works: You can add a cost of goods sold value to every product in
     * Merchant Center. If you report conversions with cart data, the products you
     * sold are matched with their cost of goods sold value and this can be used
     * to calculate the gross profit you made on each order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cost of goods sold for this order
     * is $8 = $3 + $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cost_of_goods_sold_micros = 299; * @return The costOfGoodsSoldMicros. */ @java.lang.Override public long getCostOfGoodsSoldMicros() { return costOfGoodsSoldMicros_; } /** *
     * Cost of goods sold (COGS) is the total cost of the products you sold in
     * orders attributed to your ads.
     * How it works: You can add a cost of goods sold value to every product in
     * Merchant Center. If you report conversions with cart data, the products you
     * sold are matched with their cost of goods sold value and this can be used
     * to calculate the gross profit you made on each order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cost of goods sold for this order
     * is $8 = $3 + $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cost_of_goods_sold_micros = 299; * @param value The costOfGoodsSoldMicros to set. * @return This builder for chaining. */ public Builder setCostOfGoodsSoldMicros(long value) { costOfGoodsSoldMicros_ = value; bitField5_ |= 0x00000002; onChanged(); return this; } /** *
     * Cost of goods sold (COGS) is the total cost of the products you sold in
     * orders attributed to your ads.
     * How it works: You can add a cost of goods sold value to every product in
     * Merchant Center. If you report conversions with cart data, the products you
     * sold are matched with their cost of goods sold value and this can be used
     * to calculate the gross profit you made on each order.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cost of goods sold for this order
     * is $8 = $3 + $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cost_of_goods_sold_micros = 299; * @return This builder for chaining. */ public Builder clearCostOfGoodsSoldMicros() { bitField5_ = (bitField5_ & ~0x00000002); costOfGoodsSoldMicros_ = 0L; onChanged(); return this; } private long grossProfitMicros_ ; /** *
     * Gross profit is the profit you made from orders attributed to your ads
     * minus the cost of goods sold (COGS).
     * How it works: Gross profit is the revenue you made from sales attributed to
     * your ads minus cost of goods sold. Gross profit calculations only include
     * products that have a cost of goods sold value in Merchant Center.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The hat has a cost of goods sold value of $3, but
     * the shirt has no cost of goods sold value. Gross profit for this order will
     * only take into account the hat, so it's $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 gross_profit_micros = 300; * @return Whether the grossProfitMicros field is set. */ @java.lang.Override public boolean hasGrossProfitMicros() { return ((bitField5_ & 0x00000004) != 0); } /** *
     * Gross profit is the profit you made from orders attributed to your ads
     * minus the cost of goods sold (COGS).
     * How it works: Gross profit is the revenue you made from sales attributed to
     * your ads minus cost of goods sold. Gross profit calculations only include
     * products that have a cost of goods sold value in Merchant Center.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The hat has a cost of goods sold value of $3, but
     * the shirt has no cost of goods sold value. Gross profit for this order will
     * only take into account the hat, so it's $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 gross_profit_micros = 300; * @return The grossProfitMicros. */ @java.lang.Override public long getGrossProfitMicros() { return grossProfitMicros_; } /** *
     * Gross profit is the profit you made from orders attributed to your ads
     * minus the cost of goods sold (COGS).
     * How it works: Gross profit is the revenue you made from sales attributed to
     * your ads minus cost of goods sold. Gross profit calculations only include
     * products that have a cost of goods sold value in Merchant Center.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The hat has a cost of goods sold value of $3, but
     * the shirt has no cost of goods sold value. Gross profit for this order will
     * only take into account the hat, so it's $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 gross_profit_micros = 300; * @param value The grossProfitMicros to set. * @return This builder for chaining. */ public Builder setGrossProfitMicros(long value) { grossProfitMicros_ = value; bitField5_ |= 0x00000004; onChanged(); return this; } /** *
     * Gross profit is the profit you made from orders attributed to your ads
     * minus the cost of goods sold (COGS).
     * How it works: Gross profit is the revenue you made from sales attributed to
     * your ads minus cost of goods sold. Gross profit calculations only include
     * products that have a cost of goods sold value in Merchant Center.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The hat has a cost of goods sold value of $3, but
     * the shirt has no cost of goods sold value. Gross profit for this order will
     * only take into account the hat, so it's $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 gross_profit_micros = 300; * @return This builder for chaining. */ public Builder clearGrossProfitMicros() { bitField5_ = (bitField5_ & ~0x00000004); grossProfitMicros_ = 0L; onChanged(); return this; } private double grossProfitMargin_ ; /** *
     * Gross profit margin is the percentage gross profit you made from orders
     * attributed to your ads, after taking out the cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Gross profit margin is the gross profit you made divided
     * by your total revenue and multiplied by 100%. Gross profit margin
     * calculations only include products that have a cost of goods sold value in
     * Merchant Center.
     * Example: Someone bought a hat and a shirt in an order on your website. The
     * hat is priced $10 and has a cost of goods sold value of $3. The shirt is
     * priced $20 but has no cost of goods sold value. Gross profit margin for
     * this order will only take into account the hat because it has a cost of
     * goods sold value, so it's 70% = ($10 - $3)/$10 x 100%.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double gross_profit_margin = 301; * @return Whether the grossProfitMargin field is set. */ @java.lang.Override public boolean hasGrossProfitMargin() { return ((bitField5_ & 0x00000008) != 0); } /** *
     * Gross profit margin is the percentage gross profit you made from orders
     * attributed to your ads, after taking out the cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Gross profit margin is the gross profit you made divided
     * by your total revenue and multiplied by 100%. Gross profit margin
     * calculations only include products that have a cost of goods sold value in
     * Merchant Center.
     * Example: Someone bought a hat and a shirt in an order on your website. The
     * hat is priced $10 and has a cost of goods sold value of $3. The shirt is
     * priced $20 but has no cost of goods sold value. Gross profit margin for
     * this order will only take into account the hat because it has a cost of
     * goods sold value, so it's 70% = ($10 - $3)/$10 x 100%.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double gross_profit_margin = 301; * @return The grossProfitMargin. */ @java.lang.Override public double getGrossProfitMargin() { return grossProfitMargin_; } /** *
     * Gross profit margin is the percentage gross profit you made from orders
     * attributed to your ads, after taking out the cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Gross profit margin is the gross profit you made divided
     * by your total revenue and multiplied by 100%. Gross profit margin
     * calculations only include products that have a cost of goods sold value in
     * Merchant Center.
     * Example: Someone bought a hat and a shirt in an order on your website. The
     * hat is priced $10 and has a cost of goods sold value of $3. The shirt is
     * priced $20 but has no cost of goods sold value. Gross profit margin for
     * this order will only take into account the hat because it has a cost of
     * goods sold value, so it's 70% = ($10 - $3)/$10 x 100%.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double gross_profit_margin = 301; * @param value The grossProfitMargin to set. * @return This builder for chaining. */ public Builder setGrossProfitMargin(double value) { grossProfitMargin_ = value; bitField5_ |= 0x00000008; onChanged(); return this; } /** *
     * Gross profit margin is the percentage gross profit you made from orders
     * attributed to your ads, after taking out the cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Gross profit margin is the gross profit you made divided
     * by your total revenue and multiplied by 100%. Gross profit margin
     * calculations only include products that have a cost of goods sold value in
     * Merchant Center.
     * Example: Someone bought a hat and a shirt in an order on your website. The
     * hat is priced $10 and has a cost of goods sold value of $3. The shirt is
     * priced $20 but has no cost of goods sold value. Gross profit margin for
     * this order will only take into account the hat because it has a cost of
     * goods sold value, so it's 70% = ($10 - $3)/$10 x 100%.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double gross_profit_margin = 301; * @return This builder for chaining. */ public Builder clearGrossProfitMargin() { bitField5_ = (bitField5_ & ~0x00000008); grossProfitMargin_ = 0D; onChanged(); return this; } private long revenueMicros_ ; /** *
     * Revenue is the total amount you made from orders attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Revenue is the total value of all the orders you received
     * attributed to your ads, minus any discount.
     * Example: Someone clicked on a Shopping ad  for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The entire order has a $5 discount. The revenue
     * from this order is $25 = ($10 + $20) - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 revenue_micros = 302; * @return Whether the revenueMicros field is set. */ @java.lang.Override public boolean hasRevenueMicros() { return ((bitField5_ & 0x00000010) != 0); } /** *
     * Revenue is the total amount you made from orders attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Revenue is the total value of all the orders you received
     * attributed to your ads, minus any discount.
     * Example: Someone clicked on a Shopping ad  for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The entire order has a $5 discount. The revenue
     * from this order is $25 = ($10 + $20) - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 revenue_micros = 302; * @return The revenueMicros. */ @java.lang.Override public long getRevenueMicros() { return revenueMicros_; } /** *
     * Revenue is the total amount you made from orders attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Revenue is the total value of all the orders you received
     * attributed to your ads, minus any discount.
     * Example: Someone clicked on a Shopping ad  for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The entire order has a $5 discount. The revenue
     * from this order is $25 = ($10 + $20) - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 revenue_micros = 302; * @param value The revenueMicros to set. * @return This builder for chaining. */ public Builder setRevenueMicros(long value) { revenueMicros_ = value; bitField5_ |= 0x00000010; onChanged(); return this; } /** *
     * Revenue is the total amount you made from orders attributed to your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Revenue is the total value of all the orders you received
     * attributed to your ads, minus any discount.
     * Example: Someone clicked on a Shopping ad  for a hat then bought the same
     * hat and a shirt in an order from your website. The hat is priced $10 and
     * the shirt is priced $20. The entire order has a $5 discount. The revenue
     * from this order is $25 = ($10 + $20) - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 revenue_micros = 302; * @return This builder for chaining. */ public Builder clearRevenueMicros() { bitField5_ = (bitField5_ & ~0x00000010); revenueMicros_ = 0L; onChanged(); return this; } private double unitsSold_ ; /** *
     * Units sold is the total number of products sold from orders attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Units sold is the total number of products sold from all
     * orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The units sold in this order is 3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double units_sold = 303; * @return Whether the unitsSold field is set. */ @java.lang.Override public boolean hasUnitsSold() { return ((bitField5_ & 0x00000020) != 0); } /** *
     * Units sold is the total number of products sold from orders attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Units sold is the total number of products sold from all
     * orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The units sold in this order is 3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double units_sold = 303; * @return The unitsSold. */ @java.lang.Override public double getUnitsSold() { return unitsSold_; } /** *
     * Units sold is the total number of products sold from orders attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Units sold is the total number of products sold from all
     * orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The units sold in this order is 3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double units_sold = 303; * @param value The unitsSold to set. * @return This builder for chaining. */ public Builder setUnitsSold(double value) { unitsSold_ = value; bitField5_ |= 0x00000020; onChanged(); return this; } /** *
     * Units sold is the total number of products sold from orders attributed to
     * your ads.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. Units sold is the total number of products sold from all
     * orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The units sold in this order is 3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double units_sold = 303; * @return This builder for chaining. */ public Builder clearUnitsSold() { bitField5_ = (bitField5_ & ~0x00000020); unitsSold_ = 0D; onChanged(); return this; } private long crossSellCostOfGoodsSoldMicros_ ; /** *
     * Cross-sell cost of goods sold (COGS) is the total cost of products sold as
     * a result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell cost of goods sold is the total cost of
     * the products sold that weren't advertised.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cross-sell cost of goods sold for
     * this order is $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_cost_of_goods_sold_micros = 304; * @return Whether the crossSellCostOfGoodsSoldMicros field is set. */ @java.lang.Override public boolean hasCrossSellCostOfGoodsSoldMicros() { return ((bitField5_ & 0x00000040) != 0); } /** *
     * Cross-sell cost of goods sold (COGS) is the total cost of products sold as
     * a result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell cost of goods sold is the total cost of
     * the products sold that weren't advertised.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cross-sell cost of goods sold for
     * this order is $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_cost_of_goods_sold_micros = 304; * @return The crossSellCostOfGoodsSoldMicros. */ @java.lang.Override public long getCrossSellCostOfGoodsSoldMicros() { return crossSellCostOfGoodsSoldMicros_; } /** *
     * Cross-sell cost of goods sold (COGS) is the total cost of products sold as
     * a result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell cost of goods sold is the total cost of
     * the products sold that weren't advertised.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cross-sell cost of goods sold for
     * this order is $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_cost_of_goods_sold_micros = 304; * @param value The crossSellCostOfGoodsSoldMicros to set. * @return This builder for chaining. */ public Builder setCrossSellCostOfGoodsSoldMicros(long value) { crossSellCostOfGoodsSoldMicros_ = value; bitField5_ |= 0x00000040; onChanged(); return this; } /** *
     * Cross-sell cost of goods sold (COGS) is the total cost of products sold as
     * a result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell cost of goods sold is the total cost of
     * the products sold that weren't advertised.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The cross-sell cost of goods sold for
     * this order is $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_cost_of_goods_sold_micros = 304; * @return This builder for chaining. */ public Builder clearCrossSellCostOfGoodsSoldMicros() { bitField5_ = (bitField5_ & ~0x00000040); crossSellCostOfGoodsSoldMicros_ = 0L; onChanged(); return this; } private long crossSellGrossProfitMicros_ ; /** *
     * Cross-sell gross profit is the profit you made from products sold as a
     * result of advertising a different product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the purchase is a sold
     * product. If these products don't match then this is considered cross-sell.
     * Cross-sell gross profit is the revenue you made from cross-sell attributed
     * to your ads minus the cost of the goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value
     * of $5. The cross-sell gross profit of this order is $15 = $20 - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_gross_profit_micros = 305; * @return Whether the crossSellGrossProfitMicros field is set. */ @java.lang.Override public boolean hasCrossSellGrossProfitMicros() { return ((bitField5_ & 0x00000080) != 0); } /** *
     * Cross-sell gross profit is the profit you made from products sold as a
     * result of advertising a different product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the purchase is a sold
     * product. If these products don't match then this is considered cross-sell.
     * Cross-sell gross profit is the revenue you made from cross-sell attributed
     * to your ads minus the cost of the goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value
     * of $5. The cross-sell gross profit of this order is $15 = $20 - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_gross_profit_micros = 305; * @return The crossSellGrossProfitMicros. */ @java.lang.Override public long getCrossSellGrossProfitMicros() { return crossSellGrossProfitMicros_; } /** *
     * Cross-sell gross profit is the profit you made from products sold as a
     * result of advertising a different product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the purchase is a sold
     * product. If these products don't match then this is considered cross-sell.
     * Cross-sell gross profit is the revenue you made from cross-sell attributed
     * to your ads minus the cost of the goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value
     * of $5. The cross-sell gross profit of this order is $15 = $20 - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_gross_profit_micros = 305; * @param value The crossSellGrossProfitMicros to set. * @return This builder for chaining. */ public Builder setCrossSellGrossProfitMicros(long value) { crossSellGrossProfitMicros_ = value; bitField5_ |= 0x00000080; onChanged(); return this; } /** *
     * Cross-sell gross profit is the profit you made from products sold as a
     * result of advertising a different product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the purchase is a sold
     * product. If these products don't match then this is considered cross-sell.
     * Cross-sell gross profit is the revenue you made from cross-sell attributed
     * to your ads minus the cost of the goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The shirt is priced $20 and has a cost of goods sold value
     * of $5. The cross-sell gross profit of this order is $15 = $20 - $5.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_gross_profit_micros = 305; * @return This builder for chaining. */ public Builder clearCrossSellGrossProfitMicros() { bitField5_ = (bitField5_ & ~0x00000080); crossSellGrossProfitMicros_ = 0L; onChanged(); return this; } private long crossSellRevenueMicros_ ; /** *
     * Cross-sell revenue is the total amount you made from products sold as a
     * result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell revenue is the total value you made from
     * cross-sell attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * cross-sell revenue of this order is $20.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_revenue_micros = 306; * @return Whether the crossSellRevenueMicros field is set. */ @java.lang.Override public boolean hasCrossSellRevenueMicros() { return ((bitField5_ & 0x00000100) != 0); } /** *
     * Cross-sell revenue is the total amount you made from products sold as a
     * result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell revenue is the total value you made from
     * cross-sell attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * cross-sell revenue of this order is $20.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_revenue_micros = 306; * @return The crossSellRevenueMicros. */ @java.lang.Override public long getCrossSellRevenueMicros() { return crossSellRevenueMicros_; } /** *
     * Cross-sell revenue is the total amount you made from products sold as a
     * result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell revenue is the total value you made from
     * cross-sell attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * cross-sell revenue of this order is $20.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_revenue_micros = 306; * @param value The crossSellRevenueMicros to set. * @return This builder for chaining. */ public Builder setCrossSellRevenueMicros(long value) { crossSellRevenueMicros_ = value; bitField5_ |= 0x00000100; onChanged(); return this; } /** *
     * Cross-sell revenue is the total amount you made from products sold as a
     * result of advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell revenue is the total value you made from
     * cross-sell attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * cross-sell revenue of this order is $20.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 cross_sell_revenue_micros = 306; * @return This builder for chaining. */ public Builder clearCrossSellRevenueMicros() { bitField5_ = (bitField5_ & ~0x00000100); crossSellRevenueMicros_ = 0L; onChanged(); return this; } private double crossSellUnitsSold_ ; /** *
     * Cross-sell units sold is the total number of products sold as a result of
     * advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell units sold is the total number of
     * cross-sold products from all orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The cross-sell units sold in this order is 2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double cross_sell_units_sold = 307; * @return Whether the crossSellUnitsSold field is set. */ @java.lang.Override public boolean hasCrossSellUnitsSold() { return ((bitField5_ & 0x00000200) != 0); } /** *
     * Cross-sell units sold is the total number of products sold as a result of
     * advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell units sold is the total number of
     * cross-sold products from all orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The cross-sell units sold in this order is 2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double cross_sell_units_sold = 307; * @return The crossSellUnitsSold. */ @java.lang.Override public double getCrossSellUnitsSold() { return crossSellUnitsSold_; } /** *
     * Cross-sell units sold is the total number of products sold as a result of
     * advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell units sold is the total number of
     * cross-sold products from all orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The cross-sell units sold in this order is 2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double cross_sell_units_sold = 307; * @param value The crossSellUnitsSold to set. * @return This builder for chaining. */ public Builder setCrossSellUnitsSold(double value) { crossSellUnitsSold_ = value; bitField5_ |= 0x00000200; onChanged(); return this; } /** *
     * Cross-sell units sold is the total number of products sold as a result of
     * advertising a different product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If these products don't match then this is
     * considered cross-sell. Cross-sell units sold is the total number of
     * cross-sold products from all orders attributed to your ads.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The cross-sell units sold in this order is 2.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double cross_sell_units_sold = 307; * @return This builder for chaining. */ public Builder clearCrossSellUnitsSold() { bitField5_ = (bitField5_ & ~0x00000200); crossSellUnitsSold_ = 0D; onChanged(); return this; } private long leadCostOfGoodsSoldMicros_ ; /** *
     * Lead cost of goods sold (COGS) is the total cost of products sold as a
     * result of advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with has an associated
     * product (see Shopping Ads) then this product is considered the advertised
     * product. Any product included in the order the customer places is a sold
     * product. If the advertised and sold products match, then the cost of these
     * goods is counted under lead cost of goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The lead cost of goods sold for this
     * order is $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_cost_of_goods_sold_micros = 308; * @return Whether the leadCostOfGoodsSoldMicros field is set. */ @java.lang.Override public boolean hasLeadCostOfGoodsSoldMicros() { return ((bitField5_ & 0x00000400) != 0); } /** *
     * Lead cost of goods sold (COGS) is the total cost of products sold as a
     * result of advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with has an associated
     * product (see Shopping Ads) then this product is considered the advertised
     * product. Any product included in the order the customer places is a sold
     * product. If the advertised and sold products match, then the cost of these
     * goods is counted under lead cost of goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The lead cost of goods sold for this
     * order is $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_cost_of_goods_sold_micros = 308; * @return The leadCostOfGoodsSoldMicros. */ @java.lang.Override public long getLeadCostOfGoodsSoldMicros() { return leadCostOfGoodsSoldMicros_; } /** *
     * Lead cost of goods sold (COGS) is the total cost of products sold as a
     * result of advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with has an associated
     * product (see Shopping Ads) then this product is considered the advertised
     * product. Any product included in the order the customer places is a sold
     * product. If the advertised and sold products match, then the cost of these
     * goods is counted under lead cost of goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The lead cost of goods sold for this
     * order is $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_cost_of_goods_sold_micros = 308; * @param value The leadCostOfGoodsSoldMicros to set. * @return This builder for chaining. */ public Builder setLeadCostOfGoodsSoldMicros(long value) { leadCostOfGoodsSoldMicros_ = value; bitField5_ |= 0x00000400; onChanged(); return this; } /** *
     * Lead cost of goods sold (COGS) is the total cost of products sold as a
     * result of advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with has an associated
     * product (see Shopping Ads) then this product is considered the advertised
     * product. Any product included in the order the customer places is a sold
     * product. If the advertised and sold products match, then the cost of these
     * goods is counted under lead cost of goods sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat has a cost of goods sold value of $3, the shirt
     * has a cost of goods sold value of $5. The lead cost of goods sold for this
     * order is $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_cost_of_goods_sold_micros = 308; * @return This builder for chaining. */ public Builder clearLeadCostOfGoodsSoldMicros() { bitField5_ = (bitField5_ & ~0x00000400); leadCostOfGoodsSoldMicros_ = 0L; onChanged(); return this; } private long leadGrossProfitMicros_ ; /** *
     * Lead gross profit is the profit you made from products sold as a result of
     * advertising the same product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the revenue you made from these sales minus the cost of goods sold is your
     * lead gross profit.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and has a cost of goods sold value
     * of $3. The lead gross profit of this order is $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_gross_profit_micros = 309; * @return Whether the leadGrossProfitMicros field is set. */ @java.lang.Override public boolean hasLeadGrossProfitMicros() { return ((bitField5_ & 0x00000800) != 0); } /** *
     * Lead gross profit is the profit you made from products sold as a result of
     * advertising the same product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the revenue you made from these sales minus the cost of goods sold is your
     * lead gross profit.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and has a cost of goods sold value
     * of $3. The lead gross profit of this order is $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_gross_profit_micros = 309; * @return The leadGrossProfitMicros. */ @java.lang.Override public long getLeadGrossProfitMicros() { return leadGrossProfitMicros_; } /** *
     * Lead gross profit is the profit you made from products sold as a result of
     * advertising the same product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the revenue you made from these sales minus the cost of goods sold is your
     * lead gross profit.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and has a cost of goods sold value
     * of $3. The lead gross profit of this order is $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_gross_profit_micros = 309; * @param value The leadGrossProfitMicros to set. * @return This builder for chaining. */ public Builder setLeadGrossProfitMicros(long value) { leadGrossProfitMicros_ = value; bitField5_ |= 0x00000800; onChanged(); return this; } /** *
     * Lead gross profit is the profit you made from products sold as a result of
     * advertising the same product, minus cost of goods sold (COGS).
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the revenue you made from these sales minus the cost of goods sold is your
     * lead gross profit.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and has a cost of goods sold value
     * of $3. The lead gross profit of this order is $7 = $10 - $3.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_gross_profit_micros = 309; * @return This builder for chaining. */ public Builder clearLeadGrossProfitMicros() { bitField5_ = (bitField5_ & ~0x00000800); leadGrossProfitMicros_ = 0L; onChanged(); return this; } private long leadRevenueMicros_ ; /** *
     * Lead revenue is the total amount you made from products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total value you made from the sales of these products is shown under
     * lead revenue.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * lead revenue of this order is $10.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_revenue_micros = 310; * @return Whether the leadRevenueMicros field is set. */ @java.lang.Override public boolean hasLeadRevenueMicros() { return ((bitField5_ & 0x00001000) != 0); } /** *
     * Lead revenue is the total amount you made from products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total value you made from the sales of these products is shown under
     * lead revenue.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * lead revenue of this order is $10.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_revenue_micros = 310; * @return The leadRevenueMicros. */ @java.lang.Override public long getLeadRevenueMicros() { return leadRevenueMicros_; } /** *
     * Lead revenue is the total amount you made from products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total value you made from the sales of these products is shown under
     * lead revenue.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * lead revenue of this order is $10.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_revenue_micros = 310; * @param value The leadRevenueMicros to set. * @return This builder for chaining. */ public Builder setLeadRevenueMicros(long value) { leadRevenueMicros_ = value; bitField5_ |= 0x00001000; onChanged(); return this; } /** *
     * Lead revenue is the total amount you made from products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total value you made from the sales of these products is shown under
     * lead revenue.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat and a shirt. The hat is priced $10 and the shirt is priced $20. The
     * lead revenue of this order is $10.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional int64 lead_revenue_micros = 310; * @return This builder for chaining. */ public Builder clearLeadRevenueMicros() { bitField5_ = (bitField5_ & ~0x00001000); leadRevenueMicros_ = 0L; onChanged(); return this; } private double leadUnitsSold_ ; /** *
     * Lead units sold is the total number of products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total number of these products sold is shown under lead units sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The lead units sold in this order is 1.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double lead_units_sold = 311; * @return Whether the leadUnitsSold field is set. */ @java.lang.Override public boolean hasLeadUnitsSold() { return ((bitField5_ & 0x00002000) != 0); } /** *
     * Lead units sold is the total number of products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total number of these products sold is shown under lead units sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The lead units sold in this order is 1.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double lead_units_sold = 311; * @return The leadUnitsSold. */ @java.lang.Override public double getLeadUnitsSold() { return leadUnitsSold_; } /** *
     * Lead units sold is the total number of products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total number of these products sold is shown under lead units sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The lead units sold in this order is 1.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double lead_units_sold = 311; * @param value The leadUnitsSold to set. * @return This builder for chaining. */ public Builder setLeadUnitsSold(double value) { leadUnitsSold_ = value; bitField5_ |= 0x00002000; onChanged(); return this; } /** *
     * Lead units sold is the total number of products sold as a result of
     * advertising the same product.
     * How it works: You report conversions with cart data for completed purchases
     * on your website. If the ad that was interacted with before the purchase has
     * an associated product (see Shopping Ads) then this product is considered
     * the advertised product. Any product included in the order the customer
     * places is a sold product. If the advertised and sold products match, then
     * the total number of these products sold is shown under lead units sold.
     * Example: Someone clicked on a Shopping ad for a hat then bought the same
     * hat, a shirt and a jacket. The lead units sold in this order is 1.
     * This metric is only available if you report conversions with cart data.
     * 
* * optional double lead_units_sold = 311; * @return This builder for chaining. */ public Builder clearLeadUnitsSold() { bitField5_ = (bitField5_ & ~0x00002000); leadUnitsSold_ = 0D; onChanged(); return this; } private long uniqueUsers_ ; /** *
     * The number of unique users who saw your ad during the requested time
     * period. This metric cannot be aggregated, and can only be requested for
     * date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional int64 unique_users = 319; * @return Whether the uniqueUsers field is set. */ @java.lang.Override public boolean hasUniqueUsers() { return ((bitField5_ & 0x00004000) != 0); } /** *
     * The number of unique users who saw your ad during the requested time
     * period. This metric cannot be aggregated, and can only be requested for
     * date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional int64 unique_users = 319; * @return The uniqueUsers. */ @java.lang.Override public long getUniqueUsers() { return uniqueUsers_; } /** *
     * The number of unique users who saw your ad during the requested time
     * period. This metric cannot be aggregated, and can only be requested for
     * date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional int64 unique_users = 319; * @param value The uniqueUsers to set. * @return This builder for chaining. */ public Builder setUniqueUsers(long value) { uniqueUsers_ = value; bitField5_ |= 0x00004000; onChanged(); return this; } /** *
     * The number of unique users who saw your ad during the requested time
     * period. This metric cannot be aggregated, and can only be requested for
     * date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional int64 unique_users = 319; * @return This builder for chaining. */ public Builder clearUniqueUsers() { bitField5_ = (bitField5_ & ~0x00004000); uniqueUsers_ = 0L; onChanged(); return this; } private double averageImpressionFrequencyPerUser_ ; /** *
     * The average number of times a unique user saw your ad during the requested
     * time period. This metric cannot be aggregated, and can only be requested
     * for date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional double average_impression_frequency_per_user = 320; * @return Whether the averageImpressionFrequencyPerUser field is set. */ @java.lang.Override public boolean hasAverageImpressionFrequencyPerUser() { return ((bitField5_ & 0x00008000) != 0); } /** *
     * The average number of times a unique user saw your ad during the requested
     * time period. This metric cannot be aggregated, and can only be requested
     * for date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional double average_impression_frequency_per_user = 320; * @return The averageImpressionFrequencyPerUser. */ @java.lang.Override public double getAverageImpressionFrequencyPerUser() { return averageImpressionFrequencyPerUser_; } /** *
     * The average number of times a unique user saw your ad during the requested
     * time period. This metric cannot be aggregated, and can only be requested
     * for date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional double average_impression_frequency_per_user = 320; * @param value The averageImpressionFrequencyPerUser to set. * @return This builder for chaining. */ public Builder setAverageImpressionFrequencyPerUser(double value) { averageImpressionFrequencyPerUser_ = value; bitField5_ |= 0x00008000; onChanged(); return this; } /** *
     * The average number of times a unique user saw your ad during the requested
     * time period. This metric cannot be aggregated, and can only be requested
     * for date ranges of 92 days or less. This metric is available for following
     * campaign types - Display, Video, Discovery and App.
     * 
* * optional double average_impression_frequency_per_user = 320; * @return This builder for chaining. */ public Builder clearAverageImpressionFrequencyPerUser() { bitField5_ = (bitField5_ & ~0x00008000); averageImpressionFrequencyPerUser_ = 0D; onChanged(); return this; } private long linkedEntitiesCount_ ; /** *
     * Number of linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * optional int64 linked_entities_count = 341; * @return Whether the linkedEntitiesCount field is set. */ @java.lang.Override public boolean hasLinkedEntitiesCount() { return ((bitField5_ & 0x00010000) != 0); } /** *
     * Number of linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * optional int64 linked_entities_count = 341; * @return The linkedEntitiesCount. */ @java.lang.Override public long getLinkedEntitiesCount() { return linkedEntitiesCount_; } /** *
     * Number of linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * optional int64 linked_entities_count = 341; * @param value The linkedEntitiesCount to set. * @return This builder for chaining. */ public Builder setLinkedEntitiesCount(long value) { linkedEntitiesCount_ = value; bitField5_ |= 0x00010000; onChanged(); return this; } /** *
     * Number of linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * optional int64 linked_entities_count = 341; * @return This builder for chaining. */ public Builder clearLinkedEntitiesCount() { bitField5_ = (bitField5_ & ~0x00010000); linkedEntitiesCount_ = 0L; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList linkedSampleEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureLinkedSampleEntitiesIsMutable() { if (!linkedSampleEntities_.isModifiable()) { linkedSampleEntities_ = new com.google.protobuf.LazyStringArrayList(linkedSampleEntities_); } bitField5_ |= 0x00020000; } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @return A list containing the linkedSampleEntities. */ public com.google.protobuf.ProtocolStringList getLinkedSampleEntitiesList() { linkedSampleEntities_.makeImmutable(); return linkedSampleEntities_; } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @return The count of linkedSampleEntities. */ public int getLinkedSampleEntitiesCount() { return linkedSampleEntities_.size(); } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @param index The index of the element to return. * @return The linkedSampleEntities at the given index. */ public java.lang.String getLinkedSampleEntities(int index) { return linkedSampleEntities_.get(index); } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @param index The index of the value to return. * @return The bytes of the linkedSampleEntities at the given index. */ public com.google.protobuf.ByteString getLinkedSampleEntitiesBytes(int index) { return linkedSampleEntities_.getByteString(index); } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @param index The index to set the value at. * @param value The linkedSampleEntities to set. * @return This builder for chaining. */ public Builder setLinkedSampleEntities( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureLinkedSampleEntitiesIsMutable(); linkedSampleEntities_.set(index, value); bitField5_ |= 0x00020000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @param value The linkedSampleEntities to add. * @return This builder for chaining. */ public Builder addLinkedSampleEntities( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureLinkedSampleEntitiesIsMutable(); linkedSampleEntities_.add(value); bitField5_ |= 0x00020000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @param values The linkedSampleEntities to add. * @return This builder for chaining. */ public Builder addAllLinkedSampleEntities( java.lang.Iterable values) { ensureLinkedSampleEntitiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, linkedSampleEntities_); bitField5_ |= 0x00020000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @return This builder for chaining. */ public Builder clearLinkedSampleEntities() { linkedSampleEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField5_ = (bitField5_ & ~0x00020000);; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources in which the asset is used.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string linked_sample_entities = 342; * @param value The bytes of the linkedSampleEntities to add. * @return This builder for chaining. */ public Builder addLinkedSampleEntitiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureLinkedSampleEntitiesIsMutable(); linkedSampleEntities_.add(value); bitField5_ |= 0x00020000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sampleBestPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSampleBestPerformanceEntitiesIsMutable() { if (!sampleBestPerformanceEntities_.isModifiable()) { sampleBestPerformanceEntities_ = new com.google.protobuf.LazyStringArrayList(sampleBestPerformanceEntities_); } bitField5_ |= 0x00040000; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @return A list containing the sampleBestPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleBestPerformanceEntitiesList() { sampleBestPerformanceEntities_.makeImmutable(); return sampleBestPerformanceEntities_; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @return The count of sampleBestPerformanceEntities. */ public int getSampleBestPerformanceEntitiesCount() { return sampleBestPerformanceEntities_.size(); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @param index The index of the element to return. * @return The sampleBestPerformanceEntities at the given index. */ public java.lang.String getSampleBestPerformanceEntities(int index) { return sampleBestPerformanceEntities_.get(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @param index The index of the value to return. * @return The bytes of the sampleBestPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleBestPerformanceEntitiesBytes(int index) { return sampleBestPerformanceEntities_.getByteString(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @param index The index to set the value at. * @param value The sampleBestPerformanceEntities to set. * @return This builder for chaining. */ public Builder setSampleBestPerformanceEntities( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleBestPerformanceEntitiesIsMutable(); sampleBestPerformanceEntities_.set(index, value); bitField5_ |= 0x00040000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @param value The sampleBestPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleBestPerformanceEntities( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleBestPerformanceEntitiesIsMutable(); sampleBestPerformanceEntities_.add(value); bitField5_ |= 0x00040000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @param values The sampleBestPerformanceEntities to add. * @return This builder for chaining. */ public Builder addAllSampleBestPerformanceEntities( java.lang.Iterable values) { ensureSampleBestPerformanceEntitiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, sampleBestPerformanceEntities_); bitField5_ |= 0x00040000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @return This builder for chaining. */ public Builder clearSampleBestPerformanceEntities() { sampleBestPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField5_ = (bitField5_ & ~0x00040000);; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.BEST performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_best_performance_entities = 343; * @param value The bytes of the sampleBestPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleBestPerformanceEntitiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSampleBestPerformanceEntitiesIsMutable(); sampleBestPerformanceEntities_.add(value); bitField5_ |= 0x00040000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sampleGoodPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSampleGoodPerformanceEntitiesIsMutable() { if (!sampleGoodPerformanceEntities_.isModifiable()) { sampleGoodPerformanceEntities_ = new com.google.protobuf.LazyStringArrayList(sampleGoodPerformanceEntities_); } bitField5_ |= 0x00080000; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @return A list containing the sampleGoodPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleGoodPerformanceEntitiesList() { sampleGoodPerformanceEntities_.makeImmutable(); return sampleGoodPerformanceEntities_; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @return The count of sampleGoodPerformanceEntities. */ public int getSampleGoodPerformanceEntitiesCount() { return sampleGoodPerformanceEntities_.size(); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @param index The index of the element to return. * @return The sampleGoodPerformanceEntities at the given index. */ public java.lang.String getSampleGoodPerformanceEntities(int index) { return sampleGoodPerformanceEntities_.get(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @param index The index of the value to return. * @return The bytes of the sampleGoodPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleGoodPerformanceEntitiesBytes(int index) { return sampleGoodPerformanceEntities_.getByteString(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @param index The index to set the value at. * @param value The sampleGoodPerformanceEntities to set. * @return This builder for chaining. */ public Builder setSampleGoodPerformanceEntities( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleGoodPerformanceEntitiesIsMutable(); sampleGoodPerformanceEntities_.set(index, value); bitField5_ |= 0x00080000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @param value The sampleGoodPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleGoodPerformanceEntities( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleGoodPerformanceEntitiesIsMutable(); sampleGoodPerformanceEntities_.add(value); bitField5_ |= 0x00080000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @param values The sampleGoodPerformanceEntities to add. * @return This builder for chaining. */ public Builder addAllSampleGoodPerformanceEntities( java.lang.Iterable values) { ensureSampleGoodPerformanceEntitiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, sampleGoodPerformanceEntities_); bitField5_ |= 0x00080000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @return This builder for chaining. */ public Builder clearSampleGoodPerformanceEntities() { sampleGoodPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField5_ = (bitField5_ & ~0x00080000);; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.GOOD performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_good_performance_entities = 344; * @param value The bytes of the sampleGoodPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleGoodPerformanceEntitiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSampleGoodPerformanceEntitiesIsMutable(); sampleGoodPerformanceEntities_.add(value); bitField5_ |= 0x00080000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sampleLowPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSampleLowPerformanceEntitiesIsMutable() { if (!sampleLowPerformanceEntities_.isModifiable()) { sampleLowPerformanceEntities_ = new com.google.protobuf.LazyStringArrayList(sampleLowPerformanceEntities_); } bitField5_ |= 0x00100000; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @return A list containing the sampleLowPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleLowPerformanceEntitiesList() { sampleLowPerformanceEntities_.makeImmutable(); return sampleLowPerformanceEntities_; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @return The count of sampleLowPerformanceEntities. */ public int getSampleLowPerformanceEntitiesCount() { return sampleLowPerformanceEntities_.size(); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @param index The index of the element to return. * @return The sampleLowPerformanceEntities at the given index. */ public java.lang.String getSampleLowPerformanceEntities(int index) { return sampleLowPerformanceEntities_.get(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @param index The index of the value to return. * @return The bytes of the sampleLowPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleLowPerformanceEntitiesBytes(int index) { return sampleLowPerformanceEntities_.getByteString(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @param index The index to set the value at. * @param value The sampleLowPerformanceEntities to set. * @return This builder for chaining. */ public Builder setSampleLowPerformanceEntities( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleLowPerformanceEntitiesIsMutable(); sampleLowPerformanceEntities_.set(index, value); bitField5_ |= 0x00100000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @param value The sampleLowPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleLowPerformanceEntities( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleLowPerformanceEntitiesIsMutable(); sampleLowPerformanceEntities_.add(value); bitField5_ |= 0x00100000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @param values The sampleLowPerformanceEntities to add. * @return This builder for chaining. */ public Builder addAllSampleLowPerformanceEntities( java.lang.Iterable values) { ensureSampleLowPerformanceEntitiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, sampleLowPerformanceEntities_); bitField5_ |= 0x00100000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @return This builder for chaining. */ public Builder clearSampleLowPerformanceEntities() { sampleLowPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField5_ = (bitField5_ & ~0x00100000);; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LOW performance label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_low_performance_entities = 345; * @param value The bytes of the sampleLowPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleLowPerformanceEntitiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSampleLowPerformanceEntitiesIsMutable(); sampleLowPerformanceEntities_.add(value); bitField5_ |= 0x00100000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sampleLearningPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSampleLearningPerformanceEntitiesIsMutable() { if (!sampleLearningPerformanceEntities_.isModifiable()) { sampleLearningPerformanceEntities_ = new com.google.protobuf.LazyStringArrayList(sampleLearningPerformanceEntities_); } bitField5_ |= 0x00200000; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @return A list containing the sampleLearningPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleLearningPerformanceEntitiesList() { sampleLearningPerformanceEntities_.makeImmutable(); return sampleLearningPerformanceEntities_; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @return The count of sampleLearningPerformanceEntities. */ public int getSampleLearningPerformanceEntitiesCount() { return sampleLearningPerformanceEntities_.size(); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @param index The index of the element to return. * @return The sampleLearningPerformanceEntities at the given index. */ public java.lang.String getSampleLearningPerformanceEntities(int index) { return sampleLearningPerformanceEntities_.get(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @param index The index of the value to return. * @return The bytes of the sampleLearningPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleLearningPerformanceEntitiesBytes(int index) { return sampleLearningPerformanceEntities_.getByteString(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @param index The index to set the value at. * @param value The sampleLearningPerformanceEntities to set. * @return This builder for chaining. */ public Builder setSampleLearningPerformanceEntities( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleLearningPerformanceEntitiesIsMutable(); sampleLearningPerformanceEntities_.set(index, value); bitField5_ |= 0x00200000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @param value The sampleLearningPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleLearningPerformanceEntities( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleLearningPerformanceEntitiesIsMutable(); sampleLearningPerformanceEntities_.add(value); bitField5_ |= 0x00200000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @param values The sampleLearningPerformanceEntities to add. * @return This builder for chaining. */ public Builder addAllSampleLearningPerformanceEntities( java.lang.Iterable values) { ensureSampleLearningPerformanceEntitiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, sampleLearningPerformanceEntities_); bitField5_ |= 0x00200000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @return This builder for chaining. */ public Builder clearSampleLearningPerformanceEntities() { sampleLearningPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField5_ = (bitField5_ & ~0x00200000);; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the asset had the AssetPerformanceLabel.LEARNING performance
     * label.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_learning_performance_entities = 346; * @param value The bytes of the sampleLearningPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleLearningPerformanceEntitiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSampleLearningPerformanceEntitiesIsMutable(); sampleLearningPerformanceEntities_.add(value); bitField5_ |= 0x00200000; onChanged(); return this; } private com.google.protobuf.LazyStringArrayList sampleUnratedPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); private void ensureSampleUnratedPerformanceEntitiesIsMutable() { if (!sampleUnratedPerformanceEntities_.isModifiable()) { sampleUnratedPerformanceEntities_ = new com.google.protobuf.LazyStringArrayList(sampleUnratedPerformanceEntities_); } bitField5_ |= 0x00400000; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @return A list containing the sampleUnratedPerformanceEntities. */ public com.google.protobuf.ProtocolStringList getSampleUnratedPerformanceEntitiesList() { sampleUnratedPerformanceEntities_.makeImmutable(); return sampleUnratedPerformanceEntities_; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @return The count of sampleUnratedPerformanceEntities. */ public int getSampleUnratedPerformanceEntitiesCount() { return sampleUnratedPerformanceEntities_.size(); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @param index The index of the element to return. * @return The sampleUnratedPerformanceEntities at the given index. */ public java.lang.String getSampleUnratedPerformanceEntities(int index) { return sampleUnratedPerformanceEntities_.get(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @param index The index of the value to return. * @return The bytes of the sampleUnratedPerformanceEntities at the given index. */ public com.google.protobuf.ByteString getSampleUnratedPerformanceEntitiesBytes(int index) { return sampleUnratedPerformanceEntities_.getByteString(index); } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @param index The index to set the value at. * @param value The sampleUnratedPerformanceEntities to set. * @return This builder for chaining. */ public Builder setSampleUnratedPerformanceEntities( int index, java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleUnratedPerformanceEntitiesIsMutable(); sampleUnratedPerformanceEntities_.set(index, value); bitField5_ |= 0x00400000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @param value The sampleUnratedPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleUnratedPerformanceEntities( java.lang.String value) { if (value == null) { throw new NullPointerException(); } ensureSampleUnratedPerformanceEntitiesIsMutable(); sampleUnratedPerformanceEntities_.add(value); bitField5_ |= 0x00400000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @param values The sampleUnratedPerformanceEntities to add. * @return This builder for chaining. */ public Builder addAllSampleUnratedPerformanceEntities( java.lang.Iterable values) { ensureSampleUnratedPerformanceEntitiesIsMutable(); com.google.protobuf.AbstractMessageLite.Builder.addAll( values, sampleUnratedPerformanceEntities_); bitField5_ |= 0x00400000; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @return This builder for chaining. */ public Builder clearSampleUnratedPerformanceEntities() { sampleUnratedPerformanceEntities_ = com.google.protobuf.LazyStringArrayList.emptyList(); bitField5_ = (bitField5_ & ~0x00400000);; onChanged(); return this; } /** *
     * A list of up to 20 sample linked resources with impressions in the last 30
     * days where the assets had AssetPerformanceLabel performance label other
     * than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * 
* * repeated string sample_unrated_performance_entities = 347; * @param value The bytes of the sampleUnratedPerformanceEntities to add. * @return This builder for chaining. */ public Builder addSampleUnratedPerformanceEntitiesBytes( com.google.protobuf.ByteString value) { if (value == null) { throw new NullPointerException(); } checkByteStringIsUtf8(value); ensureSampleUnratedPerformanceEntitiesIsMutable(); sampleUnratedPerformanceEntities_.add(value); bitField5_ |= 0x00400000; onChanged(); return this; } private long assetPinnedTotalCount_ ; /** *
     * Number of total usages in which the asset is pinned.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_total_count = 348; * @return Whether the assetPinnedTotalCount field is set. */ @java.lang.Override public boolean hasAssetPinnedTotalCount() { return ((bitField5_ & 0x00800000) != 0); } /** *
     * Number of total usages in which the asset is pinned.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_total_count = 348; * @return The assetPinnedTotalCount. */ @java.lang.Override public long getAssetPinnedTotalCount() { return assetPinnedTotalCount_; } /** *
     * Number of total usages in which the asset is pinned.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_total_count = 348; * @param value The assetPinnedTotalCount to set. * @return This builder for chaining. */ public Builder setAssetPinnedTotalCount(long value) { assetPinnedTotalCount_ = value; bitField5_ |= 0x00800000; onChanged(); return this; } /** *
     * Number of total usages in which the asset is pinned.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_total_count = 348; * @return This builder for chaining. */ public Builder clearAssetPinnedTotalCount() { bitField5_ = (bitField5_ & ~0x00800000); assetPinnedTotalCount_ = 0L; onChanged(); return this; } private long assetPinnedAsHeadlinePositionOneCount_ ; /** *
     * Number of entities in which the asset is pinned to headline 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_one_count = 349; * @return Whether the assetPinnedAsHeadlinePositionOneCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsHeadlinePositionOneCount() { return ((bitField5_ & 0x01000000) != 0); } /** *
     * Number of entities in which the asset is pinned to headline 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_one_count = 349; * @return The assetPinnedAsHeadlinePositionOneCount. */ @java.lang.Override public long getAssetPinnedAsHeadlinePositionOneCount() { return assetPinnedAsHeadlinePositionOneCount_; } /** *
     * Number of entities in which the asset is pinned to headline 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_one_count = 349; * @param value The assetPinnedAsHeadlinePositionOneCount to set. * @return This builder for chaining. */ public Builder setAssetPinnedAsHeadlinePositionOneCount(long value) { assetPinnedAsHeadlinePositionOneCount_ = value; bitField5_ |= 0x01000000; onChanged(); return this; } /** *
     * Number of entities in which the asset is pinned to headline 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_one_count = 349; * @return This builder for chaining. */ public Builder clearAssetPinnedAsHeadlinePositionOneCount() { bitField5_ = (bitField5_ & ~0x01000000); assetPinnedAsHeadlinePositionOneCount_ = 0L; onChanged(); return this; } private long assetPinnedAsHeadlinePositionTwoCount_ ; /** *
     * Number of entities in which the asset is pinned to headline 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_two_count = 350; * @return Whether the assetPinnedAsHeadlinePositionTwoCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsHeadlinePositionTwoCount() { return ((bitField5_ & 0x02000000) != 0); } /** *
     * Number of entities in which the asset is pinned to headline 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_two_count = 350; * @return The assetPinnedAsHeadlinePositionTwoCount. */ @java.lang.Override public long getAssetPinnedAsHeadlinePositionTwoCount() { return assetPinnedAsHeadlinePositionTwoCount_; } /** *
     * Number of entities in which the asset is pinned to headline 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_two_count = 350; * @param value The assetPinnedAsHeadlinePositionTwoCount to set. * @return This builder for chaining. */ public Builder setAssetPinnedAsHeadlinePositionTwoCount(long value) { assetPinnedAsHeadlinePositionTwoCount_ = value; bitField5_ |= 0x02000000; onChanged(); return this; } /** *
     * Number of entities in which the asset is pinned to headline 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_two_count = 350; * @return This builder for chaining. */ public Builder clearAssetPinnedAsHeadlinePositionTwoCount() { bitField5_ = (bitField5_ & ~0x02000000); assetPinnedAsHeadlinePositionTwoCount_ = 0L; onChanged(); return this; } private long assetPinnedAsHeadlinePositionThreeCount_ ; /** *
     * Number of entities in which the asset is pinned to headline 3.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_three_count = 351; * @return Whether the assetPinnedAsHeadlinePositionThreeCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsHeadlinePositionThreeCount() { return ((bitField5_ & 0x04000000) != 0); } /** *
     * Number of entities in which the asset is pinned to headline 3.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_three_count = 351; * @return The assetPinnedAsHeadlinePositionThreeCount. */ @java.lang.Override public long getAssetPinnedAsHeadlinePositionThreeCount() { return assetPinnedAsHeadlinePositionThreeCount_; } /** *
     * Number of entities in which the asset is pinned to headline 3.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_three_count = 351; * @param value The assetPinnedAsHeadlinePositionThreeCount to set. * @return This builder for chaining. */ public Builder setAssetPinnedAsHeadlinePositionThreeCount(long value) { assetPinnedAsHeadlinePositionThreeCount_ = value; bitField5_ |= 0x04000000; onChanged(); return this; } /** *
     * Number of entities in which the asset is pinned to headline 3.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_headline_position_three_count = 351; * @return This builder for chaining. */ public Builder clearAssetPinnedAsHeadlinePositionThreeCount() { bitField5_ = (bitField5_ & ~0x04000000); assetPinnedAsHeadlinePositionThreeCount_ = 0L; onChanged(); return this; } private long assetPinnedAsDescriptionPositionOneCount_ ; /** *
     * Number of entities in which the asset is pinned to description 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_one_count = 352; * @return Whether the assetPinnedAsDescriptionPositionOneCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsDescriptionPositionOneCount() { return ((bitField5_ & 0x08000000) != 0); } /** *
     * Number of entities in which the asset is pinned to description 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_one_count = 352; * @return The assetPinnedAsDescriptionPositionOneCount. */ @java.lang.Override public long getAssetPinnedAsDescriptionPositionOneCount() { return assetPinnedAsDescriptionPositionOneCount_; } /** *
     * Number of entities in which the asset is pinned to description 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_one_count = 352; * @param value The assetPinnedAsDescriptionPositionOneCount to set. * @return This builder for chaining. */ public Builder setAssetPinnedAsDescriptionPositionOneCount(long value) { assetPinnedAsDescriptionPositionOneCount_ = value; bitField5_ |= 0x08000000; onChanged(); return this; } /** *
     * Number of entities in which the asset is pinned to description 1.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_one_count = 352; * @return This builder for chaining. */ public Builder clearAssetPinnedAsDescriptionPositionOneCount() { bitField5_ = (bitField5_ & ~0x08000000); assetPinnedAsDescriptionPositionOneCount_ = 0L; onChanged(); return this; } private long assetPinnedAsDescriptionPositionTwoCount_ ; /** *
     * Number of entities in which the asset is pinned to description 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_two_count = 353; * @return Whether the assetPinnedAsDescriptionPositionTwoCount field is set. */ @java.lang.Override public boolean hasAssetPinnedAsDescriptionPositionTwoCount() { return ((bitField5_ & 0x10000000) != 0); } /** *
     * Number of entities in which the asset is pinned to description 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_two_count = 353; * @return The assetPinnedAsDescriptionPositionTwoCount. */ @java.lang.Override public long getAssetPinnedAsDescriptionPositionTwoCount() { return assetPinnedAsDescriptionPositionTwoCount_; } /** *
     * Number of entities in which the asset is pinned to description 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_two_count = 353; * @param value The assetPinnedAsDescriptionPositionTwoCount to set. * @return This builder for chaining. */ public Builder setAssetPinnedAsDescriptionPositionTwoCount(long value) { assetPinnedAsDescriptionPositionTwoCount_ = value; bitField5_ |= 0x10000000; onChanged(); return this; } /** *
     * Number of entities in which the asset is pinned to description 2.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional int64 asset_pinned_as_description_position_two_count = 353; * @return This builder for chaining. */ public Builder clearAssetPinnedAsDescriptionPositionTwoCount() { bitField5_ = (bitField5_ & ~0x10000000); assetPinnedAsDescriptionPositionTwoCount_ = 0L; onChanged(); return this; } private double assetBestPerformanceImpressionPercentage_ ; /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_best_performance_impression_percentage = 354; * @return Whether the assetBestPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetBestPerformanceImpressionPercentage() { return ((bitField5_ & 0x20000000) != 0); } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_best_performance_impression_percentage = 354; * @return The assetBestPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetBestPerformanceImpressionPercentage() { return assetBestPerformanceImpressionPercentage_; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_best_performance_impression_percentage = 354; * @param value The assetBestPerformanceImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAssetBestPerformanceImpressionPercentage(double value) { assetBestPerformanceImpressionPercentage_ = value; bitField5_ |= 0x20000000; onChanged(); return this; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_best_performance_impression_percentage = 354; * @return This builder for chaining. */ public Builder clearAssetBestPerformanceImpressionPercentage() { bitField5_ = (bitField5_ & ~0x20000000); assetBestPerformanceImpressionPercentage_ = 0D; onChanged(); return this; } private double assetGoodPerformanceImpressionPercentage_ ; /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_good_performance_impression_percentage = 355; * @return Whether the assetGoodPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetGoodPerformanceImpressionPercentage() { return ((bitField5_ & 0x40000000) != 0); } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_good_performance_impression_percentage = 355; * @return The assetGoodPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetGoodPerformanceImpressionPercentage() { return assetGoodPerformanceImpressionPercentage_; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_good_performance_impression_percentage = 355; * @param value The assetGoodPerformanceImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAssetGoodPerformanceImpressionPercentage(double value) { assetGoodPerformanceImpressionPercentage_ = value; bitField5_ |= 0x40000000; onChanged(); return this; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_good_performance_impression_percentage = 355; * @return This builder for chaining. */ public Builder clearAssetGoodPerformanceImpressionPercentage() { bitField5_ = (bitField5_ & ~0x40000000); assetGoodPerformanceImpressionPercentage_ = 0D; onChanged(); return this; } private double assetLowPerformanceImpressionPercentage_ ; /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_low_performance_impression_percentage = 356; * @return Whether the assetLowPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetLowPerformanceImpressionPercentage() { return ((bitField5_ & 0x80000000) != 0); } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_low_performance_impression_percentage = 356; * @return The assetLowPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetLowPerformanceImpressionPercentage() { return assetLowPerformanceImpressionPercentage_; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_low_performance_impression_percentage = 356; * @param value The assetLowPerformanceImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAssetLowPerformanceImpressionPercentage(double value) { assetLowPerformanceImpressionPercentage_ = value; bitField5_ |= 0x80000000; onChanged(); return this; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_low_performance_impression_percentage = 356; * @return This builder for chaining. */ public Builder clearAssetLowPerformanceImpressionPercentage() { bitField5_ = (bitField5_ & ~0x80000000); assetLowPerformanceImpressionPercentage_ = 0D; onChanged(); return this; } private double assetLearningPerformanceImpressionPercentage_ ; /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_learning_performance_impression_percentage = 357; * @return Whether the assetLearningPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetLearningPerformanceImpressionPercentage() { return ((bitField6_ & 0x00000001) != 0); } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_learning_performance_impression_percentage = 357; * @return The assetLearningPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetLearningPerformanceImpressionPercentage() { return assetLearningPerformanceImpressionPercentage_; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_learning_performance_impression_percentage = 357; * @param value The assetLearningPerformanceImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAssetLearningPerformanceImpressionPercentage(double value) { assetLearningPerformanceImpressionPercentage_ = value; bitField6_ |= 0x00000001; onChanged(); return this; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_learning_performance_impression_percentage = 357; * @return This builder for chaining. */ public Builder clearAssetLearningPerformanceImpressionPercentage() { bitField6_ = (bitField6_ & ~0x00000001); assetLearningPerformanceImpressionPercentage_ = 0D; onChanged(); return this; } private double assetUnratedPerformanceImpressionPercentage_ ; /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_unrated_performance_impression_percentage = 358; * @return Whether the assetUnratedPerformanceImpressionPercentage field is set. */ @java.lang.Override public boolean hasAssetUnratedPerformanceImpressionPercentage() { return ((bitField6_ & 0x00000002) != 0); } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_unrated_performance_impression_percentage = 358; * @return The assetUnratedPerformanceImpressionPercentage. */ @java.lang.Override public double getAssetUnratedPerformanceImpressionPercentage() { return assetUnratedPerformanceImpressionPercentage_; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_unrated_performance_impression_percentage = 358; * @param value The assetUnratedPerformanceImpressionPercentage to set. * @return This builder for chaining. */ public Builder setAssetUnratedPerformanceImpressionPercentage(double value) { assetUnratedPerformanceImpressionPercentage_ = value; bitField6_ |= 0x00000002; onChanged(); return this; } /** *
     * Percentage of impressions the asset received in ads with
     * AssetPerformanceLabel other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Search channel.
     * 
* * optional double asset_unrated_performance_impression_percentage = 358; * @return This builder for chaining. */ public Builder clearAssetUnratedPerformanceImpressionPercentage() { bitField6_ = (bitField6_ & ~0x00000002); assetUnratedPerformanceImpressionPercentage_ = 0D; onChanged(); return this; } private double assetBestPerformanceCostPercentage_ ; /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_best_performance_cost_percentage = 359; * @return Whether the assetBestPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetBestPerformanceCostPercentage() { return ((bitField6_ & 0x00000004) != 0); } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_best_performance_cost_percentage = 359; * @return The assetBestPerformanceCostPercentage. */ @java.lang.Override public double getAssetBestPerformanceCostPercentage() { return assetBestPerformanceCostPercentage_; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_best_performance_cost_percentage = 359; * @param value The assetBestPerformanceCostPercentage to set. * @return This builder for chaining. */ public Builder setAssetBestPerformanceCostPercentage(double value) { assetBestPerformanceCostPercentage_ = value; bitField6_ |= 0x00000004; onChanged(); return this; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.BEST.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_best_performance_cost_percentage = 359; * @return This builder for chaining. */ public Builder clearAssetBestPerformanceCostPercentage() { bitField6_ = (bitField6_ & ~0x00000004); assetBestPerformanceCostPercentage_ = 0D; onChanged(); return this; } private double assetGoodPerformanceCostPercentage_ ; /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_good_performance_cost_percentage = 360; * @return Whether the assetGoodPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetGoodPerformanceCostPercentage() { return ((bitField6_ & 0x00000008) != 0); } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_good_performance_cost_percentage = 360; * @return The assetGoodPerformanceCostPercentage. */ @java.lang.Override public double getAssetGoodPerformanceCostPercentage() { return assetGoodPerformanceCostPercentage_; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_good_performance_cost_percentage = 360; * @param value The assetGoodPerformanceCostPercentage to set. * @return This builder for chaining. */ public Builder setAssetGoodPerformanceCostPercentage(double value) { assetGoodPerformanceCostPercentage_ = value; bitField6_ |= 0x00000008; onChanged(); return this; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.GOOD.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_good_performance_cost_percentage = 360; * @return This builder for chaining. */ public Builder clearAssetGoodPerformanceCostPercentage() { bitField6_ = (bitField6_ & ~0x00000008); assetGoodPerformanceCostPercentage_ = 0D; onChanged(); return this; } private double assetLowPerformanceCostPercentage_ ; /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_low_performance_cost_percentage = 361; * @return Whether the assetLowPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetLowPerformanceCostPercentage() { return ((bitField6_ & 0x00000010) != 0); } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_low_performance_cost_percentage = 361; * @return The assetLowPerformanceCostPercentage. */ @java.lang.Override public double getAssetLowPerformanceCostPercentage() { return assetLowPerformanceCostPercentage_; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_low_performance_cost_percentage = 361; * @param value The assetLowPerformanceCostPercentage to set. * @return This builder for chaining. */ public Builder setAssetLowPerformanceCostPercentage(double value) { assetLowPerformanceCostPercentage_ = value; bitField6_ |= 0x00000010; onChanged(); return this; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LOW.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_low_performance_cost_percentage = 361; * @return This builder for chaining. */ public Builder clearAssetLowPerformanceCostPercentage() { bitField6_ = (bitField6_ & ~0x00000010); assetLowPerformanceCostPercentage_ = 0D; onChanged(); return this; } private double assetLearningPerformanceCostPercentage_ ; /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_learning_performance_cost_percentage = 362; * @return Whether the assetLearningPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetLearningPerformanceCostPercentage() { return ((bitField6_ & 0x00000020) != 0); } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_learning_performance_cost_percentage = 362; * @return The assetLearningPerformanceCostPercentage. */ @java.lang.Override public double getAssetLearningPerformanceCostPercentage() { return assetLearningPerformanceCostPercentage_; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_learning_performance_cost_percentage = 362; * @param value The assetLearningPerformanceCostPercentage to set. * @return This builder for chaining. */ public Builder setAssetLearningPerformanceCostPercentage(double value) { assetLearningPerformanceCostPercentage_ = value; bitField6_ |= 0x00000020; onChanged(); return this; } /** *
     * Percentage of cost the asset received in ads with
     * AssetPerformanceLabel.LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_learning_performance_cost_percentage = 362; * @return This builder for chaining. */ public Builder clearAssetLearningPerformanceCostPercentage() { bitField6_ = (bitField6_ & ~0x00000020); assetLearningPerformanceCostPercentage_ = 0D; onChanged(); return this; } private double assetUnratedPerformanceCostPercentage_ ; /** *
     * Percentage of cost the asset received in ads with AssetPerformanceLabel
     * other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_unrated_performance_cost_percentage = 363; * @return Whether the assetUnratedPerformanceCostPercentage field is set. */ @java.lang.Override public boolean hasAssetUnratedPerformanceCostPercentage() { return ((bitField6_ & 0x00000040) != 0); } /** *
     * Percentage of cost the asset received in ads with AssetPerformanceLabel
     * other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_unrated_performance_cost_percentage = 363; * @return The assetUnratedPerformanceCostPercentage. */ @java.lang.Override public double getAssetUnratedPerformanceCostPercentage() { return assetUnratedPerformanceCostPercentage_; } /** *
     * Percentage of cost the asset received in ads with AssetPerformanceLabel
     * other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_unrated_performance_cost_percentage = 363; * @param value The assetUnratedPerformanceCostPercentage to set. * @return This builder for chaining. */ public Builder setAssetUnratedPerformanceCostPercentage(double value) { assetUnratedPerformanceCostPercentage_ = value; bitField6_ |= 0x00000040; onChanged(); return this; } /** *
     * Percentage of cost the asset received in ads with AssetPerformanceLabel
     * other than BEST, GOOD, LOW, and LEARNING.
     * This metric can only be selected with ChannelAggregateAssetView and
     * CampaignAggregateAssetView.
     * This metric is only supported in Performance Max channel.
     * 
* * optional double asset_unrated_performance_cost_percentage = 363; * @return This builder for chaining. */ public Builder clearAssetUnratedPerformanceCostPercentage() { bitField6_ = (bitField6_ & ~0x00000040); assetUnratedPerformanceCostPercentage_ = 0D; onChanged(); return this; } private double storeVisitsLastClickModelAttributedConversions_ ; /** *
     * The amount of store visits attributed by the last click model.
     * 
* * optional double store_visits_last_click_model_attributed_conversions = 365; * @return Whether the storeVisitsLastClickModelAttributedConversions field is set. */ @java.lang.Override public boolean hasStoreVisitsLastClickModelAttributedConversions() { return ((bitField6_ & 0x00000080) != 0); } /** *
     * The amount of store visits attributed by the last click model.
     * 
* * optional double store_visits_last_click_model_attributed_conversions = 365; * @return The storeVisitsLastClickModelAttributedConversions. */ @java.lang.Override public double getStoreVisitsLastClickModelAttributedConversions() { return storeVisitsLastClickModelAttributedConversions_; } /** *
     * The amount of store visits attributed by the last click model.
     * 
* * optional double store_visits_last_click_model_attributed_conversions = 365; * @param value The storeVisitsLastClickModelAttributedConversions to set. * @return This builder for chaining. */ public Builder setStoreVisitsLastClickModelAttributedConversions(double value) { storeVisitsLastClickModelAttributedConversions_ = value; bitField6_ |= 0x00000080; onChanged(); return this; } /** *
     * The amount of store visits attributed by the last click model.
     * 
* * optional double store_visits_last_click_model_attributed_conversions = 365; * @return This builder for chaining. */ public Builder clearStoreVisitsLastClickModelAttributedConversions() { bitField6_ = (bitField6_ & ~0x00000080); storeVisitsLastClickModelAttributedConversions_ = 0D; onChanged(); return this; } private double resultsConversionsPurchase_ ; /** *
     * The purchase conversion stats for the unified goals results.
     * 
* * optional double results_conversions_purchase = 366; * @return Whether the resultsConversionsPurchase field is set. */ @java.lang.Override public boolean hasResultsConversionsPurchase() { return ((bitField6_ & 0x00000100) != 0); } /** *
     * The purchase conversion stats for the unified goals results.
     * 
* * optional double results_conversions_purchase = 366; * @return The resultsConversionsPurchase. */ @java.lang.Override public double getResultsConversionsPurchase() { return resultsConversionsPurchase_; } /** *
     * The purchase conversion stats for the unified goals results.
     * 
* * optional double results_conversions_purchase = 366; * @param value The resultsConversionsPurchase to set. * @return This builder for chaining. */ public Builder setResultsConversionsPurchase(double value) { resultsConversionsPurchase_ = value; bitField6_ |= 0x00000100; onChanged(); return this; } /** *
     * The purchase conversion stats for the unified goals results.
     * 
* * optional double results_conversions_purchase = 366; * @return This builder for chaining. */ public Builder clearResultsConversionsPurchase() { bitField6_ = (bitField6_ & ~0x00000100); resultsConversionsPurchase_ = 0D; onChanged(); return this; } private double videoViewRateInFeed_ ; /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-feed formats.
     * 
* * optional double video_view_rate_in_feed = 367; * @return Whether the videoViewRateInFeed field is set. */ @java.lang.Override public boolean hasVideoViewRateInFeed() { return ((bitField6_ & 0x00000200) != 0); } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-feed formats.
     * 
* * optional double video_view_rate_in_feed = 367; * @return The videoViewRateInFeed. */ @java.lang.Override public double getVideoViewRateInFeed() { return videoViewRateInFeed_; } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-feed formats.
     * 
* * optional double video_view_rate_in_feed = 367; * @param value The videoViewRateInFeed to set. * @return This builder for chaining. */ public Builder setVideoViewRateInFeed(double value) { videoViewRateInFeed_ = value; bitField6_ |= 0x00000200; onChanged(); return this; } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-feed formats.
     * 
* * optional double video_view_rate_in_feed = 367; * @return This builder for chaining. */ public Builder clearVideoViewRateInFeed() { bitField6_ = (bitField6_ & ~0x00000200); videoViewRateInFeed_ = 0D; onChanged(); return this; } private double videoViewRateInStream_ ; /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-stream formats.
     * 
* * optional double video_view_rate_in_stream = 368; * @return Whether the videoViewRateInStream field is set. */ @java.lang.Override public boolean hasVideoViewRateInStream() { return ((bitField6_ & 0x00000400) != 0); } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-stream formats.
     * 
* * optional double video_view_rate_in_stream = 368; * @return The videoViewRateInStream. */ @java.lang.Override public double getVideoViewRateInStream() { return videoViewRateInStream_; } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-stream formats.
     * 
* * optional double video_view_rate_in_stream = 368; * @param value The videoViewRateInStream to set. * @return This builder for chaining. */ public Builder setVideoViewRateInStream(double value) { videoViewRateInStream_ = value; bitField6_ |= 0x00000400; onChanged(); return this; } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in-stream formats.
     * 
* * optional double video_view_rate_in_stream = 368; * @return This builder for chaining. */ public Builder clearVideoViewRateInStream() { bitField6_ = (bitField6_ & ~0x00000400); videoViewRateInStream_ = 0D; onChanged(); return this; } private double videoViewRateShorts_ ; /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in shorts formats.
     * 
* * optional double video_view_rate_shorts = 369; * @return Whether the videoViewRateShorts field is set. */ @java.lang.Override public boolean hasVideoViewRateShorts() { return ((bitField6_ & 0x00000800) != 0); } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in shorts formats.
     * 
* * optional double video_view_rate_shorts = 369; * @return The videoViewRateShorts. */ @java.lang.Override public double getVideoViewRateShorts() { return videoViewRateShorts_; } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in shorts formats.
     * 
* * optional double video_view_rate_shorts = 369; * @param value The videoViewRateShorts to set. * @return This builder for chaining. */ public Builder setVideoViewRateShorts(double value) { videoViewRateShorts_ = value; bitField6_ |= 0x00000800; onChanged(); return this; } /** *
     * The number of video views divided by number of impressions that can
     * potentially lead to video views for in shorts formats.
     * 
* * optional double video_view_rate_shorts = 369; * @return This builder for chaining. */ public Builder clearVideoViewRateShorts() { bitField6_ = (bitField6_ & ~0x00000800); videoViewRateShorts_ = 0D; onChanged(); return this; } @java.lang.Override public final Builder setUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.setUnknownFields(unknownFields); } @java.lang.Override public final Builder mergeUnknownFields( final com.google.protobuf.UnknownFieldSet unknownFields) { return super.mergeUnknownFields(unknownFields); } // @@protoc_insertion_point(builder_scope:google.ads.googleads.v18.common.Metrics) } // @@protoc_insertion_point(class_scope:google.ads.googleads.v18.common.Metrics) private static final com.google.ads.googleads.v18.common.Metrics DEFAULT_INSTANCE; static { DEFAULT_INSTANCE = new com.google.ads.googleads.v18.common.Metrics(); } public static com.google.ads.googleads.v18.common.Metrics getDefaultInstance() { return DEFAULT_INSTANCE; } private static final com.google.protobuf.Parser PARSER = new com.google.protobuf.AbstractParser() { @java.lang.Override public Metrics parsePartialFrom( com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException { Builder builder = newBuilder(); try { builder.mergeFrom(input, extensionRegistry); } catch (com.google.protobuf.InvalidProtocolBufferException e) { throw e.setUnfinishedMessage(builder.buildPartial()); } catch (com.google.protobuf.UninitializedMessageException e) { throw e.asInvalidProtocolBufferException().setUnfinishedMessage(builder.buildPartial()); } catch (java.io.IOException e) { throw new com.google.protobuf.InvalidProtocolBufferException(e) .setUnfinishedMessage(builder.buildPartial()); } return builder.buildPartial(); } }; public static com.google.protobuf.Parser parser() { return PARSER; } @java.lang.Override public com.google.protobuf.Parser getParserForType() { return PARSER; } @java.lang.Override public com.google.ads.googleads.v18.common.Metrics getDefaultInstanceForType() { return DEFAULT_INSTANCE; } }




© 2015 - 2025 Weber Informatics LLC | Privacy Policy