Elementos

Antes de crear una campaña de máximo rendimiento, es importante que importes todos los recursos que planeas usar en ella. Siempre puedes volver y agregar recursos más tarde, pero necesitas un conjunto de recursos para comenzar.

Mientras planificas tu campaña, lee sobre los recursos y los requisitos de los recursos para las campañas de máximo rendimiento.

Dado que los recursos de texto y los recursos de imagen son los principales tipos de recursos obligatorios, en esta guía se mostrará cómo subir cada uno de ellos. Estos principios también se pueden aplicar a otros tipos de recursos. Sin importar el tipo de recurso que crees, usa AssetOperation para crearlo.

Los recursos se pueden crear con AdsApp sin usar mutate, pero, para mantener la coherencia, esta guía lo hace de la misma manera que todas las demás operaciones. Ten en cuenta que puedes y debes reutilizar los recursos existentes si ya tienes algunos disponibles. Por lo tanto, si bien es obligatorio que tengas recursos para crear una campaña de máximo rendimiento, es posible que no sea estrictamente necesario que los crees como parte del proceso de creación de la campaña.

Recursos de texto

Los recursos de texto funcionan igual que cualquier otra operación. Si subes recursos como parte del proceso de creación de la campaña, usa un ID temporal. De lo contrario, anota el nombre del recurso que se devolvió para usarlo en una operación futura cuando necesites hacer referencia al recurso y agregarlo a un grupo de recursos.

const textAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "textAsset": {
        "text": "Travel the World"
      }
    }
  }
}
operations.push(textAsset);

Recursos de imagen

Los recursos de imagen se suben en formato codificado en base64. Como no puedes subir imágenes directamente a las secuencias de comandos de Google Ads, tienes dos enfoques diferentes para obtener los datos de la imagen y codificarlos para la carga.

Para recuperar una imagen de Google Drive, primero necesitarás su ID, que es la mejor manera de identificarla de forma única. Una forma de obtener el ID es copiar el vínculo para compartir desde la IU de Google Drive y extraer el ID. También puedes recuperar una serie de archivos de forma programática y seleccionar los que quieras subir. En este código, se muestra cómo subir una sola imagen con un ID conocido:

const file = DriveApp.getFileById(fileId);
const imageAsset =  {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing Logo",
      "type": "IMAGE",
      "imageAsset": {
        "data": Utilities.base64Encode(file.getBlob().getBytes())
      }
    }
  }
}

Como alternativa, puedes recuperar una imagen alojada en un servidor web por su URL con UrlFetchApp:

const file = UrlFetchApp.fetch(imageUrl);

Luego, puedes llamar a getBlob en este archivo de la misma manera que lo harías con un archivo de Drive, por lo que la construcción de la operación es idéntica a los pasos para un archivo de Google Drive.