Componentes opcionais das campanhas Performance Max

Metas de conversão

Quando você cria uma campanha Performance Max, uma série de metas de conversão é criada automaticamente para corresponder às CustomerConversionGoals na conta. Você pode personalizar essas informações especificamente para cada uma das suas campanhas Performance Max atualizando-as.

Para isso, primeiro você precisa buscar uma lista de todas as metas de conversão do cliente.

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

Em seguida, você pode iterar por todas as metas de conversão recebidas e criar uma operação de atualização para a campanha Performance Max atual para personalizar a segmentação de cada meta. O código abaixo define todos eles como disponíveis para lances, mas você vai querer personalizar essa parte da lógica para corresponder ao que você quer da sua campanha.

Antes de executar este código, você precisa buscar o ID da sua campanha Performance Max.

Recomendamos configurar as metas de conversão em uma transação separada do restante do processo de criação da campanha. CampaignConversionGoalOperation exige que a partialFailure da solicitação seja definida como false. Se você quiser executar esse código na mesma transação em que criou a campanha pela primeira vez, configure todo o conjunto de operações para desativar a falha parcial. Este exemplo de código demonstra como realizar essa operação em uma transação separada.

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});

Campanha de segmentação

Para a segmentação de campanhas Performance Max, consulte o guia da API e confira uma lista completa de tipos de critérios permitidos.

Outros critérios não são necessários para criar uma campanha Performance Max, mas podem ser úteis para restringir a segmentação com base no seu caso de uso. O exemplo de código abaixo mostra como configurar uma segmentação por geolocalização. Consulte a documentação do CampaignCriterion para conferir o formato de outros tipos de critérios.

É possível criar esses critérios com a própria campanha como parte da mesma chamada para mutateAll. Este exemplo de código pressupõe que você está estruturando seu código dessa forma.

operations.push({
  "campaignCriterionOperation": {
    "create": {
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "negative": false,
      "location": {
        // 1023191 represents New York City
        "geoTargetConstant": "geoTargetConstants/1023191"
      }
    }
  }
});

Indicadores do grupo de recursos

Leia sobre os sinais de grupo de recursos na documentação da API antes de começar. Elas são configuradas vinculando um grupo de recursos a um critério AudienceInfo ou SearchThemeInfo. Se você quiser usar um público-alvo, especifique o campo audience em vez do searchTheme com o nome do recurso do público-alvo.

operations.push({
  "assetGroupSignalOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      "searchTheme": {
        "text": "mars cruise"
      }
    }
  }
});