Home

Awesome

Google Ads API Client Library for PHP

Minimum PHP Version Latest Stable
Version Total Downloads License codecov

This project hosts the PHP client library for the Google Ads API. It adheres to the PHP sunset schedule and updates the composer.json file four to five months after the minimum required PHP version reaches its end-of-life. Based on the existing supported PHP versions, the update occurs about once a year.

IMPORTANT The Google Ads API client library for PHP has been updated to require PHP version 8 as the minimum version, as announced in #880. This means that the final version of the library that supports PHP 7 is v19.2.0, which supports Google Ads API v12 to v14.

Google Ads API v14 is scheduled to be sunset by the end of May 2024. Therefore, PHP 7 users have about 11 months to migrate to PHP 8 in order to continue using the library without disruption.

Features

Requirements

Getting started

Running code examples

Follow the below steps if you want to try our code examples.

  1. Clone this project in the directory of your choice via:

    git clone https://github.com/googleads/google-ads-php.git
    
  2. Change into the google-ads-php directory.

    cd google-ads-php
    

    You'll see some files and subdirectories:

    • composer.json: the composer file, which holds the requirements of this library.
    • src: source code of the library.
    • tests: tests of the library code.
    • examples: many examples that demonstrate how to use the library to execute common use cases via the Google Ads API.
    • metadata: some metadata files used internally by the source code. They're automatically generated files, so you shouldn't modify them.
  3. Run composer install at the command prompt. This will install all dependencies needed for using the library and running examples.

  4. Set up your OAuth2 credentials.

    The Google Ads API uses OAuth2 as the authentication mechanism. Choose the appropriate option below based on your use case, and read and follow the instructions that the example prints to the console.

  5. Run the GetCampaigns example to test if your credentials are valid. You also need to pass your Google Ads account's customer ID without dashes as a command-line parameter:

    php examples/BasicOperations/GetCampaigns.php --customerId <YOUR_CUSTOMER_ID>
    

    NOTE: Code examples are meant to be run from command prompt, not via the web browsers.

  6. Explore other examples.

    The examples directory contains several useful examples. Most of the examples require parameters. You can see what are required by running code examples with --help as a command-line parameter.

    Note: You will find comments with the formats [START...] and [END...] in the source code of these examples. These are only used for technical purposes, you can completely disregard them.

Installing the library as your project's dependency

  1. Change into the root directory of your project.
  2. Run composer require googleads/google-ads-php at the command prompt. This will install this library and all its dependencies in the vendor/ directory of your project's root directory.
  3. Set up your OAuth2 credentials like described in the previous section.
  4. You can now use this library by importing its classes like shown in the code examples.

Basic usage

Instantiate a client

To issue requests via the Google Ads API, you first need to create a GoogleAdsClient.

For more information on how to configure a client when instantiating it, see the configuration guide.

Get a service client

Once you have an instance of GoogleAdsClient, you can obtain a service client for a particular service using one of the get...ServiceClient() methods.

Client configuration

See the Configuration guide.

Transport

There are different types of transport that can be used. See the Transport guide for more information.

Protobuf

Protobuf is used regardless of the transport used to request the Google Ads API.

See the Protobuf guide for more information.

Running in a Docker container

See the Running in a Docker container guide.

Logging

See the Logging guide.

Proxy configuration

See the Proxy guide.

Performance

See the Performance guide.

Miscellaneous

Wiki

Issue tracker

API Documentation:

Support forum

Authors