Componentes requeridos para las campañas de máximo rendimiento

Para generar una campaña de máximo rendimiento nueva desde cero, debes crear, como mínimo, lo siguiente:

La campaña y el presupuesto son útiles para crear todo tipo de campañas, mientras que las operaciones relacionadas con los recursos serán especialmente útiles para crear campañas de máximo rendimiento.

Asegúrate de conocer la estrategia de mutación, ya que esta guía solo proporcionará los objetos JavaScript que se usarán en las mutaciones.

Presupuesto

El presupuesto no debe ser compartido y debe tener un nombre único en tu cuenta. Usa un CampaignBudgetOperation.

const budgetOperation = {
  "campaignBudgetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaignBudgets/${getNextTempId()}`,
      "name": "Performance Max campaign budget",
      "amountMicros": "50000000",
      "deliveryMethod": "STANDARD",
      "explicitlyShared": false
    }
  }
}
operations.push(budgetOperation);

Campaña

La campaña debe hacer referencia al presupuesto creado anteriormente, por lo que, además de especificar su propio nombre de recurso con un ID temporal, necesitarás el nombre de recurso exacto que estableciste en el paso anterior para crear la campaña, de modo que puedas identificar de forma única el presupuesto creado anteriormente en esta solicitud. Usa un objeto CampaignOperation.

const campaignOperation = {
  "campaignOperation": {
    "create": {
      "resourceName": `customers/${customerId}/campaigns/${getNextTempId()}`,
      "name": "Performance Max campaign",
      "status": "PAUSED",
      "advertisingChannelType": "PERFORMANCE_MAX",
      "campaignBudget": budgetOperation.campaignBudgetOperation.create.resourceName,
      "biddingStrategyType": "MAXIMIZE_CONVERSION_VALUE",
      "startDate": "20240314",
      "endDate": "20250313",
      "urlExpansionOptOut": false,
      "maximizeConversionValue": {
        "targetRoas": 3.5
      }
    }
  }
}
operations.push(campaignOperation);

Grupo de recursos

El grupo de recursos de esta campaña requiere una referencia a la campaña y deberá consultarse más adelante cuando vincules recursos a él. Usa un AssetGroupOperation.

const assetGroupOperation = {
  "assetGroupOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assetGroups/${getNextTempId()}`,
      "campaign": campaignOperation.campaignOperation.create.resourceName,
      "name": "Performance Max asset group",
      "finalUrls": [
        "http://www.example.com"
      ],
      "finalMobileUrls": [
        "http://www.example.com"
      ],
      "status": "PAUSED"
    }
  }
}
operations.push(assetGroupOperation);

Ahora que tienes nuestros grupos de recursos y nuestros recursos (del paso anterior), debes vincularlos para que la campaña de máximo rendimiento sepa qué recursos deseas usar. Debes hacerlo en la misma solicitud en la que creas el grupo de recursos inicialmente. Para ello, usa un AssetGroupAssetOperation.

Deberás proporcionar el nombre del recurso del activo correcto y modificar fieldType con el valor adecuado para el activo que estás vinculando. Consulta la lista completa de tipos de campos válidos.

Necesitarás varias de estas operaciones para cumplir con los requisitos mínimos de una campaña de máximo rendimiento.

operations.push({
  "assetGroupAssetOperation": {
    "create": {
      "assetGroup": assetGroupOperation.assetGroupOperation.create.resourceName,
      // assetResourceName here is a placeholder; you will need to determine
      // the correct resource name to use depending on which asset you want
      // to add to the asset group.
      "asset": assetResourceName,
      "fieldType": "HEADLINE"
    }
  }
});