How to make video ads for performance max and display

126 views
Skip to first unread message

Matt Dworkin

unread,
Jan 28, 2025, 1:30:08 PMJan 28
to Google Ads API and AdWords API Forum
Hello,

I'm trying to figure out how to make video ads (NOT video campaigns), for performance max and display campaigns. Is there a way within the Google Ads API to do this without involving YouTube? 

Or do I need to first upload a video to youtube, and then use YoutubeVideoAsset with the YouTube video id? 

If I need to upload to YouTube first, do I need to use a different API?

I've already looked over whatever documentation I could find, so far I'm not finding anything helpful.

This piece of documentation mentions MASTHEAD_COMPANION_VIDEO, but I can't find any mention of that elsewhere (https://developers.google.com/google-ads/api/docs/assets/overview?hl=en)

Thanks for any help.
Matt

Google Ads API Forum Advisor

unread,
Jan 28, 2025, 6:10:24 PMJan 28
to mdwor...@gmail.com, adwor...@googlegroups.com

Hi,

Thank you for reaching out to the Google Ads API support team.

Note that video ads are also not supported via Google Ads API. I would recommend you to refer to this documentation for more information.

 

This message is in relation to case "ref:!00D1U01174p.!5004Q02vGypz:ref" (ADR-00286179)

Thanks,
 
Google Logo Google Ads API Team

Feedback
How was our support today?

rating1    rating2    rating3    rating4    rating5 



Matt Dworkin

unread,
Jan 30, 2025, 9:28:10 AMJan 30
to Google Ads API Forum Advisor, adwor...@googlegroups.com
Hello,

Thanks for getting back to me. I'm a little confused. The API seems to let you create video ads for Responsive display ads (https://developers.google.com/google-ads/api/reference/rpc/v18/ResponsiveDisplayAdInfo). Or rather, it allows you to upload videos assets (e.g., youtube_videos). I think the same with Performance Max. My questions were about whether we can upload video assets to these types of campaigns without first uploading videos to YouTube. And if we have to first upload to YouTube, do we need to use a different API for that, or is there a way within the google ads api to upload to youtube -> include in an ad. 

Thanks.

Matt

Google Ads API Forum Advisor

unread,
Jan 30, 2025, 11:20:56 AMJan 30
to mdwor...@gmail.com, adwor...@googlegroups.com
Hi,

As mentioned earlier, video campaigns cannot be mutated at all from the API, including simple operations such as pausing or enabling as well as complex operations like organizing, changing criteria, or adding ad groups. I would recommend you refer to this help center article on 'create a video campaign' that guides you through the process of creating a video campaign via the UI. There is no way or workaround to create the video campaigns using the Google Ads API. I would recommend you to refer to this guide for more detailed information. The Google Ads API permits only reporting of video ads. Video campaigns must be created using the UI or Google Ads scripts. You can refer to the Ad type compatibility guide as it describes what types of campaigns and ads are supported from the Google Ads API

Matt Dworkin

unread,
Jan 30, 2025, 11:45:56 AMJan 30
to Google Ads API Forum Advisor, adwor...@googlegroups.com
Hi,

I think there might be a miscommunication or misunderstanding. I'm not trying to make video campaigns. I'm trying to upload video assets to a ResponsiveDisplayAd or a PerformanceMax asset group so that they can be used in ads. From the documentation I linked, it does appear to be supported (the youtube_videos array in ResponsiveDisplayAd for instance). Is the documentation out of date? Or are we talking about different things?

Google Ads API Forum Advisor

unread,
Jan 30, 2025, 2:27:42 PMJan 30
to mdwor...@gmail.com, adwor...@googlegroups.com
Hi,

ResponsiveDisplayAdInfo supports YouTube videos when creating ads. However, you cannot add YouTube videos directly using the Google Ads API. Instead, you must first upload them to your YouTube channel manually and import them via the "Asset Library" tab in the Google Ads UI. Once the videos are added to the Google Ads UI, you can create responsive display ads using the adGroupAds method by including the YouTube videos in your ad.
 

Matt Dworkin

unread,
Jan 30, 2025, 2:35:25 PMJan 30
to Google Ads API Forum Advisor, adwor...@googlegroups.com
Ok thanks. And using YouTube videos is the only way to do this? We can't upload a video asset itself?

Google Ads API Forum Advisor

unread,
Jan 30, 2025, 5:56:33 PMJan 30
to mdwor...@gmail.com, adwor...@googlegroups.com
Hi,

If you have the YouTube video asset IDs in your Google Ads account then you can directly use those IDs while creating the responsive display ads. However, I am providing you the sample request and the response logs on how to create the responsive display ads with the YouTube videos included in it using the Google Ads API. 
Request body:
============

POST https://googleads.googleapis.com/v18/customers/{customerId}/adGroupAds:mutate?key=[YOUR_API_KEY] HTTP/1.1

developer-token: **********************
Authorization: Bearer [YOUR_ACCESS_TOKEN]
Accept: application/json
Content-Type: application/json

{
  "operations": [
    {
      "create": {
        "adGroup": "customers/{customerId}/adGroups/{adGroupId}",
        "status": "PAUSED",
        "ad": {
          "responsiveDisplayAd": {
            "businessName": "google",
            "headlines": [
              {
                "text": "An example headline"
              },
              {
                "text": "Another example headline"
              },
              {
                "text": "Yet another headline"
              }
            ],
            "descriptions": [
              {
                "text": "An example description"
              },
              {
                "text": "Another example description"
              }
            ],
            "squareMarketingImages": [
              {
                "asset": "customers/{customerId}/assets/{assetId}"
              }
            ],
            "marketingImages": [
              {
                "asset": "customers/{customerId}/assets/{assetId}"
              }
            ],
            "longHeadline": {
              "text": "jdksdaskjdliasjdflasjdsdfsf"
            },
            "youtubeVideos": [
              {
                "asset": "customers/{customerId}/assets/{assetId}"
              }
            ]
          },
          "finalUrls": [
            "https://www.example.com"
          ],
          "finalUrlSuffix": "param1=value1&param2=value2",
          "trackingUrlTemplate": "https://www.trackingtemplate.foo/?url={lpurl}&id=5"
        }
      }
    }
  ]
}

Response:
=========

HTTP/1.1 200 
content-encoding: gzip
content-length: 123
content-type: application/json; charset=UTF-8
date: Thu, 30 Jan 2025 19:49:02 GMT
server: ESF
vary: Origin, X-Origin, Referer

{
  "results": [
    {
      "resourceName": "customers/{customerId}/adGroupAds/{adGroupId}~{adId}"
    }
  ]
}
I hope this helps.
Reply all
Reply to author
Forward
0 new messages