Skip to content

tdev-agency/laravel-google-ads

 
 

Repository files navigation

Laravel 5.1+ Lumen 5.1+ Total Downloads License Build Status Code Climate Test Coverage

Google Ads API for Laravel

Integration of googleads/googleads-php-lib in Laravel and Lumen (version >5).

Setup

  • Run $ composer require spotonlive/laravel-google-ads

Laravel

  • (Only for Laravel 5.4 or minor) Add provider to config/app.php
'providers' => [
    LaravelGoogleAds\LaravelGoogleAdsProvider::class,
],
  • Run $ php artisan vendor:publish to publish the configuration file config/google-ads.php and insert:
    • developerToken
    • clientId & clientSecret
    • refreshToken

Lumen

  • Add provider to bootstrap/app.php
$app->register(LaravelGoogleAds\LaravelGoogleAdsProvider::class);
  • Copy vendor/spotonlive/laravel-google-ads/config/config.php to config/google-ads.php and insert:

    • developerToken
    • clientId & clientSecret
    • refreshToken
  • Add config to bootstrap/app.php

$app->configure('google-ads');

Generate refresh token

This requires that the clientId and clientSecret is from a native application.

Run $ php artisan googleads:token:generate and open the authorization url. Grant access to the app, and input the access token in the console. Copy the refresh token into your configuration config/google-ads.php

Basic usage

The following example is for AdWords, but the general code applies to all products.

<?php

namespace App\Services;

use LaravelGoogleAds\Services\AdWordsService;
use Google\AdsApi\AdWords\AdWordsServices;
use Google\AdsApi\AdWords\AdWordsSessionBuilder;
use Google\AdsApi\AdWords\v201806\cm\CampaignService;
use Google\AdsApi\AdWords\v201806\cm\OrderBy;
use Google\AdsApi\AdWords\v201806\cm\Paging;
use Google\AdsApi\AdWords\v201806\cm\Selector;

class Service
{
    /** @var AdWordsService */
    protected $adWordsService;
    
    /**
     * @param AdWordsService $adWordsService
     */
    public function __construct(AdWordsService $adWordsService)
    {
        $this->adWordsService = $adWordsService;
    }

    public function campaigns()
    {
        $customerClientId = 'xxx-xxx-xx';

        $campaignService = $this->adWordsService->getService(CampaignService::class, $customerClientId);

        // Create selector.
        $selector = new Selector();
        $selector->setFields(array('Id', 'Name'));
        $selector->setOrdering(array(new OrderBy('Name', 'ASCENDING')));

        // Create paging controls.
        $selector->setPaging(new Paging(0, 100));

        // Make the get request.
        $page = $campaignService->get($selector);
    }
}

Best practices

Features, requirements, support etc.

See googleads/googleads-php-lib

Dependencies

  • googleads/googleads-php-lib hosts the PHP client library for the various SOAP-based Ads APIs (AdWords, AdExchange Buyer, and DFP) at Google.

Credits

About

Google Ads API for Laravel

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • PHP 100.0%