광고 미디어
컬렉션을 사용해 정리하기
내 환경설정을 기준으로 콘텐츠를 저장하고 분류하세요.
ImageAd 및 ResponsiveDisplayAd와 같은 일부 광고 유형에는 이미지 및 기타 미디어 요소가 포함됩니다. 이 가이드에서는 Google Ads 스크립트를 사용하여 미디어를 업로드하고 쿼리하는 방법을 설명합니다.
이미지 업로드
이름과 이미지 데이터를 사용하는 ImageBuilder
클래스를 사용하여 이미지를 업로드할 수 있습니다. 데이터는 Drive 또는 URL 가져오기와 같은 서비스에서 만들 수 있는 Blob
데이터 교환 객체로 제공됩니다.
다음 스니펫은 외부 URL에서 이미지를 업로드하는 방법을 보여줍니다.
let imageUrl = "http://www.example.com/example.png";
let imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();
let mediaOperation = AdsApp.adMedia().newImageBuilder()
.withName("IMAGE_NAME")
.withData(imageBlob)
.build();
또는 Google Drive에서 이미지 blob을 로드할 수 있습니다.
let imageFileId = "IMAGE_FILE_ID";
let imageBlob = DriveApp.getFileById(imageFileId).getBlob();
let mediaOperation = AdsApp.adMedia().newImageBuilder()
.withName("IMAGE_NAME")
.withData(imageBlob)
.build();
미디어 번들은 HTML5 애셋이 포함된 ZIP 보관 파일로, HTML5 광고를 만드는 데 사용할 수 있습니다.
이름과 파일 데이터를 사용하는 MediaBundleBuilder
클래스로 미디어 번들을 업로드합니다. 이미지와 마찬가지로 데이터는 Blob
데이터 교환 객체로 제공됩니다.
다음 스니펫은 외부 URL에서 미디어 번들을 업로드하는 방법을 보여줍니다.
let mediaBundleUrl = "http://www.example.com/example.zip";
let mediaBundleBlob = UrlFetchApp.fetch(mediaBundleUrl).getBlob();
let mediaOperation = AdsApp.adMedia().newMediaBundleBuilder()
.withName("bundle name")
.withData(mediaBundleBlob)
.build();
모든 유형의 미디어는 MediaSelector
를 사용하여 Google Ads 스크립트에서 쿼리할 수 있습니다.
withCondition(condition)
술어를 사용하여 이름, 유형 또는 기타 필드로 미디어를 필터링합니다. 예를 들어 다음 스니펫은 계정의 모든 이미지를 찾습니다.
let mediaIterator = AdsApp.adMedia().media()
.withCondition("Type = IMAGE")
.get();
while (mediaIterator.hasNext()) {
let image = mediaIterator.next();
}
첨부된 미디어가 있는 지원되는 광고를 만드는 코드 예시는 광고 도움말을 참고하세요.
달리 명시되지 않는 한 이 페이지의 콘텐츠에는 Creative Commons Attribution 4.0 라이선스에 따라 라이선스가 부여되며, 코드 샘플에는 Apache 2.0 라이선스에 따라 라이선스가 부여됩니다. 자세한 내용은 Google Developers 사이트 정책을 참조하세요. 자바는 Oracle 및/또는 Oracle 계열사의 등록 상표입니다.
최종 업데이트: 2025-08-21(UTC)
[null,null,["최종 업데이트: 2025-08-21(UTC)"],[[["\u003cp\u003eThis guide explains how to upload and query images and media bundles using Google Ads scripts for enhanced ad creatives.\u003c/p\u003e\n"],["\u003cp\u003eYou can upload images and media bundles from external URLs or Google Drive using the \u003ccode\u003eImageBuilder\u003c/code\u003e and \u003ccode\u003eMediaBundleBuilder\u003c/code\u003e classes.\u003c/p\u003e\n"],["\u003cp\u003eQuery existing media using the \u003ccode\u003eMediaSelector\u003c/code\u003e to filter by criteria such as name or type, enabling you to manage and reuse your assets.\u003c/p\u003e\n"],["\u003cp\u003eRefer to the ads article for practical examples of creating ads with attached media to leverage these functionalities.\u003c/p\u003e\n"]]],[],null,["Some ad types, such as\n[ImageAd](/google-ads/scripts/docs/reference/adsapp/adsapp_imagead) and\n[ResponsiveDisplayAd](/google-ads/scripts/docs/reference/adsapp/adsapp_responsivedisplayad),\ncontain images and other media elements. This guide describes how to upload and\nquery media using Google Ads scripts.\n\nUploading images\n\nImages can be uploaded using the\n[`ImageBuilder`](/google-ads/scripts/docs/reference/adsapp/adsapp_imagebuilder)\nclass, which takes a name and image data. The data is provided as a\n[`Blob`](/apps-script/reference/base/blob) data interchange object that can be\ncreated by services such as [Drive](/apps-script/reference/drive) or\n[URL fetch](/apps-script/reference/url-fetch).\n\nThe following snippet shows how to upload an image from an external URL: \n\n let imageUrl = \"http://www.example.com/example.png\";\n let imageBlob = UrlFetchApp.fetch(imageUrl).getBlob();\n let mediaOperation = AdsApp.adMedia().newImageBuilder()\n .withName(\"IMAGE_NAME\")\n .withData(imageBlob)\n .build();\n\nAlternatively, the image blob may be loaded from Google Drive: \n\n let imageFileId = \"IMAGE_FILE_ID\";\n let imageBlob = DriveApp.getFileById(imageFileId).getBlob();\n let mediaOperation = AdsApp.adMedia().newImageBuilder()\n .withName(\"IMAGE_NAME\")\n .withData(imageBlob)\n .build();\n\nUploading media bundles\n\nMedia bundles are ZIP archives that contain HTML5 assets, which can be used to\ncreate [HTML5 ads](//support.google.com/google-ads/answer/1722096#otherhtml5).\nUpload media bundles with the\n[`MediaBundleBuilder`](/google-ads/scripts/docs/reference/adsapp/adsapp_mediabundlebuilder)\nclass, which takes a name and file data. As with images, data is provided as\na [`Blob`](/apps-script/reference/base/blob) data interchange object.\n\nThe following snippet shows how to upload a media bundle from an external URL: \n\n let mediaBundleUrl = \"http://www.example.com/example.zip\";\n let mediaBundleBlob = UrlFetchApp.fetch(mediaBundleUrl).getBlob();\n let mediaOperation = AdsApp.adMedia().newMediaBundleBuilder()\n .withName(\"bundle name\")\n .withData(mediaBundleBlob)\n .build();\n\nQuerying media\n\nMedia of every type can be queried in Google Ads scripts using a\n[`MediaSelector`](/google-ads/scripts/docs/reference/adsapp/adsapp_mediaselector).\nUse the\n[`withCondition()`](/google-ads/scripts/docs/reference/adsapp/adsapp_mediaselector#withCondition_1)\npredicate to filter media by name, type, or other fields. For example, the\nfollowing snippet finds all images in an account: \n\n let mediaIterator = AdsApp.adMedia().media()\n .withCondition(\"Type = IMAGE\")\n .get();\n while (mediaIterator.hasNext()) {\n let image = mediaIterator.next();\n }\n\nCreating ads with media\n\nSee our [ads article](/google-ads/scripts/docs/examples/ads) for some code\nexamples of creating supported ads with attached media."]]