marshmallow/adwords-targeting-idea-service

Laravel wrapper for the AdWords Targeting Idea Service

v1.1.0 2023-01-17 08:05 UTC

README

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

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.