Les scripts Google Ads vous permettent de gérer vos campagnes Performance Max
de vos campagnes. Vous pouvez utiliser
pour récupérer des campagnes Performance Max, gérer les groupes d'assets
les rapports ; Toutefois, vous ne pouvez pas utiliser de scripts pour créer des campagnes Performance Max. À
des opérations plus avancées, consultez le reste de ce guide,
présente une approche plus générique utilisant mutate
.
Récupération des campagnes Performance Max
Les campagnes Performance Max sont disponibles
performanceMaxCampaigns
collection d'un AdsApp
. Vous pouvez les récupérer comme d'habitude:
const campaignName = "My Performance Max campaign";
const campaignIterator = AdsApp.performanceMaxCampaigns()
.withCondition(`campaign.name = "${campaignName}"`)
.get();
for (const campaign of campaignIterator) {
...
}
Contrairement à d'autres types de campagnes, les campagnes Performance Max ne comportent pas les groupes ou objets d'annonces visibles, tout ce qui se rapporte à ces concepts pour les autres campagnes sont gérées automatiquement pour vous, en fonction des groupes d'assets défini.
Assets et groupes d'assets
Les annonces des campagnes Performance Max sont diffusées assets tels que des vidéos, des images, des titres et des descriptions (que vous avez fournis ou automatiquement généré. Pour obtenir un aperçu complet des types d'assets, obligatoire, consultez la section sur l'asset Performance Max de l'API Google Ads guide de démarrage.
Les assets des campagnes Performance Max sont regroupés dans un groupe d'assets. et chaque campagne Performance Max doit comporter au moins un groupe d'assets. Toi ne pouvez pas les créer directement dans des scripts, mais vous pouvez ajouter et supprimer des assets d'un groupe d'assets existant.
Ajouter un élément au groupe de composants
Commencez par créer l'asset:
const imageUrl = "http://www.example.com/example.png";
const imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
const assetOperation = AdsApp.adAssets().newImageAssetBuilder()
.withName("new asset name")
.withData(imageBlob)
.build();
const imageAsset = assetOperation.getResult();
Ensuite, à l'aide de l'asset que vous venez de créer, ajoutez-le à un groupe d'assets existant:
// First, fetch the Performance Max campaign we want to operate on.
const campaignIterator = AdsApp.performanceMaxCampaigns()
.withCondition(`campaign.name = '${campaignName}'`)
.get();
let campaign;
if (campaignIterator.hasNext()) {
campaign = campaignIterator.next();
} else {
throw `No campaign found with name ${campaignName}.`
}
// Then, get that campaign's asset groups.
const assetGroupIterator = campaign.assetGroups().get();
// The campaign must have at least one asset group, so we can just assume so here.
const assetGroup = assetGroupIterator.next();
// Add the asset from the previous step.
assetGroup.addAsset(imageAsset, 'MARKETING_IMAGE');
Notez comment vous devez spécifier le type d'asset à la dernière étape. Vous trouverez liste complète des types d'éléments dans l'API Google Ads documentation
Pour utiliser un composant existant, commencez par créer un sélecteur d'assets:
const assetSelector = AdsApp.adAssets().assets();
Utilisez ensuite un filtre withCondition
pour affiner votre sélection
opèrent. Consultez le
AssetSelector
documentation de référence pour obtenir la liste complète des options de filtrage.
Enfin, récupérez l'itérateur et itérez comme pour d'autres entités:
const assetIterator = assetSelector.get();
for (const asset of assetIterator) {
...
}
Assets texte
Les composants texte fonctionnent un peu différemment, dans la mesure où vous n'avez pas besoin à l'avance. Il vous suffit de spécifier le texte au lieu d'un asset, et le système créer automatiquement l'asset pour vous. Si le texte est exactement le double d'une l'asset texte existant, il sera réutilisé à la place.
Par exemple, voici comment créer un composant Titre:
assetGroup.addAsset('asset text here', 'HEADLINE');
Supprimer l'asset du groupe d'assets
Vous pouvez aussi supprimer un asset d'un groupe d'assets : Cependant, gardez à l'esprit que vous devez disposer d'un nombre minimal de types éléments pour que la campagne soit valide.
Voici comment supprimer le composant ajouté dans l'exemple précédent:
assetGroup.removeAsset(imageAsset, 'MARKETING_IMAGE');
Vous pouvez également obtenir la liste des composants d'un groupe d'assets donné à l'aide de l'search
:
// The resource name is a unique identifier for this asset group.
const assetGroupName = assetGroup.getResourceName();
results = AdsApp.search(
`SELECT asset.resource_name, asset_group_asset.field_type
FROM asset_group_asset
WHERE asset_group.resource_name = '${assetGroupName}'`
);
Le nom de ressource de l'élément est alors sélectionné comme identifiant unique. Vous pourriez
sélectionnez d'autres champs, comme asset.type
ou asset.text_asset.text
, pour
affiner davantage
les résultats. Utilisez le générateur de requêtes pour ce rapport
type pour créer
votre propre requête.
Une fois que vous disposez du composant cible, appelez remove
au niveau du groupe d'assets pour supprimer le
du groupe d'assets:
// Let's assume at least one asset is returned. We'll just remove the first
// asset, whatever it is. In your code, customize this to choose the right asset.
const row_info = results.next().asset;
assetGroup.remove(row_info.asset.resource_name, row_info.asset_group_asset.field_type);