Google Ads est compatible avec différents types d'annonces, comme les annonces textuelles, illustrées et pour mobile. Ce guide explique comment créer des annonces, les récupérer et générer des rapports à leur sujet à l'aide des scripts Google Ads. Pour obtenir un aperçu de tous les types d'annonces compatibles avec Google Ads, consultez le guide de l'API.
Création
Les scripts peuvent créer des annonces à l'aide de la méthode newAd() sur les instances AdGroup. Cela renvoie un AdBuilderSpace qui crée des générateurs pour les types d'annonces compatibles.
L'extrait de code suivant montre comment créer une annonce responsives sur le Réseau de Recherche :
let adOperation = adGroup.newAd().responsiveSearchAdBuilder()
.withHeadlines(["Headline 1", "Headline 2", "Headline 3"])
.withDescriptions(["Description 1", "Description 2"])
.withFinalUrl("http://www.example.com")
.withPath1("path1")
.withPath2("path2")
.build();
Inspection
Certaines informations associées à tous les types d'annonces sont immédiatement disponibles à partir d'un Ad, comme l'ID et l'état d'approbation d'une annonce. De plus, vous pouvez mettre en veille, activer ou supprimer n'importe quelle annonce.
Pour accéder aux champs spécifiques au type d'annonce, tels que les titres d'une annonce responsive sur le Réseau de Recherche, utilisez la méthode asType() pour créer un AdViewSpace.
Cela permet d'accéder à une version étendue de Ad qui expose des méthodes spécifiques au type.
L'extrait suivant récupère les titres de chaque annonce responsive sur le Réseau de Recherche :
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
}
Notez que la condition Type = RESPONSIVE_SEARCH_AD garantit que chaque annonce de l'itérateur est une annonce responsive sur le Réseau de Recherche. Si vous essayez d'afficher une annonce avec un type incorrect, une erreur se produira et l'exécution de votre script s'arrêtera. Il est donc important d'afficher les champs spécifiques à un type uniquement lorsque le type d'une annonce est connu.
L'extrait de code suivant montre comment déterminer si une annonce est du bon type à l'aide de la méthode Ad.isType() :
if (ad.isType().responsiveSearchAd()) {
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
let descriptions = responsiveSearchAd.getDescriptions();
}
Bien que vous ne puissiez pas filtrer les annonces par texte du titre à l'aide de sélecteurs standards, vous pouvez les filtrer en JavaScript après les avoir récupérées :
const iterator = AdsApp.ads().withCondition("Type = RESPONSIVE_SEARCH_AD").get();
while (iterator.hasNext()) {
let ad = iterator.next();
let responsiveSearchAd = ad.asType().responsiveSearchAd();
let headlines = responsiveSearchAd.getHeadlines();
// Filter for ads containing a specific headline.
if (headlines.some(h => h.getText().includes("Special Offer"))) {
console.log(`Found ad with ID ${ad.getId()}`);
}
}
Rapports
La vue ad_group_ad permet d'interroger les champs d'annonces en plus des statistiques habituelles. Par exemple, vous pouvez filtrer par type d'annonce à l'aide de ad_group_ad.ad.type.
L'extrait suivant montre comment récupérer les statistiques de toutes les annonces responsives sur le Réseau de Recherche :
const results = AdsApp.search(
"SELECT ad_group_ad.ad_group.id, " +
"ad_group_ad.ad.id, " +
"metrics.clicks, " +
"metrics.impressions, " +
"metrics.cost " +
"FROM ad_group_ad " +
"WHERE ad_group_ad.ad.type = 'RESPONSIVE_SEARCH_AD' " +
"AND segments.date DURING LAST_7_DAYS");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let clicks = row.metrics.clicks;
...
}
Filtrer par contenu de composant
Pour filtrer à grande échelle les annonces responsives sur le Réseau de Recherche en fonction du contenu de leurs titres ou descriptions, utilisez la ressource ad_group_ad_asset_view. Dans cette vue, chaque titre et description est traité comme une ligne distincte, ce qui vous permet de filtrer le texte du composant.
L'extrait suivant récupère les statistiques de toutes les annonces responsives sur le Réseau de Recherche contenant un titre spécifique :
const results = AdsApp.search(
"SELECT ad_group_ad.ad.id, " +
"asset.text_asset.text, " +
"metrics.clicks, " +
"metrics.impressions " +
"FROM ad_group_ad_asset_view " +
"WHERE asset.text_asset.text LIKE '%Special Offer%' " +
"AND ad_group_ad_asset_view.field_type = 'HEADLINE'");
while (results.hasNext()) {
let row = results.next();
let adId = row.adGroupAd.ad.id;
let text = row.asset.textAsset.text;
let clicks = row.metrics.clicks;
console.log(`Ad ID ${adId} with headline "${text}" had ${clicks} clicks.`);
}
Pour en savoir plus sur les rapports dans les scripts, consultez le guide sur les rapports.