Objectifs de conversion
Lorsque vous créez une campagne Performance Max, une série d'objectifs de conversion correspondant aux CustomerConversionGoal
du compte sont automatiquement créés. Vous pouvez les personnaliser spécifiquement pour chacune de vos campagnes Performance Max en les modifiant.
Pour ce faire, vous devez d'abord récupérer l'ID de vos campagnes Performance Max et une liste de tous les objectifs de conversion des clients. Voici un exemple de modification des objectifs d'une campagne. Vous pouvez également configurer votre code pour qu'il parcoure plusieurs campagnes Performance Max.
// Query for a campaign by name. Update this logic to pull the campaigns you'd
// like to edit
const campaignName = "My PMax campaign";
let campaignId = "";
const search = AdsApp.search(`SELECT campaign.id FROM campaign WHERE campaign.name = "${campaignName}"`);
if (search.hasNext()) {
campaignId = search.next().campaign.id;
console.log(`Updating conversion goals for ${campaignName}: ${campaignId}`);
}
else
{
console.log(`No campaign named "${campaignName}" found`);
// Perform further error handling here
}
// Query for a list of customer conversion goals
const searchResults = AdsApp.search(
`SELECT
customer_conversion_goal.category,
customer_conversion_goal.origin
FROM customer_conversion_goal`
);
Vous pouvez ensuite parcourir tous les objectifs de conversion que vous avez récupérés et créer une opération de mise à jour pour la campagne Performance Max actuelle afin de personnaliser le ciblage pour chaque objectif. L'exemple de code présenté plus loin dans cette section définit tous les objectifs comme enchérissables, mais vous devrez personnaliser cette partie de la logique pour qu'elle corresponde à ce que vous souhaitez obtenir de votre campagne.
Nous vous recommandons de configurer les objectifs de conversion dans une transaction distincte du reste du processus de création de campagne.
CampaignConversionGoalOperation
nécessite que partialFailure
pour la requête soit défini sur false
. Si vous souhaitez exécuter ce code dans la même transaction que celle dans laquelle vous créez la campagne, vous devez désactiver l'échec partiel pour l'ensemble des opérations. L'exemple de code suivant montre comment effectuer cette opération dans une transaction distincte.
operations = [];
while (searchResults.hasNext()) {
const row = searchResults.next();
const conversionGoal = row.customerConversionGoal;
operations.push({
"campaignConversionGoalOperation": {
"update": {
"resourceName": `customers/${customerId}/campaignConversionGoals/${campaignId}~${conversionGoal.category}~${conversionGoal.origin}`,
// Insert your logic here to determine whether you want this particular
// campaign conversion goal to be biddable or not.
// This code will just default everything to being biddable, but that
// is not necessarily best for your use case.
"biddable": true
},
"updateMask": "biddable"
}
});
}
AdsApp.mutateAll(operations, {partialFailure: false});
Ciblage de la campagne
Pour le ciblage des campagnes Performance Max, consultez le guide de l'API pour obtenir la liste complète des types de critères autorisés.
Aucun critère supplémentaire n'est requis pour créer une campagne Performance Max, mais ils peuvent être utiles pour limiter le ciblage en fonction de votre cas d'utilisation. L'exemple de code suivant montre comment configurer une cible de localisation géographique. Vous pouvez consulter la documentation CampaignCriterion
pour connaître le format des autres types de critères.
Vous pouvez créer ces critères en même temps que la campagne elle-même, dans le même appel à mutateAll
. Cet exemple de code part du principe que c'est ainsi que vous structurez votre code.
operations.push({
"campaignCriterionOperation": {
"create": {
"campaign": campaignOperation.campaignOperation.create.resourceName,
"negative": false,
"location": {
// 1023191 represents New York City
"geoTargetConstant": "geoTargetConstants/1023191"
}
}
}
});
Signaux de groupe de composants
Avant de commencer, consultez la documentation sur les signaux de groupe d'assets dans la documentation de l'API. Pour les configurer, associez un groupe d'assets à un critère AudienceInfo
ou SearchThemeInfo
existant. Si vous souhaitez utiliser une audience, spécifiez le champ audience
au lieu du champ searchTheme
avec le nom de ressource de l'audience.
operations.push({
"assetGroupSignalOperation": {
"create": {
"assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
"searchTheme": {
"text": "mars cruise"
}
}
}
});