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 actualizarlas para personalizarlas específicamente para cada una de tus campañas de máximo rendimiento.

Para ello, primero debes recuperar una lista de todos los objetivos de conversión de clientes.

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

Luego, puedes iterar por todos los objetivos de conversión que obtuviste y crear una operación de actualización para nuestra campaña de máximo rendimiento actual para personalizar la segmentación de cada objetivo. El siguiente código los establece todos como aptos para oferta, pero te recomendamos que personalices esa parte de la lógica para que coincida con lo que deseas obtener de tu campaña.

Antes de ejecutar este código, deberás recuperar el ID de tu campaña de máximo rendimiento.

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 de la solicitud se establezca en false. Si deseas ejecutar este código en la misma transacción en la que creas la campaña por primera vez, debes configurar todo el conjunto de operaciones para que se desactive la falla parcial. En este código de ejemplo, se muestra cómo realizar esta operación en una transacción 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});

Orientación de campaña

En el caso de la segmentación de campañas en las 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, y en este ejemplo de código se da por sentado que así es como estructurarás tu código.

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

Indicadores de grupos de recursos

Lee sobre los indicadores de grupos de recursos en la documentación de la API antes de comenzar. Para configurarlos, vincula un grupo de recursos a un criterio AudienceInfo o SearchThemeInfo existente. Si, en cambio, 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"
      }
    }
  }
});