schulzefelix / laravel-adwords-targeting-idea-service by schulzefelix

Laravel wrapper for the AdWords Targeting Idea Service
2,381
26
6
Package Data
Maintainer Username: schulzefelix
Maintainer Contact: github@schulze.co (Felix Schulze)
Package Create Date: 2017-05-26
Package Last Update: 2022-03-20
Language: PHP
License: MIT
Last Refreshed: 2024-05-02 15:00:53
Package Statistics
Total Downloads: 2,381
Monthly Downloads: 12
Daily Downloads: 0
Total Stars: 26
Total Watchers: 6
Total Forks: 8
Total Open Issues: 1

A Laravel API Wrapper For Google AdWords.

Latest Version Software License Build Status Quality Score StyleCI Latest Version on Packagist Total Downloads

Install

This package can be installed through Composer.

$ composer require schulzefelix/laravel-adwords-targeting-idea-service

In Laravel 5.5 the package will autoregister the service provider. If package discovery is disabled add the following.

// config/app.php
'providers' => [
    ...
    SchulzeFelix\AdWords\AdWordsServiceProvider::class,
    ...
];

In Laravel 5.5 the package will autoregister the facade. If package discovery is disabled add the following.

// config/app.php
'aliases' => [
    ...
    'AdWords' => SchulzeFelix\AdWords\AdWordsFacade::class,
    ...
];

You can publish the config file of this package with this command:

php artisan vendor:publish --provider="SchulzeFelix\AdWords\AdWordsServiceProvider"

Generate Refresh Token

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

Google Console: https://console.developers.google.com/apis/credentials

$ php artisan adwords:token

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/adwords-targeting-idea-service.php

Usage

All methods will return an Illuminate\Support\Collection-instance.

Here are two basic example to retrieve search volumes for several keywords and new keyword ideas for a given word.

Search Volumes

$searchVolumes = AdWords::searchVolumes(['cheesecake', 'coffee']);

Keyword Ideas

$keywordIdeas = AdWords::keywordIdeas('coffee');

Provided fluent configuration

Set Location

For Criteria ID see https://developers.google.com/adwords/api/docs/appendix/geotargeting

AdWords::location(2276)->searchVolumes(['cheesecake', 'coffee']);

Set Language

For Criteria ID see https://developers.google.com/adwords/api/docs/appendix/codes-formats#languages

AdWords::location(2276)->language(1001)->searchVolumes(['cheesecake', 'coffee']);

Include Targeted Monthly Searches

AdWords::withTargetedMonthlySearches()->searchVolumes(['cheesecake', 'coffee']);

Convert NULL values to Zero

AdWords::convertNullToZero()->location(2276)->language(1001)->searchVolumes(['cheesecake', 'coffee']);

Include And Exclude Words For Keyword Ideas

AdWords::location(2642)->exclude(['iphone'])->include(['apple'])->keywordIdeas('iphone');

Change log

Please see CHANGELOG for more information what has changed recently.

Testing

$ vendor/bin/phpunit

Contributing

Please see CONTRIBUTING and CONDUCT for details.

Security

If you discover any security related issues, please email githubissues@schulze.co instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.