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 útiles específicamente para crear campañas de máximo rendimiento.

Asegúrate de estar familiarizado con la estrategia de mutación, ya que esta guía solo proporcionará los objetos de 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 inequívoca el presupuesto creado anteriormente en esta solicitud. Usa un 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 se deberá hacer referencia a ella más adelante cuando vincules recursos a ella. 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 utilizar. 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 de recurso de activo correcto y modificar el fieldType al valor adecuado para el activo al que vinculas. Consulta la lista completa de tipos de campo 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"
    }
  }
});