schulzefelix / laravel-adwords-targeting-idea-service
Laravel wrapper for the AdWords Targeting Idea Service
Installs: 2 388
Dependents: 0
Suggesters: 0
Security: 0
Stars: 27
Watchers: 6
Forks: 8
Open Issues: 1
Requires
- php: ^8.0.2
- googleads/googleads-php-lib: ^56.0
- illuminate/console: ^9.0
- illuminate/support: ^9.0
- schulzefelix/laravel-data-transfer-object: ^1.5.0
Requires (Dev)
- mockery/mockery: ^1.4
- orchestra/testbench: ^7.0
- phpunit/phpunit: ^9.4
README
Install
This package can be installed through Composer.
$ composer require schulzefelix/laravel-adwords-targeting-idea-service
The package will autoregister the service provider. If package discovery is disabled add the following.
// config/app.php 'providers' => [ ... SchulzeFelix\AdWords\AdWordsServiceProvider::class, ... ];
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 for details.
Security
If you discover any security related issues, please email github@schulze.co instead of using the issue tracker.
Credits
License
The MIT License (MIT). Please see License File for more information.