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 actualizarlos y personalizarlos 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 del cliente.

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 nuestra campaña de máximo rendimiento actual con el fin de personalizar la segmentación para cada objetivo. El siguiente código establece todos los modificadores 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.

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 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, y este ejemplo de código supone 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 del grupo de recursos

Antes de comenzar, lee 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"
      }
    }
  }
});