Pour discuter de nos produits et nous faire part de vos commentaires, rejoignez le canal Discord officiel Google Ads sur le serveur de la communauté Google Advertising and Measurement.
Restez organisé à l'aide des collections
Enregistrez et classez les contenus selon vos préférences.
Alors que la plupart des services fournissent des API synchrones qui vous obligent à envoyer une requête et à attendre une réponse, BatchJobService vous permet d'effectuer des lots d'opérations sur plusieurs services sans attendre de manière synchrone la fin des opérations.
Contrairement aux opérations de mutation spécifiques à un service, un seul job dans BatchJobService peut fonctionner sur une collection mixte de campagnes, de groupes d'annonces, d'annonces, de critères, de libellés et d'éléments de flux.
Les jobs envoyés s'exécutent en parallèle, et BatchJobService relance automatiquement les opérations qui échouent en raison d'erreurs temporaires telles que les erreurs de limite de débit. L'API Google Ads comptabilise toujours chaque opération dans votre limite d'opérations quotidiennes, en suivant les instructions de comptabilisation des opérations d'API.
BatchJobService vous permet également d'utiliser des ID temporaires dans vos requêtes afin de pouvoir envoyer des opérations dépendantes dans une seule tâche.
Opérations
BatchJobService est compatible avec toutes les opérations listées dans MutateOperation, à quelques exceptions importantes près.
Étant donné que l'API Google Ads exécute toutes les opérations d'un job avec l'option Échec partiel activée, si un job est annulé ou si des opérations individuelles échouent, les opérations qui ont réussi ne seront pas annulées.
Les opérations suivantes dans MutateOperation doivent être atomiques et, par conséquent, ne sont pas compatibles avec les échecs partiels et ne sont pas acceptées dans les jobs par lot. Évitez d'ajouter ces opérations à vos jobs, définissez partial_failure sur false dans vos requêtes et utilisez plutôt la méthode mutate dans GoogleAdsService.
Sauf indication contraire, le contenu de cette page est régi par une licence Creative Commons Attribution 4.0, et les échantillons de code sont régis par une licence Apache 2.0. Pour en savoir plus, consultez les Règles du site Google Developers. Java est une marque déposée d'Oracle et/ou de ses sociétés affiliées.
Dernière mise à jour le 2025/08/27 (UTC).
[null,null,["Dernière mise à jour le 2025/08/27 (UTC)."],[[["\u003cp\u003e\u003ccode\u003eBatchJobService\u003c/code\u003e enables asynchronous execution of multiple operations across various Google Ads services, reducing the need for synchronous waiting.\u003c/p\u003e\n"],["\u003cp\u003eIt supports a wide range of operations, allowing you to manage campaigns, ad groups, ads, criteria, labels, and feed items within a single job.\u003c/p\u003e\n"],["\u003cp\u003eFailed operations due to transient errors like rate limits are automatically retried, ensuring higher reliability.\u003c/p\u003e\n"],["\u003cp\u003eAlthough it minimizes API requests and retries failed operations, using \u003ccode\u003eBatchJobService\u003c/code\u003e does not inherently guarantee improved performance; experimentation is crucial to determine its suitability for specific use cases.\u003c/p\u003e\n"],["\u003cp\u003eCertain atomic operations like \u003ccode\u003eCampaignConversionGoalOperation\u003c/code\u003e, \u003ccode\u003eConversionGoalCampaignConfigOperation\u003c/code\u003e, \u003ccode\u003eCustomConversionGoalOperation\u003c/code\u003e, \u003ccode\u003eCustomerConversionGoalOperation\u003c/code\u003e, and \u003ccode\u003eCustomerOperation\u003c/code\u003e are not supported in batch jobs and should be executed using \u003ccode\u003eGoogleAdsService\u003c/code\u003e instead.\u003c/p\u003e\n"]]],[],null,["# Batch Processing\n\n\u003cbr /\u003e\n\n\u003cbr /\u003e\n\nWhile most services provide synchronous APIs that require you to make a request\nand then wait for a response, [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService)\nprovides a way to perform batches of operations on multiple services without\nsynchronously waiting for the operations to complete.\n\nUnlike service-specific mutate operations, a single job in\n[`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) can operate against a mixed\ncollection of campaigns, ad groups, ads, criteria, labels, and feed items.\nSubmitted jobs run in parallel, and\n[`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) automatically retries\noperations that fail due to transient errors such as rate limit errors. The\nGoogle Ads API still counts each operation towards your\n[daily operation limit](/google-ads/api/docs/access-levels#access-levels), following the\n[API operations](/google-ads/api/docs/rate-sheet#api-operations) counting instructions.\n\n[`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) also lets you use\n[temporary IDs](/google-ads/api/docs/batch-processing/temporary-ids) within your requests so\nyou can submit dependent operations in a single job.\n| **Note:** Use of [`BatchJobService`](/google-ads/api/reference/rpc/v21/BatchJobService) can reduce the number of requests sent but its use must be evaluated to see if it's a good fit for your needs. The main reasons for using batch processing are to minimize the number of API requests and retry operations that fail due to transient errors. This doesn't guarantee improved performance resulting in higher throughput or quicker job completion. Experiment with different combinations of batch and non-batch processing to determine the optimal solution for your circumstances.\n\nOperations\n----------\n\n`BatchJobService` supports all of the operations listed in\n[`MutateOperation`](/google-ads/api/reference/rpc/v21/MutateOperation), with a few important\nexceptions.\n\nBecause the Google Ads API executes all operations in a job with\n[partial failure](/google-ads/api/docs/best-practices/partial-failures) enabled, if a job is\ncancelled or individual operations fail, operations that succeeded will *not*\nbe rolled back.\n\nThe following operations in `MutateOperation` must be\n[atomic](/google-ads/api/docs/mutating/bulk-mutate), and thus, don't support partial failure\nand are *not* supported within batch jobs. Avoid adding these operations to your\njobs, set `partial_failure` to `false` in your requests, and use the `mutate`\nmethod in [`GoogleAdsService`](/google-ads/api/reference/rpc/v21/GoogleAdsService) instead.\n\n#### Unsupported operations in BatchJobService\n\n- [`CampaignConversionGoalOperation`](/google-ads/api/reference/rpc/v21/CampaignConversionGoalOperation)\n- [`ConversionGoalCampaignConfigOperation`](/google-ads/api/reference/rpc/v21/ConversionGoalCampaignConfigOperation)\n- [`CustomConversionGoalOperation`](/google-ads/api/reference/rpc/v21/CustomConversionGoalOperation)\n- [`CustomerConversionGoalOperation`](/google-ads/api/reference/rpc/v21/CustomerConversionGoalOperation)\n- [`CustomerOperation`](/google-ads/api/reference/rpc/v21/CustomerOperation)"]]