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 correspondentes aos CustomerConversionGoals da conta. É possível personalizar 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 todas as metas de conversão retornadas e criar uma operação de atualização para nossa campanha Performance Max atual para personalizar a segmentação de cada meta. O código abaixo define todos eles para receber lances, mas é recomendável personalizar essa parte da lógica para corresponder ao que você quer da sua campanha.

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

Recomendamos configurar metas de conversão em uma transação diferente do restante do processo de criação da campanha. CampaignConversionGoalOperation exige que o partialFailure da solicitação seja definido como false. Se você quiser executar esse código na mesma transação em que fez a campanha pela primeira vez, defina todo o conjunto de operações para que a falha parcial seja desativada. Este código de exemplo 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});

Segmentação de campanha

Para a segmentação de campanhas nas campanhas Performance Max, consulte o guia de API para 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 localização geográfica. Consulte a documentação de CampaignCriterion para ver o formato de outros tipos de critérios.

É possível criar esses critérios junto com a própria campanha como parte da mesma chamada para mutateAll, e esse exemplo de código pressupõe que essa é a estrutura do seu código.

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 indicadores do grupo de recursos na documentação da API antes de começar. Eles são configurados ao vincular um grupo de recursos a um critério AudienceInfo ou SearchThemeInfo atual. Se você quiser usar um público-alvo, especifique o campo audience em vez do campo searchTheme com o nome do recurso do público.

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