Composants facultatifs de Performance Max

Objectifs de conversion

Lorsque vous créez une campagne Performance Max, une série d'objectifs de conversion sont automatiquement créés en fonction des CustomerConversionGoal du compte. Vous pouvez les personnaliser spécifiquement pour chacune de vos campagnes Performance Max en les modifiant.

Pour ce faire, vous devez d'abord extraire la liste de tous les objectifs de conversion des clients.

const searchResults = AdsApp.search(
  `SELECT
     customer_conversion_goal.category,
     customer_conversion_goal.origin
   FROM customer_conversion_goal`
);

Vous pouvez ensuite itérer tous les objectifs de conversion récupérés et créer une opération de mise à jour pour notre campagne Performance Max actuelle afin de personnaliser le ciblage pour chaque objectif. Le code ci-dessous les définit toutes sur "Enchérissable", mais vous pouvez personnaliser cette partie de la logique pour qu'elle corresponde à ce que vous souhaitez obtenir avec votre campagne.

Avant d'exécuter ce code, vous devez récupérer l'ID de votre campagne Performance Max.

Nous vous recommandons de configurer les objectifs de conversion dans une transaction distincte du reste du processus de création de la campagne. CampaignConversionGoalOperation exige que partialFailure soit défini sur false pour la requête. Si vous souhaitez exécuter ce code dans la même transaction où vous créez la campagne pour la première fois, vous devez désactiver l'échec partiel pour l'ensemble des opérations. Cet exemple de code 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 dans 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 restreindre le ciblage en fonction de votre cas d'utilisation. L'exemple de code ci-dessous montre comment configurer une cible de géolocalisation. Pour en savoir plus sur le format des autres types de critères, consultez la documentation CampaignCriterion.

Vous pouvez créer ces critères avec la campagne elle-même dans le cadre du même appel à mutateAll. Cet exemple de code suppose 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 des groupes d'assets

Avant de commencer, consultez la section concernant les signaux de groupe d'assets dans la documentation de l'API. Celles-ci sont configurées en associant un groupe d'assets à un critère AudienceInfo ou SearchThemeInfo existant. Si vous souhaitez utiliser une audience à la place, 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"
      }
    }
  }
});