I consigli possono migliorare le tue campagne in vari modi:
- Presenta funzionalità nuove e pertinenti
- Ottieni di più dal budget con offerte, parole chiave e annunci migliorati
- Aumentare il rendimento e l'efficienza complessivi delle campagne
Per aumentare il punteggio di ottimizzazione, puoi utilizzare
RecommendationService
per recuperare
consigli e poi applicarli o ignorarli di conseguenza. A partire dalla versione 15
dell'API Google Ads, puoi anche iscriverti per applicare automaticamente
consigli mediante RecommendationSubscriptionService
.
Punteggio di ottimizzazione
Video: Punteggio di ottimizzazione
Il punteggio di ottimizzazione è un
una stima del possibile rendimento del tuo account Google Ads e che è disponibile
alla Customer
e
Campaign
livelli.
La
Customer.optimization_score_weight
è disponibile solo per gli account diversi dall'account amministratore e viene utilizzato per calcolare il
il punteggio di ottimizzazione di più account. Recupera il punteggio di ottimizzazione e
la ponderazione del punteggio di ottimizzazione degli account e
(Customer.optimization_score * Customer.optimization_score_weight
) per calcolare
il punteggio di ottimizzazione complessivo.
Sono disponibili metriche relative all'ottimizzazione per customer
e campaign
report:
- La
metrics.optimization_score_url
fornisce un link diretto all'account per visualizzare le informazioni sui relativi consigli nella UI di Google Ads. - La
metrics.optimization_score_uplift
indica di quanto aumenterebbe il punteggio di ottimizzazione se tutti l'applicazione dei consigli. È una stima basata su tutti i valori consigli nel complesso, non solo la somma dei punteggi di incremento per un consiglio per le nuove soluzioni.
Per raggruppare e ordinare i consigli restituiti, puoi segmentare entrambi
le metriche per tipo di consiglio utilizzando segments.recommendation_type
nel tuo
query.
Tipi di suggerimento
Tipi di consigli completamente supportati
RecommendationType | Descrizione |
---|---|
CAMPAIGN_BUDGET |
Correggi le campagne limitate dal budget |
KEYWORD |
Aggiungi nuove parole chiave |
TEXT_AD |
Aggiungi suggerimenti di annunci |
TARGET_CPA_OPT_IN |
Fai offerte con CPA target |
MAXIMIZE_CONVERSIONS_OPT_IN |
Fai offerte con Massimizza le conversioni |
MAXIMIZE_CONVERSION_VALUE_OPT_IN |
Fai offerte con Massimizza il valore di conversione |
ENHANCED_CPC_OPT_IN |
Fai offerte con CPC ottimizzato |
MAXIMIZE_CLICKS_OPT_IN |
Fai offerte con Massimizza i clic |
OPTIMIZE_AD_ROTATION |
Utilizza le rotazioni degli annunci ottimizzate |
MOVE_UNUSED_BUDGET |
Trasferisci i dati non utilizzati ai budget vincolati |
TARGET_ROAS_OPT_IN |
Fai offerte con ROAS target |
FORECASTING_CAMPAIGN_BUDGET |
Correggi le campagne che si prevede saranno limitate dal budget nel futuro |
RESPONSIVE_SEARCH_AD |
Aggiungi nuovo annuncio adattabile della rete di ricerca |
MARGINAL_ROI_CAMPAIGN_BUDGET |
Modifica il budget della campagna per aumentare il ROI |
USE_BROAD_MATCH_KEYWORD |
Usa generica corrispondenza per le campagne basate sulle conversioni con offerte automatiche |
RESPONSIVE_SEARCH_AD_ASSET |
Aggiungere asset degli annunci adattabili della rete di ricerca a un annuncio |
RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH |
Migliorare l'efficacia di un annuncio adattabile della rete di ricerca |
DISPLAY_EXPANSION_OPT_IN |
Aggiornare una campagna per utilizzare Espansione alla Rete Display |
SEARCH_PARTNERS_OPT_IN |
Espandi la copertura con i partner di ricerca Google |
CUSTOM_AUDIENCE_OPT_IN |
Crea un segmento di pubblico personalizzato |
IMPROVE_DISCOVERY_AD_STRENGTH |
Migliora l'efficacia degli annunci nelle campagne Demand Gen |
UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX |
Eseguire l'upgrade di una campagna Shopping intelligente a una campagna Performance Max |
UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX |
Eseguire l'upgrade di una campagna locale precedente a una campagna Performance Max |
SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX |
Esegui la migrazione delle offerte scelte come target dalle campagne Shopping standard a quelle esistenti Campagne Performance Max |
MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX |
Eseguire la migrazione degli annunci dinamici della rete di ricerca alle campagne Performance Max |
PERFORMANCE_MAX_OPT_IN |
Crea campagne Performance Max nel tuo account |
IMPROVE_PERFORMANCE_MAX_AD_STRENGTH |
Migliorare l'efficacia del gruppo di asset di una campagna Performance Max in un "Eccellente" valutazione |
PERFORMANCE_MAX_FINAL_URL_OPT_IN |
Attivare l'espansione dell'URL finale per le campagne Performance Max |
RAISE_TARGET_CPA_BID_TOO_LOW |
Aumenta il CPA target quando è troppo basso e ci sono poche o nessuna conversione |
FORECASTING_SET_TARGET_ROAS |
Aumenta il budget prima di un evento stagionale che si prevede aumenterà il traffico e modificherà la strategia di offerta da Massimizza il valore di conversione a ROAS target |
LEAD_FORM |
Aggiungere asset modulo per i lead a una campagna |
CALLOUT_ASSET |
Aggiungere asset callout a livello di campagna o cliente |
SITELINK_ASSET |
Aggiungere asset sitelink a livello di campagna o cliente |
CALL_ASSET |
Aggiungere asset di chiamata a livello di campagna o cliente |
SHOPPING_ADD_AGE_GROUP |
Aggiungi l'attributo età alle offerte che vengono retrocesse a causa di: età mancante |
SHOPPING_ADD_COLOR |
Aggiungi un colore alle offerte che vengono retrocesse a causa di una mancanza colore |
SHOPPING_ADD_GENDER |
Aggiungi un genere alle offerte retrocesse a causa di un valore mancante genere |
SHOPPING_ADD_GTIN |
Aggiungere un GTIN (Global Trade Item Number) alle offerte che vengono retrocesse a causa di un GTIN mancante |
SHOPPING_ADD_MORE_IDENTIFIERS |
Aggiungi altri identificatori alle offerte retrocesse a causa di elementi mancanti identificatori |
SHOPPING_ADD_SIZE |
Aggiungi la dimensione alle offerte retrocesse a causa di una mancanza dimensioni |
SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN |
Aggiungi prodotti per la pubblicazione di una campagna |
SHOPPING_FIX_DISAPPROVED_PRODUCTS |
Correggi i prodotti non approvati |
SHOPPING_TARGET_ALL_OFFERS |
Crea una campagna generica che abbia come target tutte le offerte |
SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT |
Risolvi i problemi di sospensione degli account Merchant Center |
SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING |
Risolvi i problemi relativi agli avvisi di sospensione dell'account Merchant Center |
DYNAMIC_IMAGE_EXTENSION_OPT_IN |
Attiva le estensioni immagine dinamiche nell'account |
RAISE_TARGET_CPA |
Aumenta il CPA target |
LOWER_TARGET_ROAS |
Diminuzione del ROAS target |
FORECASTING_SET_TARGET_CPA |
Imposta un CPA target per le campagne per le quali non ne viene specificato uno in anticipo di un evento stagionale che si prevede aumenti il traffico |
SET_TARGET_CPA |
Imposta un CPA target per le campagne per le quali non è specificato |
SET_TARGET_ROAS |
Imposta un ROAS target per le campagne per le quali non è stato specificato |
REFRESH_CUSTOMER_MATCH_LIST |
Aggiornare un elenco di clienti che non è stato aggiornato negli ultimi 90 giorni |
IMPROVE_GOOGLE_TAG_COVERAGE |
Implementa il tag Google su più pagine |
CALLOUT_EXTENSION (deprecato) |
Deprecato, usa CALLOUT_ASSET |
SITELINK_EXTENSION (deprecato) |
Deprecato, usa SITELINK_ASSET |
CALL_EXTENSION (deprecato) |
Deprecato, usa CALL_ASSET |
KEYWORD_MATCH_TYPE (deprecato) |
Deprecato, usa USE_BROAD_MATCH_KEYWORD |
Per ulteriori informazioni, guarda questo video
Gestire i tipi non supportati
Recupera i suggerimenti
Video: programmazione dal vivo
Come la maggior parte delle altre entità nell'API Google Ads, Recommendation
vengono recuperati utilizzando
GoogleAdsService.SearchStream
con una query nel linguaggio di query di Google Ads.
Per ogni tipo di suggerimento, i dettagli vengono forniti in un
specifico per il suggerimento. Ad esempio, CAMPAIGN_BUDGET
consiglio
sono disponibili nella sezione
campaign_budget_recommendation
e sono incluse in un
CampaignBudgetRecommendation
.
Puoi trovare tutti i campi specifici per i suggerimenti nella
recommendation
.
Impatto dei suggerimenti
Alcuni tipi di consigli completano
impact
del consiglio.
RecommendationImpact
contiene una stima dell'impatto sul rendimento dell'account in seguito a
l'applicazione del consiglio. Le seguenti
metriche dei consigli sono
disponibile nei campi impact.base_metrics
e impact.potential_metrics
:
impressions
clicks
cost_micros
conversions
all_conversions
(disponibile a partire dalla versione 16 dell'API Google Ads)video_views
Esempio di codice
Il codice di esempio seguente recupera tutti i suggerimenti disponibili e ignorati
di tipo KEYWORD
da un account e stampa alcuni dei relativi dettagli:
Java
try (GoogleAdsServiceClient googleAdsServiceClient = googleAdsClient.getLatestVersion().createGoogleAdsServiceClient(); RecommendationServiceClient recommendationServiceClient = googleAdsClient.getLatestVersion().createRecommendationServiceClient()) { // Creates a query that retrieves keyword recommendations. String query = "SELECT recommendation.resource_name, " + " recommendation.campaign, " + " recommendation.keyword_recommendation " + "FROM recommendation " + "WHERE recommendation.type = KEYWORD"; // Constructs the SearchGoogleAdsStreamRequest. SearchGoogleAdsStreamRequest request = SearchGoogleAdsStreamRequest.newBuilder() .setCustomerId(Long.toString(customerId)) .setQuery(query) .build(); // Issues the search stream request to detect keyword recommendations that exist for the // customer account. ServerStream<SearchGoogleAdsStreamResponse> stream = googleAdsServiceClient.searchStreamCallable().call(request); // Creates apply operations for all the recommendations found. List<ApplyRecommendationOperation> applyRecommendationOperations = new ArrayList<>(); for (SearchGoogleAdsStreamResponse response : stream) { for (GoogleAdsRow googleAdsRow : response.getResultsList()) { Recommendation recommendation = googleAdsRow.getRecommendation(); System.out.printf( "Keyword recommendation '%s' was found for campaign '%s'%n", recommendation.getResourceName(), recommendation.getCampaign()); KeywordInfo keyword = recommendation.getKeywordRecommendation().getKeyword(); System.out.printf("\tKeyword = '%s'%n", keyword.getText()); System.out.printf("\tMatch type = '%s'%n", keyword.getMatchType()); // Creates an ApplyRecommendationOperation that will apply this recommendation, and adds // it to the list of operations. applyRecommendationOperations.add(buildRecommendationOperation(recommendation)); } }
C#
// Get the GoogleAdsServiceClient. GoogleAdsServiceClient googleAdsService = client.GetService( Services.V17.GoogleAdsService); // Creates a query that retrieves keyword recommendations. string query = "SELECT recommendation.resource_name, " + "recommendation.campaign, recommendation.keyword_recommendation " + "FROM recommendation WHERE " + $"recommendation.type = KEYWORD"; List<ApplyRecommendationOperation> operations = new List<ApplyRecommendationOperation>(); try { // Issue a search request. googleAdsService.SearchStream(customerId.ToString(), query, delegate (SearchGoogleAdsStreamResponse resp) { Console.WriteLine($"Found {resp.Results.Count} recommendations."); foreach (GoogleAdsRow googleAdsRow in resp.Results) { Recommendation recommendation = googleAdsRow.Recommendation; Console.WriteLine("Keyword recommendation " + $"{recommendation.ResourceName} was found for campaign " + $"{recommendation.Campaign}."); if (recommendation.KeywordRecommendation != null) { KeywordInfo keyword = recommendation.KeywordRecommendation.Keyword; Console.WriteLine($"Keyword = {keyword.Text}, type = " + "{keyword.MatchType}"); } operations.Add( BuildApplyRecommendationOperation(recommendation.ResourceName) ); } } ); } catch (GoogleAdsException e) { Console.WriteLine("Failure:"); Console.WriteLine($"Message: {e.Message}"); Console.WriteLine($"Failure: {e.Failure}"); Console.WriteLine($"Request ID: {e.RequestId}"); throw; }
PHP
$googleAdsServiceClient = $googleAdsClient->getGoogleAdsServiceClient(); // Creates a query that retrieves keyword recommendations. $query = 'SELECT recommendation.resource_name, recommendation.campaign, ' . 'recommendation.keyword_recommendation ' . 'FROM recommendation ' . 'WHERE recommendation.type = KEYWORD '; // Issues a search request to detect keyword recommendations that exist for the // customer account. $response = $googleAdsServiceClient->search(SearchGoogleAdsRequest::build($customerId, $query)); $operations = []; // Iterates over all rows in all pages and prints the requested field values for // the recommendation in each row. foreach ($response->iterateAllElements() as $googleAdsRow) { /** @var GoogleAdsRow $googleAdsRow */ $recommendation = $googleAdsRow->getRecommendation(); printf( "Keyword recommendation with resource name '%s' was found for campaign " . "with resource name '%s':%s", $recommendation->getResourceName(), $recommendation->getCampaign(), PHP_EOL ); if (!is_null($recommendation->getKeywordRecommendation())) { $keyword = $recommendation->getKeywordRecommendation()->getKeyword(); printf( "\tKeyword = '%s'%s\ttype = '%s'%s", $keyword->getText(), PHP_EOL, KeywordMatchType::name($keyword->getMatchType()), PHP_EOL ); } // Creates an ApplyRecommendationOperation that will be used to apply this // recommendation, and adds it to the list of operations. $operations[] = self::buildRecommendationOperation($recommendation->getResourceName()); }
Python
googleads_service = client.get_service("GoogleAdsService") query = f""" SELECT recommendation.campaign, recommendation.keyword_recommendation FROM recommendation WHERE recommendation.type = KEYWORD""" # Detects keyword recommendations that exist for the customer account. response = googleads_service.search(customer_id=customer_id, query=query) operations = [] for row in response.results: recommendation = row.recommendation print( f"Keyword recommendation ('{recommendation.resource_name}') " f"was found for campaign '{recommendation.campaign}." ) keyword = recommendation.keyword_recommendation.keyword print( f"\tKeyword = '{keyword.text}'\n" f"\tType = '{keyword.match_type}'" ) # Create an ApplyRecommendationOperation that will be used to apply # this recommendation, and add it to the list of operations. operations.append( build_recommendation_operation(client, recommendation.resource_name) )
Ruby
query = <<~QUERY SELECT recommendation.resource_name, recommendation.campaign, recommendation.keyword_recommendation FROM recommendation WHERE recommendation.type = KEYWORD QUERY google_ads_service = client.service.google_ads response = google_ads_service.search( customer_id: customer_id, query: query, ) operations = response.each do |row| recommendation = row.recommendation puts "Keyword recommendation ('#{recommendation.resource_name}') was found for "\ "campaign '#{recommendation.campaign}'." if recommendation.keyword_recommendation keyword = recommendation.keyword_recommendation.keyword puts "\tKeyword = '#{keyword.text}'" puts "\ttype = '#{keyword.match_type}'" end build_recommendation_operation(client, recommendation.resource_name) end
Perl
# Create the search query. my $search_query = "SELECT recommendation.resource_name, " . "recommendation.campaign, recommendation.keyword_recommendation " . "FROM recommendation " . "WHERE recommendation.type = KEYWORD"; # Get the GoogleAdsService. my $google_ads_service = $api_client->GoogleAdsService(); my $search_stream_handler = Google::Ads::GoogleAds::Utils::SearchStreamHandler->new({ service => $google_ads_service, request => { customerId => $customer_id, query => $search_query }}); # Create apply operations for all the recommendations found. my $apply_recommendation_operations = (); $search_stream_handler->process_contents( sub { my $google_ads_row = shift; my $recommendation = $google_ads_row->{recommendation}; printf "Keyword recommendation '%s' was found for campaign '%s'.\n", $recommendation->{resourceName}, $recommendation->{campaign}; my $keyword = $recommendation->{keywordRecommendation}{keyword}; printf "\tKeyword = '%s'\n", $keyword->{text}; printf "\tMatch type = '%s'\n", $keyword->{matchType}; # Creates an ApplyRecommendationOperation that will apply this recommendation, and adds # it to the list of operations. push @$apply_recommendation_operations, build_recommendation_operation($recommendation); });
Intervieni
Qualsiasi consiglio recuperato può essere applicato o ignorato.
A seconda del tipo, i consigli possono cambiare ogni giorno
o anche più volte al giorno. In questo caso, viene visualizzato
L'elemento resource_name
dell'oggetto può
diventano obsoleti dopo il recupero del suggerimento.
È buona norma agire sui consigli poco dopo averli recuperati.
Applicare i consigli
Puoi applicare i consigli attivi o ignorati con la
ApplyRecommendation
del metodo
RecommendationService
.
I tipi di consigli possono avere parametri obbligatori o facoltativi. Più alta I suggerimenti contengono valori consigliati che vengono utilizzati per impostazione predefinita.
L'impostazione degli account per l'applicazione automatica dei consigli non è
supportati per tutti i tipi di consigli. Tuttavia, puoi implementare simili
per i tipi di consigli completamente supportati dall'API Google Ads.
Fai riferimento al codice DetectAndApplyRecommendations
esempio per saperne di più.
Utilizza la
apply_parameters
campo di unione di ApplyRecommendationOperation
per applicare i consigli con
e determinati valori parametro. Ogni tipo di suggerimento adatto ha il proprio campo.
Qualsiasi tipo di consiglio non elencato nel campo apply_parameters
non utilizza
questi valori parametro.
Esempio di codice
Il seguente codice mostra come creare
ApplyRecommendationOperation
e
come eseguire l'override dei valori consigliati se vuoi sostituirli con
personali.
Java
/** Creates and returns an ApplyRecommendationOperation to apply the given recommendation. */ private ApplyRecommendationOperation buildRecommendationOperation(Recommendation recommendation) { // If you have a recommendation ID instead of a resource name, you can create a resource name // like this: // String resourceName = ResourceNames.recommendation(customerId, recommendationId); // Creates a builder to construct the operation. Builder operationBuilder = ApplyRecommendationOperation.newBuilder(); // Each recommendation type has optional parameters to override the recommended values. Below is // an example showing how to override a recommended ad when a TextAdRecommendation is applied. // operationBuilder.getTextAdBuilder().getAdBuilder().setResourceName("INSERT_AD_RESOURCE_NAME"); // Sets the operation's resource name to the resource name of the recommendation to apply. operationBuilder.setResourceName(recommendation.getResourceName()); return operationBuilder.build(); }
C#
private ApplyRecommendationOperation BuildApplyRecommendationOperation( string recommendationResourceName ) { // If you have a recommendation_id instead of the resource_name you can create a // resource name from it like this: // string recommendationResourceName = // ResourceNames.Recommendation(customerId, recommendationId) // Each recommendation type has optional parameters to override the recommended values. // This is an example to override a recommended ad when a TextAdRecommendation is // applied. // For details, please read // https://developers.google.com/google-ads/api/reference/rpc/latest/ApplyRecommendationOperation. /* Ad overridingAd = new Ad() { Id = "INSERT_AD_ID_AS_LONG_HERE" }; applyRecommendationOperation.TextAd = new TextAdParameters() { Ad = overridingAd }; */ ApplyRecommendationOperation applyRecommendationOperation = new ApplyRecommendationOperation() { ResourceName = recommendationResourceName }; return applyRecommendationOperation; }
PHP
private static function buildRecommendationOperation( string $recommendationResourceName ): ApplyRecommendationOperation { // If you have a recommendation_id instead of the resource name, you can create a resource // name from it like this: /* $recommendationResourceName = ResourceNames::forRecommendation($customerId, $recommendationId); */ // Each recommendation type has optional parameters to override the recommended values. // This is an example to override a recommended ad when a TextAdRecommendation is applied. // For details, please read // https://developers.google.com/google-ads/api/reference/rpc/latest/ApplyRecommendationOperation. /* $overridingAd = new Ad([ 'id' => 'INSERT_AD_ID_AS_INTEGER_HERE' ]); $applyRecommendationOperation->setTextAd(new TextAdParameters(['ad' => $overridingAd])); */ // Issues a mutate request to apply the recommendation. $applyRecommendationOperation = new ApplyRecommendationOperation(); $applyRecommendationOperation->setResourceName($recommendationResourceName); return $applyRecommendationOperation; }
Python
def build_recommendation_operation(client, recommendation): """Creates a ApplyRecommendationOperation to apply the given recommendation. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. recommendation: a resource name for the recommendation to be applied. """ # If you have a recommendation ID instead of a resource name, you can create # a resource name like this: # # googleads_service = client.get_service("GoogleAdsService") # resource_name = googleads_service.recommendation_path( # customer_id, recommendation.id # ) operation = client.get_type("ApplyRecommendationOperation") # Each recommendation type has optional parameters to override the # recommended values. Below is an example showing how to override a # recommended ad when a TextAdRecommendation is applied. # # operation.text_ad.ad.resource_name = "INSERT_AD_RESOURCE_NAME" # # For more details, see: # https://developers.google.com/google-ads/api/reference/rpc/latest/ApplyRecommendationOperation#apply_parameters operation.resource_name = recommendation return operation
Ruby
def build_recommendation_operation(client, recommendation) # If you have a recommendation_id instead of the resource_name # you can create a resource name from it like this: # recommendation_resource = # client.path.recommendation(customer_id, recommendation_id) operations = client.operation.apply_recommendation operations.resource_name = recommendation_resource # Each recommendation type has optional parameters to override the recommended # values. This is an example to override a recommended ad when a # TextAdRecommendation is applied. # # text_ad_parameters = client.resource.text_ad_parameters do |tap| # tap.ad = client.resource.ad do |ad| # ad.id = "INSERT_AD_ID_AS_INTEGER_HERE" # end # end # operation.text_ad = text_ad_parameters # # For more details, see: # https://developers.google.com/google-ads/api/reference/rpc/latest/ApplyRecommendationOperation#apply_parameters return operation end
Perl
sub build_recommendation_operation { my ($recommendation) = @_; # If you have a recommendation ID instead of a resource name, you can create a resource # name like this: # my $recommendation_resource_name = # Google::Ads::GoogleAds::V17::Utils::ResourceNames::recommendation( # $customer_id, $recommendation_id); # Each recommendation type has optional parameters to override the recommended values. # Below is an example showing how to override a recommended ad when a TextAdRecommendation # is applied. # my $overriding_ad = Google::Ads::GoogleAds::V17::Resources::Ad->new({ # id => "INSERT_AD_ID_AS_INTEGER_HERE" # }); # my $text_ad_parameters = # Google::Ads::GoogleAds::V17::Services::RecommendationService::TextAdParameters # ->new({ad => $overriding_ad}); # $apply_recommendation_operation->{textAd} = $text_ad_parameters; # Create an apply recommendation operation. my $apply_recommendation_operation = Google::Ads::GoogleAds::V17::Services::RecommendationService::ApplyRecommendationOperation ->new({ resourceName => $recommendation->{resourceName}}); return $apply_recommendation_operation; }
L'esempio successivo chiama
ApplyRecommendation
,
l'invio delle operazioni di applicazione dei consigli create nella precedente
le API nel tuo codice.
Java
// Issues a mutate request to apply the recommendations. ApplyRecommendationResponse applyRecommendationsResponse = recommendationServiceClient.applyRecommendation( Long.toString(customerId), applyRecommendationOperations); for (ApplyRecommendationResult applyRecommendationResult : applyRecommendationsResponse.getResultsList()) { System.out.printf( "Applied recommendation with resource name: '%s'.%n", applyRecommendationResult.getResourceName()); }
C#
private void ApplyRecommendation(GoogleAdsClient client, long customerId, List<ApplyRecommendationOperation> operations) { // Get the RecommendationServiceClient. RecommendationServiceClient recommendationService = client.GetService( Services.V17.RecommendationService); ApplyRecommendationRequest applyRecommendationRequest = new ApplyRecommendationRequest() { CustomerId = customerId.ToString(), }; applyRecommendationRequest.Operations.AddRange(operations); ApplyRecommendationResponse response = recommendationService.ApplyRecommendation(applyRecommendationRequest); foreach (ApplyRecommendationResult result in response.Results) { Console.WriteLine("Applied a recommendation with resource name: " + result.ResourceName); } }
PHP
private static function applyRecommendations( GoogleAdsClient $googleAdsClient, int $customerId, array $operations ): void { // Issues a mutate request to apply the recommendations. $recommendationServiceClient = $googleAdsClient->getRecommendationServiceClient(); $response = $recommendationServiceClient->applyRecommendation( ApplyRecommendationRequest::build($customerId, $operations) ); foreach ($response->getResults() as $appliedRecommendation) { /** @var Recommendation $appliedRecommendation */ printf( "Applied a recommendation with resource name: '%s'.%s", $appliedRecommendation->getResourceName(), PHP_EOL ); } }
Python
def apply_recommendations(client, customer_id, operations): """Applies a batch of recommendations. Args: client: an initialized GoogleAdsClient instance. customer_id: a client customer ID. operations: a list of ApplyRecommendationOperation messages. """ # Issues a mutate request to apply the recommendations. recommendation_service = client.get_service("RecommendationService") response = recommendation_service.apply_recommendation( customer_id=customer_id, operations=operations ) for result in response.results: print( "Applied a recommendation with resource name: " f"'{result[0].resource_name}'." )
Ruby
def apply_recommendations(client, customer_id, operations) # Issues a mutate request to apply the recommendation. recommendation_service = client.service.recommendation response = recommendation_service.apply_recommendation( customer_id: customer_id, operations: [operations], ) response.results.each do |applied_recommendation| puts "Applied recommendation with resource name: '#{applied_recommendation.resource_name}'." end end
Perl
# Issue a mutate request to apply the recommendations. my $apply_recommendation_response = $api_client->RecommendationService()->apply({ customerId => $customer_id, operations => $apply_recommendation_operations }); foreach my $result (@{$apply_recommendation_response->{results}}) { printf "Applied recommendation with resource name: '%s'.\n", $result->{resourceName}; }
Per scoprire di più, guarda questi video
Applica parametri
Collettivo
Errori
Test
Ignorare i consigli
Puoi ignorare i consigli con
RecommendationService
Il codice
è simile all'applicazione dei consigli, ma utilizzi
DismissRecommendationOperation
:
e
RecommendationService.DismissRecommendation
.
Per scoprire di più, guarda questi video
Collettivo
Errori
Test
Applicare automaticamente i consigli
A partire dalla versione 15 dell'API Google Ads, puoi utilizzare
RecommendationSubscriptionService
per applicare automaticamente
consigli di un determinato tipo.
Per abbonarti a un determinato tipo di consiglio, crea un
Oggetto RecommendationSubscription
,
imposta il campo type
su uno dei
il suggerimento supportato
tipi e imposta
status
su ENABLED
.
Tipi di suggerimenti supportati da abbonamenti
ENHANCED_CPC_OPT_IN
KEYWORD
KEYWORD_MATCH_TYPE
LOWER_TARGET_ROAS
MAXIMIZE_CLICKS_OPT_IN
OPTIMIZE_AD_ROTATION
RAISE_TARGET_CPA
RESPONSIVE_SEARCH_AD
RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH
SEARCH_PARTNERS_OPT_IN
SEARCH_PLUS_OPT_IN
SET_TARGET_CPA
SET_TARGET_ROAS
TARGET_CPA_OPT_IN
TARGET_ROAS_OPT_IN
USE_BROAD_MATCH_KEYWORD
Recuperare le sottoscrizioni
Per ottenere informazioni sugli abbonamenti ai consigli di un account, esegui una query sulla
recommendation_subscription
.
Per visualizzare le modifiche applicate automaticamente, esegui una query su
change_event
, filtrando
change_client_type
a
GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION
.
Consigli per la creazione della campagna
A partire dalla versione 16 dell'API Google Ads, puoi utilizzare
RecommendationService.GenerateRecommendationsRequest
per generare consigli durante la creazione della campagna, per un determinato insieme di
tipi di consigli.
GenerateRecommendations
accetta come input un ID cliente, un canale pubblicitario
che deve essere
SEARCH
o
PERFORMANCE_MAX
,
un elenco dei tipi di suggerimenti da generare e i vari punti dati dipendenti
dei tipi specificati. Restituisce un elenco di Recommendation
oggetti in base a
i dati che fornisci. Se non sono disponibili dati sufficienti per generare un suggerimento
per i casi d'uso
recommendation_types
,
o se la campagna è già nello stato consigliato, il set di risultati non
contengono un consiglio per quel tipo. Assicurati che la tua applicazione gestisca
caso in cui non vengano restituiti suggerimenti per il suggerimento richiesto
di testo.
La tabella seguente descrive i tipi di consigli che
GenerateRecommendations
e i campi che devi specificare per ricevere
consigli per quel tipo. Come best practice, invia
Richiesta GenerateRecommendations
dopo la raccolta di tutte le informazioni
correlati ai tipi di consigli richiesti. Per ulteriori dettagli
per i campi obbligatori e facoltativi, compresi quelli nidificati, consulta
documentazione di riferimento.
RecommendationType | Campi obbligatori | Campi facoltativi |
---|---|---|
KEYWORD |
|
|
MAXIMIZE_CLICKS_OPT_IN |
|
|
MAXIMIZE_CONVERSIONS_OPT_IN |
|
|
MAXIMIZE_CONVERSION_VALUE_OPT_IN |
|
|
SET_TARGET_CPA |
|
|
SET_TARGET_ROAS |
|
|
SITELINK_ASSET
Nota: lo stato restituito SitelinkAssetRecommendation :
conterrà elenchi vuoti. Se GenerateRecommendations
risposta contiene un valore SitelinkAssetRecommendation , può essere
considerati come un indicatore di aggiungere almeno un asset sitelink alla campagna. |
|
|
TARGET_CPA_OPT_IN |
|
|
TARGET_ROAS_OPT_IN |
|
Esempio di flusso di utilizzo
Supponiamo che la tua azienda sia un'agenzia pubblicitaria che pubblica una campagna
flusso di lavoro di costruzione agli utenti e vuoi offrire loro suggerimenti
durante questo flusso. Puoi utilizzare
GenerateRecommendationsRequest
generare consigli on demand e integrare questi consigli
nell'interfaccia utente per la
creazione della campagna.
Il flusso di utilizzo potrebbe essere simile al seguente:
Un utente accede alla tua applicazione per creare una campagna Performance Max.
L'utente fornisce alcune informazioni iniziali come parte della campagna flusso di costruzione. Ad esempio, forniscono i dettagli per creare un
SitelinkAsset
e selezionanoTARGET_SPEND
come Smart Bidding strategia.Invii un
GenerateRecommendationsRequest
che imposta i seguenti campi:campaign_sitelink_count
: impostato su1
, ovvero il numero di asset sitelink in fase di sviluppo campagna.bidding_info
: imposta il campobidding_strategy_type
nidificato suTARGET_SPEND
.conversion_tracking_status
: impostata suConversionTrackingStatus
di questo cliente. Per indicazioni su come recuperare questo campo, visita la Come iniziare guida alla gestione delle conversioni.recommendation_types
: impostata su[SITELINK_ASSET, MAXIMIZE_CLICKS_OPT_IN]
.advertising_channel_type
: impostata suPERFORMANCE_MAX
.customer_id
: impostato sull'ID del cliente che ha creato la campagna.
Puoi seguire i consigli nella
GenerateRecommendationsResponse
- in questo casoSitelinkAssetRecommendation
e unMaximizeClicksOptInRecommendation
e suggeriscili all'utente mostrandoli nella tua campagna Google Cloud. Se l'utente accetta un suggerimento, puoi incorporarlo nella richiesta di creazione della campagna una volta che l'utente ha completato il flusso di creazione della campagna.