--- v24/services/content_creator_insights_service.proto 2026-08-13 23:22:21.000000000 +0000 +++ v25/services/content_creator_insights_service.proto 2026-08-13 23:22:30.000000000 +0000 @@ -128,30 +129,15 @@ // Optional. Creator attributes that describe a collection of types of // content. This is used to search for creators whose content matches the // input creator attributes. Only Knowledge Graph Entities tagged with - // [CREATOR_ATTRIBUTE][google.ads.googleads.v24.enums.InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities.CREATOR_ATTRIBUTE] + // [CREATOR_ATTRIBUTE][google.ads.googleads.v25.enums.InsightsKnowledgeGraphEntityCapabilitiesEnum.InsightsKnowledgeGraphEntityCapabilities.CREATOR_ATTRIBUTE] // are supported. Use - // [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v24.services.AudienceInsightsService.ListAudienceInsightsAttributes] + // [AudienceInsightsService.ListAudienceInsightsAttributes][google.ads.googleads.v25.services.AudienceInsightsService.ListAudienceInsightsAttributes] // to get the list of supported entities. Other attributes including // location are not supported. - repeated google.ads.googleads.v24.common.AudienceInsightsAttribute + repeated google.ads.googleads.v25.common.AudienceInsightsAttribute creator_attributes = 2 [(google.api.field_behavior) = OPTIONAL]; } - // The brand used to search for top creators. - message SearchBrand { - // Optional. One or more Knowledge Graph Entities that represent the brand - // for which to find insights. - repeated google.ads.googleads.v24.common.AudienceInsightsAttribute - brand_entities = 1 [(google.api.field_behavior) = OPTIONAL]; - - // Optional. When true, we will expand the search to beyond just the - // entities specified in - // [brand_entities][google.ads.googleads.v24.services.GenerateCreatorInsightsRequest.SearchBrand.brand_entities] - // to other related knowledge graph entities similar to the brand. The - // default value is `false`. - bool include_related_topics = 2 [(google.api.field_behavior) = OPTIONAL]; - } - // A collection of YouTube Channels. message YouTubeChannels { // Optional. The YouTube Channel IDs to fetch creator insights for. @@ -193,21 +179,14 @@ oneof criteria { // The attributes used to identify top creators. Data fetched is based on // the list of countries or sub-country locations specified in - // [country_locations][google.ads.googleads.v24.services.GenerateCreatorInsightsRequest.country_locations] + // [country_locations][google.ads.googleads.v25.services.GenerateCreatorInsightsRequest.country_locations] // or - // [sub_country_locations][google.ads.googleads.v24.services.GenerateCreatorInsightsRequest.sub_country_locations]. + // [sub_country_locations][google.ads.googleads.v25.services.GenerateCreatorInsightsRequest.sub_country_locations]. SearchAttributes search_attributes = 3; - // A brand used to search for top creators. Data fetched is based on the - // list of countries specified in - // [country_locations][google.ads.googleads.v24.services.GenerateCreatorInsightsRequest.country_locations].This - // option is deprecated and will be removed in the V25 release. Use - // search_topics instead. - SearchBrand search_brand = 5; - // YouTube Channel IDs for Creator Insights. Data fetched for channels is // based on the list of countries specified in - // [country_locations][google.ads.googleads.v24.services.GenerateCreatorInsightsRequest.country_locations]. + // [country_locations][google.ads.googleads.v25.services.GenerateCreatorInsightsRequest.country_locations]. YouTubeChannels search_channels = 4; // Search for relevant creators who make content about the specified topics. @@ -382,11 +361,20 @@ string publish_date = 13; // The country with which the channel is associated. - google.ads.googleads.v24.common.LocationInfo country_location = 14; + google.ads.googleads.v25.common.LocationInfo country_location = 14; // The metrics for a YouTube Channel. YouTubeMetrics channel_metrics = 3; + // True if the creator has consented to share non-public data. + // If false, non-public data fields will not be populated. + // Non-public data includes `YouTubeMetrics.average_view_per_video`, + // `YouTubeMetrics.average_likes_per_video`, + // `YouTubeMetrics.average_comments_per_video`, + // `YouTubeMetrics.engagement_rate`, and + // `YouTubeChannelInsights.channel_audience_attributes`. + bool data_sharing_consent_given = 18; + // The types of audiences and demographics linked to the channel's main // audience. Audiences and demographics have a breakdown of subscriber share // across dimensions of the same value, such as Age Range, Gender, and User @@ -482,9 +470,18 @@ // search_topics. repeated TrendInsightDataPoint trend_data_points = 6; + // The brand sentiment for this topic. + // Only populated when all of the following are true: + // - The trend request uses search_topics. + // - The Knowledge graph entity topic has the Brand capability. + // - Supplemental data + // [BRAND_SENTIMENT_DATA][google.ads.googleads.v25.enums.ContentCreatorInsightsSupplementalDataEnum.ContentCreatorInsightsSupplementalData.BRAND_SENTIMENT_DATA] + // is requested. + repeated BrandSentimentInsight brand_sentiment_insights = 7; + // Related videos for this topic. Only populated for trends using // search_topics. - repeated google.ads.googleads.v24.common.AudienceInsightsAttributeMetadata + repeated google.ads.googleads.v25.common.AudienceInsightsAttributeMetadata related_videos = 4; // Related creators for this topic. Only populated for trends using @@ -537,6 +534,57 @@ TrendInsightMetrics trend_metrics = 2; } +// Brand sentiment for a specific month. Measuring brand sentiment involves +// using AI models to analyze YouTube video content related to the brand, +// categorizing the sentiment as positive, negative, or neutral. +// Only the video content itself is analyzed; user comments are not included. +// The AI models are powered by Gemini and can make mistakes. +message BrandSentimentInsight { + // The month that the brand sentiment represents in the string format + // "YYYY-MM". + string month = 1; + + // When true, there is insufficient data to calculate the brand sentiment. + bool has_insufficient_data = 2; + + // Distribution of sentiment between positive, negative, and neutral. + repeated SentimentInsightDistribution sentiment_distributions = 3; + + // A summary of what was positive and negative about content related to the + // brand. No summaries are generated for neutral sentiment. The summary is + // generated by AI models. + repeated SentimentInsightSummary sentiment_summaries = 4; +} + +// The distribution of sentiment for a brand. The distribution is calculated as +// the proportion of views for videos that correspond to the brand with each +// sentiment. Example: positive sentiment share of 0.49 means that 49% of views +// about this brand were on content with positive sentiment. +message SentimentInsightDistribution { + // The sentiment for this distribution. + google.ads.googleads.v25.enums.SentimentEnum.Sentiment sentiment = 1; + + // The proportion (between 0 and 1) of views for videos that correspond to the + // brand with this sentiment. + double sentiment_share = 2; +} + +// A summary of the sentiment for content related to a brand. Summaries are only +// generated for positive and negative sentiment, not neutral. The summary is +// generated by AI models. +message SentimentInsightSummary { + // The sentiment for this summary. + google.ads.googleads.v25.enums.SentimentEnum.Sentiment sentiment = 1; + + // A summary of what was positive or negative about content related to the + // brand. + string summary = 2; + + // Sample videos that correspond to the sentiment. + repeated google.ads.googleads.v25.common.AudienceInsightsAttributeMetadata + sample_videos = 3; +} + // Languages that pertain to a YouTube channel based on the channel content. // Only languages above a certain proportion threshold are included. message LanguageDistribution {
/services/content_creator_insights_service.proto
Except as otherwise noted, the content of this page is licensed under the Creative Commons Attribution 4.0 License, and code samples are licensed under the Apache 2.0 License. For details, see the Google Developers Site Policies. Java is a registered trademark of Oracle and/or its affiliates.
Last updated 2026-08-16 UTC.