CPCStrategy / capx-google-ads by cpcstrategy
forked from spotonlive/laravel-google-ads

Google Ads API for Laravel forked from nikolajlovenhardt/laravel-google-ads
3,530
0
11
Package Data
Maintainer Username: cpcstrategy
Maintainer Contact: technology@cpcstrategy.com (Bilal Iqbal)
Package Create Date: 2017-06-15
Package Last Update: 2017-06-16
Language: PHP
License: MIT
Last Refreshed: 2024-04-18 15:05:37
Package Statistics
Total Downloads: 3,530
Monthly Downloads: 0
Daily Downloads: 0
Total Stars: 0
Total Watchers: 11
Total Forks: 0
Total Open Issues: 0

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 nikolajlovenhardt/laravel-google-ads

Laravel

  • 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/nikolajlovenhardt/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\v201609\cm\CampaignService;
use Google\AdsApi\AdWords\v201609\cm\OrderBy;
use Google\AdsApi\AdWords\v201609\cm\Paging;
use Google\AdsApi\AdWords\v201609\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.