Ресурсы

Перед созданием кампании по генерации спроса важно импортировать все ресурсы, которые вы планируете использовать в кампании. Вы всегда можете вернуться и добавить ресурсы позже, но для начала вам необходим набор ресурсов.

При планировании кампании ознакомьтесь со спецификациями ресурсов для генерации спроса и руководством по передовым методам работы .

Основными типами ресурсов являются изображения и видео, и в этом руководстве показано, как загружать каждый из них. Эти принципы можно распространить и на другие типы ресурсов. Независимо от типа создаваемого ресурса, используйте AssetOperation для его создания.

Ресурсы можно создавать с помощью AdsApp без использования функции mutate, но для единообразия в этом руководстве это делается так же, как и при всех остальных операциях. Обратите внимание, что вы можете и должны повторно использовать существующие ресурсы, если они у вас уже есть. Таким образом, хотя наличие ресурсов необходимо для создания кампании по генерации спроса, их создание в процессе создания кампании может быть не обязательным.

Изображения

Изображения загружаются в формате, закодированном в Base64 . Поскольку вы не можете загружать изображения непосредственно в скрипты Google Ads, у вас есть выбор из двух разных подходов для получения данных изображения и их кодирования для загрузки.

Чтобы загрузить изображение из Google Drive, сначала вам понадобится его идентификатор (ID) , который является лучшим способом однозначной идентификации изображения. Один из способов получить ID — скопировать ссылку для общего доступа из интерфейса Google Drive и извлечь ID. Вы также можете программно загрузить серию файлов и выбрать те, которые хотите загрузить. Этот код демонстрирует, как загрузить одно изображение с известным ID:

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())
      }
    }
  }
}

В качестве альтернативы, вы можете получить изображение, размещенное на веб-сервере, по его URL-адресу, используя UrlFetchApp :

const file = UrlFetchApp.fetch(imageUrl);

Затем вы можете вызвать функцию getBlob для этого файла точно так же, как и для файла Google Диска, поэтому построение операции идентично шагам для файла Google Диска.

Видеоматериалы

Управление видеоматериалами осуществляется через YouTube. Если вы загружаете материалы в процессе создания кампании, используйте временный идентификатор . В противном случае запишите имя возвращенного ресурса, чтобы использовать его в будущих операциях, когда вам потребуется сослаться на ресурс и добавить его в группу ресурсов.

const videoAsset = {
  "assetOperation": {
    "create": {
      "resourceName": `customers/${customerId}/assets/${getNextTempId()}`,
      "name": "Marketing video",
      "type": "YOUTUBE_VIDEO",
      "youtube_video_asset": {
        "youtube_video_title": "Demand Gen video",
        "youtube_video_id": "123456789"
      }
    }
  }
}
operations.push(videoAsset);