Componentes opcionales de las campañas de máximo rendimiento

Objetivos de conversión

Cuando creas una campaña de máximo rendimiento, se crea automáticamente una serie de objetivos de conversión que coinciden con los CustomerConversionGoal de la cuenta. Puedes personalizarlos específicamente para cada una de tus campañas de máximo rendimiento actualizándolos.

Para ello, primero debes recuperar el ID de las campañas de máximo rendimiento y una lista de todos los objetivos de conversión del cliente. A continuación, se muestra un ejemplo de cómo cambiar los objetivos de una campaña, aunque también puedes configurar tu código para que se repita en varias campañas de máximo rendimiento.

// 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`
);

Luego, puedes iterar en todos los objetivos de conversión que obtuviste y crear una operación de actualización para la campaña de máximo rendimiento actual y personalizar la segmentación para cada objetivo. En el ejemplo de código que se muestra más adelante en esta sección, se establecen todos los objetivos como aptos para ofertas, pero te recomendamos que personalices esa parte de la lógica para que coincida con lo que deseas obtener de tu campaña.

Te recomendamos que configures los objetivos de conversión en una transacción independiente del resto del proceso de creación de la campaña. CampaignConversionGoalOperation requiere que partialFailure para la solicitud se establezca en false. Si deseas ejecutar este código en la misma transacción en la que creaste la campaña por primera vez, debes configurar todo el conjunto de operaciones para que no se produzca una falla parcial. Este ejemplo de código muestra cómo realizar esta operación en una transacción independiente.

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

Orientación de campaña

Para la segmentación de campañas de máximo rendimiento, asegúrate de consultar la guía de la API para obtener una lista completa de los tipos de criterios permitidos.

No se requieren criterios adicionales para crear una campaña de máximo rendimiento, pero pueden ser útiles para restringir la segmentación según tu caso de uso. En el siguiente ejemplo de código, se muestra cómo configurar un objetivo de ubicación geográfica. Puedes consultar la documentación de CampaignCriterion para conocer el formato de otros tipos de criterios.

Puedes crear estos criterios junto con la campaña como parte de la misma llamada a mutateAll. En este ejemplo de código, se supone que así es como estructuraste tu código.

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

Indicadores del grupo de recursos

Antes de comenzar, consulta la información sobre los indicadores de grupos de recursos en la documentación de la API. Se configuran vinculando un grupo de recursos a un criterio AudienceInfo o SearchThemeInfo existente. Si deseas usar un público, especifica el campo audience en lugar del campo searchTheme con el nombre del recurso del público.

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