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 é recomendável 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 nas 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 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"
      }
    }
  }
});