Adding Image Extensions via Google Ads API

What will you learn?

In this tutorial, you will learn how to enhance your Google ads by adding image extensions using the Google Ads API.

Introduction to the Problem and Solution

Are you looking to make your ads stand out in Google search results? Image extensions could be the solution! By incorporating visually appealing images into your ads, you can potentially attract more clicks and improve engagement. In this guide, we will show you how to add image extensions to your Google ads programmatically using Python and the Google Ads API.

To get started, we’ll guide you through setting up a project in the Google Cloud Console, enabling the Google Ads API, authenticating your application, and then seamlessly integrating image extensions into your ad campaigns.


# Import necessary libraries
from import GoogleAdsClient

# Initialize the client using appropriate credentials
client = GoogleAdsClient.load_from_storage('google-ads.yaml')

# Create a new image extension instance
extension = client.get_type("ExtensionFeedItem")
extension.image_asset = "INSERT_IMAGE_ASSET_ID_HERE"

# Add this extension to an ad group or campaign as needed

# For more information on handling scopes and targeting options,
# visit for detailed documentation.

# Copyright PHD


In this code snippet: – We import essential libraries for interacting with the Google Ads API. – We initialize our client by loading credentials from a configuration file. – We create an instance of an image extension feed item. – Specify the image asset ID and final URLs for user redirection upon ad interaction. – Lastly, we incorporate this extension feed item into relevant ad groups or campaigns based on our advertising strategy.

This process involves authentication setup, managing scopes within account structures, specifying targeting criteria if required, and utilizing various features provided by the Google Ads API for effective management of image extensions within advertising campaigns.

    How do I obtain my google-ads.yaml file?

    You can generate this file from your Google Cloud Console after setting up a project and enabling access to relevant APIs like the Google Ads API.

    Can I customize my image assets dynamically through code?

    Yes, you can upload images programmatically as assets in advance or use existing ones directly linked via their asset IDs.

    Are there restrictions on what type of images can be used as extensions?

    Google has guidelines regarding acceptable formats (e.g., JPG, PNG) and content policies that should be adhered to while selecting images for ad extensions.

    How do I ensure that my new ads with image extensions are performing well?

    Regular monitoring through analytics tools provided by both Google Ads platform and external services can help evaluate performance metrics like CTRs associated with these new elements.

    Do I need special permissions within my account structure for managing such ad components?

    Depending on user roles defined within your organization’s hierarchy in Google Ads Manager Accounts (MCC), additional permissions might be required for making modifications at scale across multiple clients or sub-accounts.


    Integrating visually appealing elements like image extensions into your online advertising efforts is crucial. By leveraging tools such as Python bindings for interacting programmatically with platforms like Google AdWords/Ads via dedicated APIs available officially; marketers gain flexibility automating tasks related managing creative aspects efficiently increasing overall campaign performance significantly over time.

    Leave a Comment