Améliorations possibles des recommandations vos campagnes de plusieurs manières:
- présenter de nouvelles fonctionnalités pertinentes ;
- Exploitez pleinement votre budget grâce à des enchères, des annonces et des mots clés améliorés
- Améliorez les performances globales et l'efficacité de vos campagnes
Pour augmenter les scores d'optimisation, vous pouvez utiliser les
RecommendationService
pour récupérer
recommandations, puis les appliquer ou les ignorer en conséquence. À partir de la version v15
de l'API Google Ads, vous pouvez également vous abonner au paramètre Appliquer automatiquement
recommandations à l'aide de RecommendationSubscriptionService
.
Score d'optimisation
Le score d'optimisation est un
une estimation des futures performances de votre compte Google Ads et de sa disponibilité
au niveau de la Customer
et
Campaign
niveaux.
La
Customer.optimization_score_weight
n'est disponible que pour les comptes non-administrateur et permet de calculer le total
le taux d'optimisation de plusieurs comptes. Récupérer le score d'optimisation
la pondération du score d'optimisation des comptes et la multiplier
(Customer.optimization_score * Customer.optimization_score_weight
) pour calculer
le score d'optimisation global.
Des métriques liées à l'optimisation sont disponibles pour customer
et campaign
rapports:
- La
metrics.optimization_score_url
fournit un lien profond vers le compte pour afficher des informations sur recommandations dans l'UI Google Ads. - La
metrics.optimization_score_uplift
indique dans quelle mesure le score d'optimisation augmenterait si toutes recommandations sont appliquées. Il s'agit d'une estimation basée sur l'ensemble recommandations dans leur ensemble, et pas seulement la somme des taux d'amélioration recommandation.
Pour regrouper et classer les recommandations, vous pouvez segmenter ces deux types de recommandations
par type de recommandation à l'aide des segments.recommendation_type
requête.
Types de recommandation
Types de recommandations entièrement compatibles
RecommendationType | Description |
---|---|
CAMPAIGN_BUDGET |
Corriger les campagnes limitées par leur budget |
KEYWORD |
Ajouter de nouveaux mots clés |
TEXT_AD |
Ajouter des suggestions d'annonces |
TARGET_CPA_OPT_IN |
Enchérir avec le CPA cible |
MAXIMIZE_CONVERSIONS_OPT_IN |
Enchérir avec la stratégie "Maximiser les conversions" |
MAXIMIZE_CONVERSION_VALUE_OPT_IN |
Enchérir avec la stratégie "Maximiser la valeur de conversion" |
ENHANCED_CPC_OPT_IN |
Enchérir avec le CPC optimisé |
MAXIMIZE_CLICKS_OPT_IN |
Enchérir avec la stratégie "Maximiser les clics" |
OPTIMIZE_AD_ROTATION |
Utiliser la rotation optimisée des annonces |
MOVE_UNUSED_BUDGET |
Réaffectez vos ressources inutilisées vers des budgets limités |
TARGET_ROAS_OPT_IN |
Enchérir avec le ROAS cible |
FORECASTING_CAMPAIGN_BUDGET |
Corrigez les campagnes susceptibles d'être limitées par leur budget dans le futur |
RESPONSIVE_SEARCH_AD |
Ajouter une annonce responsive sur le Réseau de Recherche |
MARGINAL_ROI_CAMPAIGN_BUDGET |
Ajuster le budget de la campagne pour augmenter le ROI |
USE_BROAD_MATCH_KEYWORD |
Utilisez la requête large correspondance pour les campagnes basées sur les conversions utilisant les enchères automatiques |
RESPONSIVE_SEARCH_AD_ASSET |
Ajouter des composants d'annonce responsive sur le Réseau de Recherche à une annonce |
RESPONSIVE_SEARCH_AD_IMPROVE_AD_STRENGTH |
Améliorer les performances d'une annonce responsive sur le Réseau de Recherche |
DISPLAY_EXPANSION_OPT_IN |
Mettre à jour une campagne pour utiliser l'expansion au Réseau Display |
SEARCH_PARTNERS_OPT_IN |
Élargir la couverture grâce aux partenaires du Réseau de Recherche de Google |
CUSTOM_AUDIENCE_OPT_IN |
Créer une audience personnalisée |
IMPROVE_DISCOVERY_AD_STRENGTH |
Améliorer l'efficacité des annonces dans les campagnes de génération de la demande |
UPGRADE_SMART_SHOPPING_CAMPAIGN_TO_PERFORMANCE_MAX |
Convertir une campagne Shopping intelligente en campagne Performance Max |
UPGRADE_LOCAL_CAMPAIGN_TO_PERFORMANCE_MAX |
Migrer une ancienne campagne locale vers Performance Max |
SHOPPING_MIGRATE_REGULAR_SHOPPING_CAMPAIGN_OFFERS_TO_PERFORMANCE_MAX |
Migrer les offres ciblées par les campagnes Shopping standards vers des offres existantes Campagnes Performance Max |
MIGRATE_DYNAMIC_SEARCH_ADS_CAMPAIGN_TO_PERFORMANCE_MAX |
Migrez vos campagnes d'annonces dynamiques du Réseau de Recherche vers Performance Max |
PERFORMANCE_MAX_OPT_IN |
Créer des campagnes Performance Max dans votre compte |
IMPROVE_PERFORMANCE_MAX_AD_STRENGTH |
Améliorer l'efficacité des groupes d'assets d'une campagne Performance Max sur "Excellente" note |
PERFORMANCE_MAX_FINAL_URL_OPT_IN |
Activez l'extension d'URL finale pour vos campagnes Performance Max |
RAISE_TARGET_CPA_BID_TOO_LOW |
Augmentez le CPA cible lorsqu'il est trop faible Peu ou pas de conversions |
FORECASTING_SET_TARGET_ROAS |
Augmentez le budget avant un événement saisonnier. susceptible d'augmenter le trafic et de modifier la stratégie d'enchères en passant de "Maximiser la valeur de conversion" à "ROAS cible" |
LEAD_FORM |
Ajouter des composants Formulaire pour prospects à une campagne |
CALLOUT_ASSET |
Ajouter des composants Accroche au niveau de la campagne ou du client |
SITELINK_ASSET |
Ajouter des composants Lien annexe au niveau de la campagne ou du client |
CALL_ASSET |
Ajouter des composants Appel au niveau de la campagne ou du client |
SHOPPING_ADD_AGE_GROUP |
Ajoutez l'attribut tranche d'âge aux offres qui sont rétrogradées en raison d'une tranche d'âge manquante |
SHOPPING_ADD_COLOR |
Ajouter une couleur aux offres rétrogradées en raison d'une absence couleur [color] |
SHOPPING_ADD_GENDER |
Ajoutez un sexe aux offres qui sont rétrogradées en raison d'un manque sexe |
SHOPPING_ADD_GTIN |
Ajoutez un code GTIN (code article international) aux offres rétrogradées en raison d'un code GTIN manquant |
SHOPPING_ADD_MORE_IDENTIFIERS |
Ajoutez d'autres identifiants aux offres rétrogradées en raison de l'absence d'identifiants. identifiants |
SHOPPING_ADD_SIZE |
Ajoutez la taille aux offres qui sont rétrogradées en raison d'un taille [size] |
SHOPPING_ADD_PRODUCTS_TO_CAMPAIGN |
Ajouter des produits à diffuser dans une campagne |
SHOPPING_FIX_DISAPPROVED_PRODUCTS |
Corriger les produits refusés |
SHOPPING_TARGET_ALL_OFFERS |
Créer une campagne générique qui cible toutes les offres |
SHOPPING_FIX_SUSPENDED_MERCHANT_CENTER_ACCOUNT |
Résoudre les problèmes de suspension du compte Merchant Center |
SHOPPING_FIX_MERCHANT_CENTER_ACCOUNT_SUSPENSION_WARNING |
Résoudre les problèmes liés aux avertissements de suspension de compte Merchant Center |
DYNAMIC_IMAGE_EXTENSION_OPT_IN |
Activer les extensions d'image dynamiques dans le compte |
RAISE_TARGET_CPA |
Augmentez votre CPA cible |
LOWER_TARGET_ROAS |
Diminution du ROAS cible |
FORECASTING_SET_TARGET_CPA |
Définissez un CPA cible pour les campagnes n'en à l'avance d'un événement saisonnier susceptible d'augmenter le trafic |
SET_TARGET_CPA |
Définir un CPA cible pour les campagnes n'en spécifiant aucun |
SET_TARGET_ROAS |
Définir un ROAS cible pour les campagnes n'en spécifiant aucun |
REFRESH_CUSTOMER_MATCH_LIST |
Mettre à jour une liste de clients qui n'a pas été mise à jour au cours des 90 derniers jours jours |
IMPROVE_GOOGLE_TAG_COVERAGE |
Déployer la balise Google sur plus de pages |
CALLOUT_EXTENSION (obsolète) |
Obsolète. Utilisez plutôt CALLOUT_ASSET . |
SITELINK_EXTENSION (obsolète) |
Obsolète. Utilisez plutôt SITELINK_ASSET . |
CALL_EXTENSION (obsolète) |
Obsolète. Utilisez plutôt CALL_ASSET . |
KEYWORD_MATCH_TYPE (obsolète) |
Obsolète. Utilisez plutôt USE_BROAD_MATCH_KEYWORD . |
Regardez cette vidéo pour en savoir plus
Gérer les types non compatibles
Récupérer des recommandations
Comme la plupart des autres entités de l'API Google Ads, Recommendation
objets sont récupérés à l'aide de la méthode
GoogleAdsService.SearchStream
à l'aide d'une requête
dans le langage de requête Google Ads.
Pour chaque type de recommandation, des détails sont fournis dans un
spécifique à la recommandation. Par exemple, CAMPAIGN_BUDGET
recommandation
plus de détails se trouvent dans la
campaign_budget_recommendation
et sont encapsulés dans un
CampaignBudgetRecommendation
.
Recherchez tous les champs spécifiques aux recommandations dans
Champ d'union recommendation
.
Impact de la recommandation
Certains types de recommandations renseignent
Champ impact
de la recommandation.
RecommendationImpact
contient une estimation de l'impact sur les performances du compte
et appliquer la recommandation. Les éléments suivants :
métriques sur les recommandations sont
dans les champs impact.base_metrics
et impact.potential_metrics
:
impressions
clicks
cost_micros
conversions
all_conversions
(disponible à partir de la version 16 de l'API Google Ads)video_views
Exemple de code
L'exemple de code suivant récupère toutes les recommandations disponibles et ignorées
de type KEYWORD
à partir d'un compte et imprime certains de leurs détails:
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); });
Intervenir
Vous pouvez appliquer ou ignorer n'importe quelle recommandation récupérée.
En fonction du type de recommandation, celles-ci peuvent changer
ou même plusieurs fois par jour. Dans ce cas, une recommandation
resource_name
de l'objet peut
deviennent obsolètes une fois la recommandation récupérée.
Il est recommandé d'appliquer les recommandations peu de temps après leur récupération.
Appliquer les recommandations
Vidéo: appliquer les recommandations
Vous pouvez appliquer des recommandations actives ou ignorées à l'aide de l'onglet
ApplyRecommendation
de la classe
RecommendationService
Les types de recommandations peuvent comporter des paramètres obligatoires ou facultatifs. La plupart les recommandations sont associées à des valeurs recommandées qui sont utilisées par défaut.
Définir des comptes pour l'application automatique des recommandations n'est pas
compatible avec tous les types de recommandations. Cependant, vous pouvez implémenter
pour les types de recommandations entièrement compatibles avec l'API Google Ads.
Reportez-vous au code DetectAndApplyRecommendations
exemple pour en savoir plus.
Utilisez les
apply_parameters
d'union de ApplyRecommendationOperation
pour appliquer des recommandations avec
des valeurs de paramètres spécifiques. Chaque type de recommandation approprié possède son propre champ.
Tout type de recommandation non listé dans le champ apply_parameters
n'utilise pas
ces valeurs de paramètres.
Exemple de code
Le code suivant montre comment créer le
ApplyRecommendationOperation
et
comment remplacer les valeurs recommandées si vous souhaitez les remplacer par votre
vous-même.
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'exemple suivant appelle
ApplyRecommendation
,
et envoyez les opérations "Apply Recommendation" créées à l'étape précédente
du code source.
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}; }
Regardez ces vidéos pour en savoir plus
Appliquer les paramètres
Modifications groupées
Erreurs
Tests
Masquer les recommandations
Vidéo: Ignorer des recommandations
Vous pouvez ignorer les recommandations
RecommendationService
Le code
est semblable à l'application des recommandations, mais vous utilisez
DismissRecommendationOperation
et
RecommendationService.DismissRecommendation
.
Regardez ces vidéos pour en savoir plus
Modifications groupées
Erreurs
Tests
Appliquez automatiquement les recommandations
À partir de la version 15 de l'API Google Ads, vous pouvez utiliser le
RecommendationSubscriptionService
pour appliquer automatiquement un type spécifique de recommandations.
Pour vous abonner à un type de recommandation particulier, créez un
objet RecommendationSubscription
,
définissez le champ type
sur l'une des
la recommandation acceptée
types, et définissez les
champ status
sur ENABLED
.
Types de recommandations compatibles avec les abonnements
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
Récupérer les abonnements
Pour obtenir des informations sur les abonnements aux recommandations d'un compte, interrogez le
Ressource recommendation_subscription
.
Pour afficher les modifications appliquées automatiquement, interrogez la
la ressource change_event
, en filtrant les
change_client_type
jusqu'à
GOOGLE_ADS_RECOMMENDATIONS_SUBSCRIPTION
Recommandations lorsque vous créez des campagnes
À partir de la version 16 de l'API Google Ads, vous pouvez utiliser
RecommendationService.GenerateRecommendationsRequest
afin de générer des recommandations lorsque vous créez une campagne, pour un ensemble
types de recommandations.
GenerateRecommendations
accepte en entrée un numéro client, un canal publicitaire
qui doit être soit
SEARCH
ou
PERFORMANCE_MAX
,
une liste de types de recommandations à générer et divers points de données qui dépendent
les types spécifiés. Elle génère une liste d'objets Recommendation
en fonction du
les données que vous fournissez. Si les données sont insuffisantes pour générer une recommandation
pour l'élément demandé
recommendation_types
,
ou si la campagne est déjà à l'état recommandé, l'ensemble de résultats
contenant une recommandation pour ce type. Assurez-vous que votre application gère les
cas où aucune recommandation n'est renvoyée pour la recommandation demandée
de données.
Le tableau suivant décrit les types de recommandations
GenerateRecommendations
, ainsi que les champs que vous devez renseigner pour recevoir
recommandations pour ce type. Nous vous recommandons d'envoyer
Demande GenerateRecommendations
après que toutes les informations ont été collectées
en lien avec les types de recommandations demandés. Pour en savoir plus sur
les champs obligatoires et facultatifs, y compris les champs imbriqués, consultez le
documentation de référence.
RecommendationType | Champs obligatoires | Champs facultatifs |
---|---|---|
KEYWORD |
|
|
MAXIMIZE_CLICKS_OPT_IN |
|
|
MAXIMIZE_CONVERSIONS_OPT_IN |
|
|
MAXIMIZE_CONVERSION_VALUE_OPT_IN |
|
|
SET_TARGET_CPA |
|
|
SET_TARGET_ROAS |
|
|
SITELINK_ASSET
Remarque: La valeur renvoyée SitelinkAssetRecommendation
contiendra des listes vides. Si le GenerateRecommendations
contient un SitelinkAssetRecommendation , il peut s'agir
est traité comme un signal invitant à ajouter au moins un composant Lien annexe à la campagne. |
|
|
TARGET_CPA_OPT_IN |
|
|
TARGET_ROAS_OPT_IN |
|
Exemple de flux d'utilisation
Imaginons que votre entreprise soit une agence publicitaire qui propose une campagne
le workflow de construction, et vous voulez
proposer des suggestions aux utilisateurs
pendant ce flux. Vous pouvez utiliser
GenerateRecommendationsRequest
pour générer des recommandations à la demande et les intégrer
dans l'interface utilisateur de création de votre campagne.
Le flux d'utilisation peut se présenter comme suit:
Un utilisateur accède à votre application pour créer une campagne Performance Max.
L'utilisateur fournit des informations initiales dans le cadre de la campagne. le processus de construction. Par exemple, ils fournissent des informations permettant de créer
SitelinkAsset
: il sélectionneTARGET_SPEND
comme les stratégies d'enchères intelligentes stratégie.Vous envoyez un
GenerateRecommendationsRequest
qui définit les champs suivants:campaign_sitelink_count
: défini sur1
, qui correspond au nombre de composants Lien annexe sur l'état campagne.bidding_info
: définissez le champ imbriquébidding_strategy_type
surTARGET_SPEND
.conversion_tracking_status
: défini surConversionTrackingStatus
de ce client. Pour savoir comment récupérer ce champ, consultez la Premiers pas pour la gestion des conversions.recommendation_types
: défini sur[SITELINK_ASSET, MAXIMIZE_CLICKS_OPT_IN]
.advertising_channel_type
: défini surPERFORMANCE_MAX
.customer_id
: défini sur l'ID du client qui crée la campagne.
Vous pouvez utiliser les recommandations
GenerateRecommendationsResponse
dans ce cas, unSitelinkAssetRecommendation
et unMaximizeClicksOptInRecommendation
et les suggérer à l'utilisateur en les affichant dans votre campagne de construction. Si l'utilisateur accepte une suggestion, vous pouvez alors pour l'intégrer à la demande de création de la campagne une fois que l'utilisateur a terminé lors du processus de création d'une campagne.